11using System ;
22using System . Data ;
33using System . Linq ;
4+ using System . Threading . Tasks ;
45using DotNetProjects . Migrator . Framework ;
56using Migrator . Tests . Providers . Base ;
7+ using Migrator . Tests . Providers . Generic ;
68using NUnit . Framework ;
79
810namespace Migrator . Tests . Providers . PostgreSQL ;
911
1012[ TestFixture ]
1113[ Category ( "Postgre" ) ]
12- public class PostgreSQLTransformationProvider_GetColumns_DefaultTypeTests : PostgreSQLTransformationProviderTestBase
14+ public class PostgreSQLTransformationProvider_GetColumns_DefaultTypeTests : TransformationProvider_GetColumns_GenericTests
1315{
16+ [ SetUp ]
17+ public async Task SetUpAsync ( )
18+ {
19+ await BeginPostgreSQLTransactionAsync ( ) ;
20+ }
21+
1422 /// <summary>
1523 /// More tests for GetColumns <see cref="ITransformationProvider.GetColumns"/> in <see cref="TransformationProviderBase"/>
1624 /// </summary>
1725 [ Test ]
18- public void GetColumns_DefaultValuesInterval_Succeeds ( )
26+ public void GetColumns_Postgres_DefaultValues_Succeeds ( )
1927 {
2028 // Arrange
2129 const string testTableName = "MyDefaultTestTable" ;
2230 const string intervalColumnName1 = "intervalcolumn1" ;
2331 const string intervalColumnName2 = "intervalcolumn2" ;
32+ const string binaryColumnName1 = "binarycolumn1" ;
2433
2534 // Should be extended by remaining types
2635 Provider . AddTable ( testTableName ,
2736 new Column ( intervalColumnName1 , MigratorDbType . Interval , defaultValue : new TimeSpan ( 100000 , 3 , 4 , 5 , 666 ) ) ,
28- new Column ( intervalColumnName2 , MigratorDbType . Interval , defaultValue : new TimeSpan ( 0 , 0 , 0 , 0 , 666 ) )
37+ new Column ( intervalColumnName2 , MigratorDbType . Interval , defaultValue : new TimeSpan ( 0 , 0 , 0 , 0 , 666 ) ) ,
38+ new Column ( binaryColumnName1 , DbType . Binary , defaultValue : new byte [ ] { 12 , 32 , 34 } )
2939 ) ;
3040
3141 // Act
@@ -34,9 +44,11 @@ public void GetColumns_DefaultValuesInterval_Succeeds()
3444 // Assert
3545 var intervalColumn1 = columns . Single ( x => x . Name == intervalColumnName1 ) ;
3646 var intervalColumn2 = columns . Single ( x => x . Name == intervalColumnName2 ) ;
47+ var binarycolumn1 = columns . Single ( x => x . Name . Equals ( binaryColumnName1 , StringComparison . OrdinalIgnoreCase ) ) ;
3748
3849 Assert . That ( intervalColumn1 . DefaultValue , Is . EqualTo ( new TimeSpan ( 100000 , 3 , 4 , 5 , 666 ) ) ) ;
3950 Assert . That ( intervalColumn2 . DefaultValue , Is . EqualTo ( new TimeSpan ( 0 , 0 , 0 , 0 , 666 ) ) ) ;
51+ Assert . That ( binarycolumn1 . DefaultValue , Is . EqualTo ( new byte [ ] { 12 , 32 , 34 } ) ) ;
4052 }
4153
4254 // 1 will coerce to true on inserts but not for default values in Postgre SQL - same for 0 to false
0 commit comments