@@ -13,7 +13,7 @@ public class PostgreSQLTransformationProvider_GetColumnsDefaultTypeTests : Postg
1313 private const decimal DecimalDefaultValue = 14.56565m ;
1414
1515 [ Test ]
16- public void GetColumns_DataTypeResolveSucceeds ( )
16+ public void GetColumns_DefaultValues_Succeeds ( )
1717 {
1818 // Arrange
1919 var dateTimeDefaultValue = new DateTime ( 2000 , 1 , 2 , 3 , 4 , 5 , DateTimeKind . Utc ) ;
@@ -71,4 +71,48 @@ public void GetColumns_DataTypeResolveSucceeds()
7171 Assert . That ( stringColumn1 . DefaultValue , Is . EqualTo ( "Hello" ) ) ;
7272 Assert . That ( binarycolumn1 . DefaultValue , Is . EqualTo ( new byte [ ] { 12 , 32 , 34 } ) ) ;
7373 }
74+
75+ // 1 will coerce to true on inserts but not for default values in Postgre SQL - same for 0 to false
76+ // so we do not test it here
77+ [ TestCase ( "true" , true ) ]
78+ [ TestCase ( "TRUE" , true ) ]
79+ [ TestCase ( "t" , true ) ]
80+ [ TestCase ( "T" , true ) ]
81+ [ TestCase ( "yes" , true ) ]
82+ [ TestCase ( "YES" , true ) ]
83+ [ TestCase ( "y" , true ) ]
84+ [ TestCase ( "Y" , true ) ]
85+ [ TestCase ( "on" , true ) ]
86+ [ TestCase ( "ON" , true ) ]
87+ [ TestCase ( "false" , false ) ]
88+ [ TestCase ( "FALSE" , false ) ]
89+ [ TestCase ( "f" , false ) ]
90+ [ TestCase ( "F" , false ) ]
91+ [ TestCase ( "false" , false ) ]
92+ [ TestCase ( "FALSE" , false ) ]
93+ [ TestCase ( "n" , false ) ]
94+ [ TestCase ( "N" , false ) ]
95+ [ TestCase ( "off" , false ) ]
96+ [ TestCase ( "OFF" , false ) ]
97+ public void GetColumns_DefaultValueBooleanValues_Succeeds ( object inboundBooleanDefaultValue , bool outboundBooleanDefaultValue )
98+ {
99+ // Arrange
100+ var dateTimeDefaultValue = new DateTime ( 2000 , 1 , 2 , 3 , 4 , 5 , DateTimeKind . Utc ) ;
101+ var guidDefaultValue = Guid . NewGuid ( ) ;
102+
103+ const string testTableName = "MyDefaultTestTable" ;
104+ const string booleanColumnName1 = "booleancolumn1" ;
105+
106+ Provider . AddTable ( testTableName ,
107+ new Column ( booleanColumnName1 , DbType . Boolean ) { DefaultValue = inboundBooleanDefaultValue }
108+ ) ;
109+
110+ // Act
111+ var columns = Provider . GetColumns ( testTableName ) ;
112+
113+ // Assert
114+ var booleanColumn1 = columns . Single ( x => x . Name == booleanColumnName1 ) ;
115+
116+ Assert . That ( booleanColumn1 . DefaultValue , Is . EqualTo ( outboundBooleanDefaultValue ) ) ;
117+ }
74118}
0 commit comments