Skip to content

Commit 569f9d7

Browse files
feat: + TestContainer MySQL
+ TestContainer MsSQL * Add Box tests for Postgres
1 parent d44a5fe commit 569f9d7

File tree

5 files changed

+47
-4
lines changed

5 files changed

+47
-4
lines changed

Src/TestsGenerator/Generators/TestsGenerator.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,6 @@ private void AddPostgreSQLTypes()
122122
AddPostgreType(NpgsqlTypes.NpgsqlDbType.Polygon, "NpgsqlPolygon", "NpgsqlTypes.NpgsqlPolygon", (EnumerableType type) => new NpgsqlPolygonValueHelper(type));
123123
AddPostgreType(NpgsqlTypes.NpgsqlDbType.Point, "NpgsqlPoint", "NpgsqlTypes.NpgsqlPoint", (EnumerableType type) => new NpgsqlPointValueHelper(type));
124124
AddPostgreType(NpgsqlTypes.NpgsqlDbType.Circle, "NpgsqlCircle", "NpgsqlTypes.NpgsqlCircle", (EnumerableType type) => new NpgsqlCircleValueHelper(type));
125-
if (false)
126125
AddPostgreType(NpgsqlTypes.NpgsqlDbType.Box, "NpgsqlBox", "NpgsqlTypes.NpgsqlBox", (EnumerableType type) => new NpgsqlBoxValueHelper(type));
127126
if (false)
128127
AddPostgreType(NpgsqlTypes.NpgsqlDbType.Path, "NpgsqlPath", "NpgsqlTypes.NpgsqlPath", (EnumerableType type) => new NpgsqlPathValueHelper(type));

Src/TestsGenerator/TypeValueHelpers/DoubleValueHelper.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,12 @@ public override string NewSingleValue()
1919
var result = (double)Random.Shared.NextDouble();
2020
return $"{result.ToString(System.Globalization.CultureInfo.InvariantCulture)}d";
2121
}
22+
23+
public override ValuePair NewSingleValuePair()
24+
{
25+
var result = (double)Random.Shared.NextDouble();
26+
27+
return new (result, $"{result.ToString(System.Globalization.CultureInfo.InvariantCulture)}d");
28+
}
2229
}
2330
}

Src/TestsGenerator/TypeValueHelpers/NpgsqlBoxValueHelper.cs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using TestsGenerator.Enums;
1+
using NpgsqlTypes;
2+
using TestsGenerator.Enums;
23

34
namespace TestsGenerator.TypeValueHelpers
45
{
@@ -17,7 +18,15 @@ public override ValueHelper NewInstance()
1718

1819
public override string NewSingleValue()
1920
{
20-
return $"new NpgsqlTypes.NpgsqlBox(upperRight: {_pointValueHelper.NewSingleValue()}, lowerLeft: {_pointValueHelper.NewSingleValue()})";
21+
var upperRight = _pointValueHelper.NewSingleValuePair();
22+
var lowerLeft = _pointValueHelper.NewSingleValuePair();
23+
var box = new NpgsqlTypes.NpgsqlBox((NpgsqlPoint)upperRight.Value, (NpgsqlPoint)lowerLeft.Value);
24+
25+
return $"new NpgsqlTypes.NpgsqlBox(" +
26+
$"top: {box.Top.ToString(System.Globalization.CultureInfo.InvariantCulture)}d," +
27+
$"right: {box.Right.ToString(System.Globalization.CultureInfo.InvariantCulture)}d," +
28+
$"bottom: {box.Bottom.ToString(System.Globalization.CultureInfo.InvariantCulture)}d," +
29+
$"left: {box.Left.ToString(System.Globalization.CultureInfo.InvariantCulture)}d)";
2130
}
2231
}
2332
}

Src/TestsGenerator/TypeValueHelpers/NpgsqlPointValueHelper.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,15 @@ public override string NewSingleValue()
2222

2323
return $"new NpgsqlTypes.NpgsqlPoint(x: {x}, y: {y})";
2424
}
25+
26+
public override ValuePair NewSingleValuePair()
27+
{
28+
var x = _doubleValueHelper.NewSingleValuePair();
29+
var y = _doubleValueHelper.NewSingleValuePair();
30+
31+
return new (
32+
new NpgsqlTypes.NpgsqlPoint((double)x.Value, (double)y.Value),
33+
$"new NpgsqlTypes.NpgsqlPoint(x: {x.Represent}, y: {y.Represent})");
34+
}
2535
}
2636
}

Src/TestsGenerator/TypeValueHelpers/ValueHelper.cs

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using TestsGenerator.Enums;
1+
using System;
2+
using TestsGenerator.Enums;
23

34
namespace TestsGenerator.TypeValueHelpers
45
{
@@ -14,5 +15,22 @@ public ValueHelper(EnumerableType enumerableType)
1415
public abstract string NewSingleValue();
1516

1617
public abstract ValueHelper NewInstance();
18+
19+
public virtual ValuePair NewSingleValuePair()
20+
{
21+
throw new NotImplementedException();
22+
}
23+
}
24+
25+
internal class ValuePair
26+
{
27+
public object Value { get; init; }
28+
public string Represent { get; init; }
29+
30+
public ValuePair(object value, string represent)
31+
{
32+
Value = value;
33+
Represent = represent;
34+
}
1735
}
1836
}

0 commit comments

Comments
 (0)