@@ -158,7 +158,7 @@ public void VerifyProxyForClassWithInternalInterface()
158
158
}
159
159
160
160
[ Test ]
161
- public void VerifyProxyOnInterface ( )
161
+ public void VerifyProxyForClassWithAdditionalInterface ( )
162
162
{
163
163
var factory = new StaticProxyFactory ( ) ;
164
164
factory . PostInstantiate (
@@ -186,7 +186,7 @@ public void VerifyProxyOnInterface()
186
186
}
187
187
188
188
[ Test ]
189
- public void VerifyProxyForClassWithAdditionalInterface ( )
189
+ public void VerifyProxyForClassWithInterface ( )
190
190
{
191
191
var factory = new StaticProxyFactory ( ) ;
192
192
factory . PostInstantiate (
@@ -212,8 +212,8 @@ public void VerifyProxyForClassWithAdditionalInterface()
212
212
var ent = ( PublicInterfaceTestClass ) proxy ;
213
213
Assert . That ( pub . Id , Is . EqualTo ( 5 ) , "IPublic.Id" ) ;
214
214
Assert . That ( ent . Id , Is . EqualTo ( 5 ) , "entity.Id" ) ;
215
- Assert . That ( pub . Name , Is . EqualTo ( "State" ) , "IPublic.State " ) ;
216
- Assert . That ( ent . Name , Is . EqualTo ( "State" ) , "entity.State " ) ;
215
+ Assert . That ( pub . Name , Is . EqualTo ( "State" ) , "IPublic.Name " ) ;
216
+ Assert . That ( ent . Name , Is . EqualTo ( "State" ) , "entity.Name " ) ;
217
217
ent . Id = 10 ;
218
218
pub . Name = "Test" ;
219
219
Assert . That ( pub . Id , Is . EqualTo ( 10 ) , "IPublic.Id" ) ;
@@ -226,7 +226,7 @@ public void VerifyProxyForClassWithAdditionalInterface()
226
226
}
227
227
228
228
[ Test ]
229
- public void VerifyProxyForClassWithAdditionalExplicitInterface ( )
229
+ public void VerifyProxyForClassWithExplicitInterface ( )
230
230
{
231
231
var factory = new StaticProxyFactory ( ) ;
232
232
factory . PostInstantiate (
@@ -243,6 +243,22 @@ public void VerifyProxyForClassWithAdditionalExplicitInterface()
243
243
Assert . That ( proxy , Is . Not . Null ) ;
244
244
Assert . That ( proxy , Is . InstanceOf < IPublic > ( ) ) ;
245
245
Assert . That ( proxy , Is . InstanceOf < PublicExplicitInterfaceTestClass > ( ) ) ;
246
+
247
+ // Check interface and implicit implementations do both call the delegated state
248
+ IPublic state = new PublicExplicitInterfaceTestClass ( ) ;
249
+ state . Id = 5 ;
250
+ state . Name = "State" ;
251
+ proxy . HibernateLazyInitializer . SetImplementation ( state ) ;
252
+ var entity = ( IPublic ) proxy ;
253
+ Assert . That ( entity . Id , Is . EqualTo ( 5 ) , "Id" ) ;
254
+ Assert . That ( entity . Name , Is . EqualTo ( "State" ) , "Name" ) ;
255
+
256
+ entity . Id = 10 ;
257
+ entity . Name = "Test" ;
258
+ Assert . That ( entity . Id , Is . EqualTo ( 10 ) , "entity.Id" ) ;
259
+ Assert . That ( state . Id , Is . EqualTo ( 10 ) , "state.Id" ) ;
260
+ Assert . That ( entity . Name , Is . EqualTo ( "Test" ) , "entity.Name" ) ;
261
+ Assert . That ( state . Name , Is . EqualTo ( "Test" ) , "state.Name" ) ;
246
262
#if NETFX
247
263
} ) ;
248
264
#endif
0 commit comments