@@ -109,20 +109,53 @@ public function testValidBinaryLengths(): void
109109
110110 public function testSqlDefinition (): void
111111 {
112- $ definition = new Snowflake ('NUMERIC ' , ['length ' => '' ]);
113- $ this ->assertTrue ($ definition ->getSQLDefinition () === 'NUMERIC ' );
112+ $ definition = new Snowflake ('NUMERIC ' , ['length ' => '' , 'nullable ' => false ]);
113+ $ this ->assertSame ($ definition ->getSQLDefinition (), 'NUMERIC NOT NULL ' );
114+
115+ $ definition = new Snowflake ('NUMERIC ' , ['length ' => '10,10 ' , 'nullable ' => false ]);
116+ $ this ->assertSame ($ definition ->getSQLDefinition (), 'NUMERIC (10,10) NOT NULL ' );
117+
118+ $ definition = new Snowflake ('NUMERIC ' , ['length ' => '10,10 ' , 'nullable ' => false ]);
119+ $ this ->assertSame ($ definition ->getSQLDefinition (), 'NUMERIC (10,10) NOT NULL ' );
120+
121+ $ definition = new Snowflake ('NUMERIC ' , ['length ' => '10,10 ' , 'nullable ' => true ]);
122+ $ this ->assertSame ($ definition ->getSQLDefinition (), 'NUMERIC (10,10) ' );
123+
124+ $ definition = new Snowflake ('TIMESTAMP_TZ ' , ['length ' => '0 ' ]);
125+ $ this ->assertSame ($ definition ->getSQLDefinition (), 'TIMESTAMP_TZ (0) ' );
126+
127+ $ definition = new Snowflake ('TIMESTAMP_TZ ' , ['length ' => '9 ' ]);
128+ $ this ->assertSame ($ definition ->getSQLDefinition (), 'TIMESTAMP_TZ (9) ' );
129+
130+ $ definition = new Snowflake ('TIMESTAMP_TZ ' , ['length ' => '' ]);
131+ $ this ->assertSame ($ definition ->getSQLDefinition (), 'TIMESTAMP_TZ ' );
132+
133+ $ definition = new Snowflake ('TIMESTAMP_TZ ' );
134+ $ this ->assertSame ($ definition ->getSQLDefinition (), 'TIMESTAMP_TZ ' );
135+ }
136+
137+ public function testTypeOnlySqlDefinition (): void
138+ {
139+ $ definition = new Snowflake ('NUMERIC ' , ['length ' => '' , 'nullable ' => false ]);
140+ $ this ->assertSame ($ definition ->getTypeOnlySQLDefinition (), 'NUMERIC ' );
141+
142+ $ definition = new Snowflake ('NUMERIC ' , ['length ' => '10,10 ' , 'nullable ' => false ]);
143+ $ this ->assertSame ($ definition ->getTypeOnlySQLDefinition (), 'NUMERIC (10,10) ' );
144+
145+ $ definition = new Snowflake ('NUMERIC ' , ['length ' => '10,10 ' , 'nullable ' => false , 'default ' => '10 ' ]);
146+ $ this ->assertSame ($ definition ->getTypeOnlySQLDefinition (), 'NUMERIC (10,10) ' );
114147
115148 $ definition = new Snowflake ('TIMESTAMP_TZ ' , ['length ' => '0 ' ]);
116- $ this ->assertTrue ($ definition ->getSQLDefinition () === 'TIMESTAMP_TZ(0) ' );
149+ $ this ->assertSame ($ definition ->getTypeOnlySQLDefinition (), 'TIMESTAMP_TZ (0) ' );
117150
118151 $ definition = new Snowflake ('TIMESTAMP_TZ ' , ['length ' => '9 ' ]);
119- $ this ->assertTrue ($ definition ->getSQLDefinition () === 'TIMESTAMP_TZ(9) ' );
152+ $ this ->assertSame ($ definition ->getTypeOnlySQLDefinition (), 'TIMESTAMP_TZ (9) ' );
120153
121154 $ definition = new Snowflake ('TIMESTAMP_TZ ' , ['length ' => '' ]);
122- $ this ->assertTrue ($ definition ->getSQLDefinition () === 'TIMESTAMP_TZ ' );
155+ $ this ->assertSame ($ definition ->getTypeOnlySQLDefinition (), 'TIMESTAMP_TZ ' );
123156
124157 $ definition = new Snowflake ('TIMESTAMP_TZ ' );
125- $ this ->assertTrue ($ definition ->getSQLDefinition () === 'TIMESTAMP_TZ ' );
158+ $ this ->assertSame ($ definition ->getTypeOnlySQLDefinition (), 'TIMESTAMP_TZ ' );
126159 }
127160
128161 /**
0 commit comments