Skip to content

Commit

Permalink
Update CrossPlatformTests.cs
Browse files Browse the repository at this point in the history
Adjust type check logic to account for aliases
  • Loading branch information
jas88 committed May 17, 2024
1 parent 4a44b56 commit 3147d93
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions Tests/FAnsiTests/CrossPlatformTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ public void DateColumnTests_TimeOnly_Afternoon(DatabaseType type, object input)
[TestCase(DatabaseType.MicrosoftSQLServer, "int", "-24")]
[TestCase(DatabaseType.MySql, "int", "-23.00")]
[TestCase(DatabaseType.MySql, "int", "-25")]
[TestCase(DatabaseType.MySql, "tinyint(1)", "0")]
[TestCase(DatabaseType.MySql, "boolean", "0")]
[TestCase(DatabaseType.PostgreSql, "int", "-23.00")]
[TestCase(DatabaseType.PostgreSql, "int", "23.0")]
[TestCase(DatabaseType.PostgreSql, "boolean", "0")]
Expand All @@ -279,7 +279,7 @@ public void TypeConsensusBetweenGuesserAndDiscoveredTableTest(DatabaseType dbTyp
if (tbl.Exists())
tbl.Drop();

var dt = new DataTable("TestTableCreationStrangeTypology");
using var dt = new DataTable("TestTableCreationStrangeTypology");
dt.Columns.Add("mycol");
dt.Rows.Add(insertValue);

Expand All @@ -294,14 +294,14 @@ public void TypeConsensusBetweenGuesserAndDiscoveredTableTest(DatabaseType dbTyp

var expectedDataType = datatType;

//you ask for an int PostgreSql gives you an integer!
if(dbType == DatabaseType.PostgreSql)
expectedDataType = datatType switch
{
"int" => "integer",
"bit" => "bit(1)",
_ => expectedDataType
};
expectedDataType = dbType switch
{
//you ask for an int PostgreSql gives you an integer!
DatabaseType.PostgreSql when datatType == "int" => "integer",
// MySQL boolean is really an aliased tinyint(1)
DatabaseType.MySql when datatType == "boolean" => "tinyint(1)",
_ => expectedDataType
};

Assert.Multiple(() =>
{
Expand Down

0 comments on commit 3147d93

Please sign in to comment.