@@ -17,12 +17,16 @@ public void AddHoursTest()
1717 {
1818 ExecuteInsideSession ( ( s ) => {
1919 RunTest < SingleTimeOnlyEntity > ( s , c => c . TimeOnly . AddHours ( 1 ) == FirstTimeOnly . AddHours ( 1 ) ) ;
20- RunTest < SingleTimeOnlyEntity > ( s , c => c . MillisecondTimeOnly . AddHours ( - 2 ) == FirstMillisecondTimeOnly . AddHours ( - 2 ) ) ;
2120 RunTest < SingleTimeOnlyEntity > ( s , c => c . NullableTimeOnly . Value . AddHours ( 33 ) == NullableTimeOnly . AddHours ( 33 ) ) ;
2221
2322 RunWrongTest < SingleTimeOnlyEntity > ( s , c => c . TimeOnly . AddHours ( 1 ) == FirstTimeOnly . AddHours ( 2 ) ) ;
24- RunWrongTest < SingleTimeOnlyEntity > ( s , c => c . MillisecondTimeOnly . AddHours ( - 1 ) == FirstMillisecondTimeOnly . AddHours ( - 2 ) ) ;
2523 RunWrongTest < SingleTimeOnlyEntity > ( s , c => c . NullableTimeOnly . Value . AddHours ( 33 ) == NullableTimeOnly . AddHours ( 44 ) ) ;
24+
25+ if ( StorageProviderInfo . Instance . CheckProviderIsNot ( StorageProvider . MySql )
26+ || StorageProviderInfo . Instance . CheckProviderVersionIsAtLeast ( new Version ( 5 , 6 ) ) ) {
27+ RunTest < SingleTimeOnlyEntity > ( s , c => c . MillisecondTimeOnly . AddHours ( - 2 ) == FirstMillisecondTimeOnly . AddHours ( - 2 ) ) ;
28+ RunWrongTest < SingleTimeOnlyEntity > ( s , c => c . MillisecondTimeOnly . AddHours ( - 1 ) == FirstMillisecondTimeOnly . AddHours ( - 2 ) ) ;
29+ }
2630 } ) ;
2731 }
2832
@@ -31,47 +35,60 @@ public void AddMinutesTest()
3135 {
3236 ExecuteInsideSession ( ( s ) => {
3337 RunTest < SingleTimeOnlyEntity > ( s , c => c . TimeOnly . AddMinutes ( 1 ) == FirstTimeOnly . AddMinutes ( 1 ) ) ;
34- RunTest < SingleTimeOnlyEntity > ( s , c => c . MillisecondTimeOnly . AddMinutes ( - 2 ) == FirstMillisecondTimeOnly . AddMinutes ( - 2 ) ) ;
3538 RunTest < SingleTimeOnlyEntity > ( s , c => c . NullableTimeOnly . Value . AddMinutes ( 33 ) == NullableTimeOnly . AddMinutes ( 33 ) ) ;
3639
3740 RunWrongTest < SingleTimeOnlyEntity > ( s , c => c . TimeOnly . AddMinutes ( 1 ) == FirstTimeOnly . AddMinutes ( 2 ) ) ;
38- RunWrongTest < SingleTimeOnlyEntity > ( s , c => c . MillisecondTimeOnly . AddMinutes ( - 1 ) == FirstMillisecondTimeOnly . AddMinutes ( - 2 ) ) ;
3941 RunWrongTest < SingleTimeOnlyEntity > ( s , c => c . NullableTimeOnly . Value . AddMinutes ( 33 ) == NullableTimeOnly . AddMinutes ( 44 ) ) ;
42+
43+ if ( StorageProviderInfo . Instance . CheckProviderIsNot ( StorageProvider . MySql )
44+ || StorageProviderInfo . Instance . CheckProviderVersionIsAtLeast ( new Version ( 5 , 6 ) ) ) {
45+ RunTest < SingleTimeOnlyEntity > ( s , c => c . MillisecondTimeOnly . AddMinutes ( - 2 ) == FirstMillisecondTimeOnly . AddMinutes ( - 2 ) ) ;
46+ RunWrongTest < SingleTimeOnlyEntity > ( s , c => c . MillisecondTimeOnly . AddMinutes ( - 1 ) == FirstMillisecondTimeOnly . AddMinutes ( - 2 ) ) ;
47+ }
4048 } ) ;
4149 }
4250
43- [ Test , Ignore ( "Compiler's not implemented yet" ) ]
51+ [ Test ]
4452 public void AddTimeSpanTest ( )
4553 {
4654 ExecuteInsideSession ( ( s ) => {
47- RunTest < SingleTimeOnlyEntity > ( s , c => c . TimeOnly . Add ( FirstOffset ) == FirstTimeOnly . Add ( FirstOffset ) ) ;
4855 RunTest < SingleTimeOnlyEntity > ( s , c => c . MillisecondTimeOnly . Add ( SecondOffset ) == FirstMillisecondTimeOnly . Add ( SecondOffset ) ) ;
56+ RunTest < SingleTimeOnlyEntity > ( s , c => c . TimeOnly . Add ( FirstOffset ) == FirstTimeOnly . Add ( FirstOffset ) ) ;
4957 RunTest < SingleTimeOnlyEntity > ( s , c => c . NullableTimeOnly . Value . Add ( FirstOffset ) == NullableTimeOnly . Add ( FirstOffset ) ) ;
5058
5159 RunWrongTest < SingleTimeOnlyEntity > ( s , c => c . TimeOnly . Add ( FirstOffset ) == FirstTimeOnly . Add ( WrongOffset ) ) ;
52- RunWrongTest < SingleTimeOnlyEntity > ( s , c => c . MillisecondTimeOnly . Add ( SecondOffset ) == FirstMillisecondTimeOnly . Add ( WrongOffset ) ) ;
5360 RunWrongTest < SingleTimeOnlyEntity > ( s , c => c . NullableTimeOnly . Value . Add ( FirstOffset ) == NullableTimeOnly . Add ( WrongOffset ) ) ;
61+
62+ if ( StorageProviderInfo . Instance . CheckProviderIsNot ( StorageProvider . MySql )
63+ || StorageProviderInfo . Instance . CheckProviderVersionIsAtLeast ( new Version ( 5 , 6 ) ) ) {
64+ RunTest < SingleTimeOnlyEntity > ( s , c => c . MillisecondTimeOnly . Add ( SecondOffset ) == FirstMillisecondTimeOnly . Add ( SecondOffset ) ) ;
65+ RunWrongTest < SingleTimeOnlyEntity > ( s , c => c . MillisecondTimeOnly . Add ( SecondOffset ) == FirstMillisecondTimeOnly . Add ( WrongOffset ) ) ;
66+ }
5467 } ) ;
5568 }
5669
5770 [ Test ]
5871 public void MinusTimeOnlyTest ( )
5972 {
60- Require . ProviderIsNot ( StorageProvider . MySql ) ;
73+ var inteval = FirstTimeOnly - SecondTimeOnly ;
74+
6175 ExecuteInsideSession ( ( s ) => {
6276 RunTest < SingleTimeOnlyEntity > ( s , c => c . TimeOnly - SecondTimeOnly == FirstTimeOnly - SecondTimeOnly ) ;
63- RunTest < SingleTimeOnlyEntity > ( s , c => c . MillisecondTimeOnly - SecondTimeOnly == FirstMillisecondTimeOnly - SecondTimeOnly ) ;
6477 RunTest < SingleTimeOnlyEntity > ( s , c => c . NullableTimeOnly - SecondTimeOnly == NullableTimeOnly - SecondTimeOnly ) ;
6578
6679 RunWrongTest < SingleTimeOnlyEntity > ( s , c => c . TimeOnly - SecondTimeOnly == FirstTimeOnly - WrongTimeOnly ) ;
67- RunWrongTest < SingleTimeOnlyEntity > ( s , c => c . MillisecondTimeOnly - SecondTimeOnly == FirstMillisecondTimeOnly - WrongTimeOnly ) ;
6880 RunWrongTest < SingleTimeOnlyEntity > ( s , c => c . NullableTimeOnly - SecondTimeOnly == NullableTimeOnly - WrongTimeOnly ) ;
6981
82+ if ( StorageProviderInfo . Instance . CheckProviderIsNot ( StorageProvider . MySql )
83+ || StorageProviderInfo . Instance . CheckProviderVersionIsAtLeast ( new Version ( 5 , 6 ) ) ) {
84+ RunTest < SingleTimeOnlyEntity > ( s , c => c . MillisecondTimeOnly - SecondTimeOnly == FirstMillisecondTimeOnly - SecondTimeOnly ) ;
85+ RunWrongTest < SingleTimeOnlyEntity > ( s , c => c . MillisecondTimeOnly - SecondTimeOnly == FirstMillisecondTimeOnly - WrongTimeOnly ) ;
86+ }
7087 } ) ;
7188 }
7289
7390 [ Test ]
74- public void MysqlMinisDateTimeTest ( )
91+ public void MysqlMinisTimeOnlyTest ( )
7592 {
7693 Require . ProviderIs ( StorageProvider . MySql ) ;
7794 ExecuteInsideSession ( ( s ) => {
0 commit comments