@@ -62,14 +62,20 @@ protected override DomainConfiguration BuildConfiguration()
62
62
return config ;
63
63
}
64
64
65
+ protected override void CheckRequirements ( )
66
+ {
67
+ Require . ProviderIs ( StorageProvider . SqlServer | StorageProvider . Oracle ) ;
68
+ }
69
+
65
70
[ Test ]
66
71
public void DateTimeOffsetCase ( )
67
72
{
68
- // NRE on within PackedFieldAccessor.GetValue<T>
69
73
using ( var session = Domain . OpenSession ( ) )
70
74
using ( var tx = session . OpenTransaction ( ) ) {
71
- var cargo3 = new Cargo ( session ) ;
72
- var cargoLoad = new CargoLoad ( session , null ) ;
75
+ var expectedDateTimeOffset = new DateTimeOffset ( 2021 , 9 , 13 , 0 , 0 , 1 , new TimeSpan ( 5 , 0 , 0 ) ) ;
76
+ var cargo = new Cargo ( session ) { DateTimeOffsetField = expectedDateTimeOffset } ;
77
+ var loadNoCargo = new CargoLoad ( session , null ) ;
78
+ var loadWithCargo = new CargoLoad ( session , cargo ) ;
73
79
74
80
var query = session . Query . All < CargoLoad > ( )
75
81
. LeftJoin ( session . Query . All < Cargo > ( ) ,
@@ -78,17 +84,22 @@ public void DateTimeOffsetCase()
78
84
( cl , c ) => new { CargoLoad = cl , Cargo = c } )
79
85
. Select ( t => t . Cargo . DateTimeOffsetField )
80
86
. ToArray ( ) ;
87
+
88
+ Assert . That ( query . Length , Is . EqualTo ( 2 ) ) ;
89
+ Assert . That ( query . Any ( d => d == DateTimeOffset . MinValue ) , Is . True ) ;
90
+ Assert . That ( query . Any ( d => d == expectedDateTimeOffset ) , Is . True ) ;
81
91
}
82
92
}
83
93
84
94
[ Test ]
85
95
public void DateTimeCase ( )
86
96
{
87
- //Works fine.
88
97
using ( var session = Domain . OpenSession ( ) )
89
98
using ( var tx = session . OpenTransaction ( ) ) {
90
- var cargo3 = new Cargo ( session ) ;
91
- var cargoLoad = new CargoLoad ( session , null ) ;
99
+ var expectedDateTime = new DateTime ( 2021 , 9 , 13 , 0 , 0 , 1 ) ;
100
+ var cargo = new Cargo ( session ) { DateTimeField = expectedDateTime } ;
101
+ var loadNoCargo = new CargoLoad ( session , null ) ;
102
+ var loadWithCargo = new CargoLoad ( session , cargo ) ;
92
103
93
104
var query = session . Query . All < CargoLoad > ( )
94
105
. LeftJoin ( session . Query . All < Cargo > ( ) ,
@@ -97,6 +108,9 @@ public void DateTimeCase()
97
108
( cl , c ) => new { CargoLoad = cl , Cargo = c } )
98
109
. Select ( t => t . Cargo . DateTimeField )
99
110
. ToArray ( ) ;
111
+ Assert . That ( query . Length , Is . EqualTo ( 2 ) ) ;
112
+ Assert . That ( query . Any ( d => d == DateTime . MinValue ) , Is . True ) ;
113
+ Assert . That ( query . Any ( d => d == expectedDateTime ) , Is . True ) ;
100
114
}
101
115
}
102
116
}
0 commit comments