1
1
using System . Collections ;
2
2
using FakeItEasy ;
3
3
using NHibernate ;
4
+ using NHibernate . Engine ;
4
5
using NUnit . Framework ;
5
6
6
7
namespace FluentNHibernate . Testing . Testing ;
@@ -23,44 +24,44 @@ class CatType
23
24
[ Test ]
24
25
public void Should_Not_Open_A_New_Transaction_If_One_Is_Passed ( )
25
26
{
26
- var transaction = A . Fake < ITransaction > ( ) ;
27
- A . CallTo ( ( ) => transaction . IsActive ) . Returns ( true ) ;
27
+ var sessionImpl = A . Fake < ISessionImplementor > ( ) ;
28
+ A . CallTo ( ( ) => sessionImpl . TransactionInProgress ) . Returns ( true ) ;
28
29
29
30
var session = A . Fake < ISession > ( ) ;
30
- A . CallTo ( ( ) => session . Transaction ) . Returns ( transaction ) ;
31
+ A . CallTo ( ( ) => session . GetSessionImplementation ( ) ) . Returns ( sessionImpl ) ;
31
32
32
33
var spec = new PersistenceSpecification < Cat > ( session ) ;
33
34
spec . VerifyTheMappings ( ) ;
34
35
35
36
A . CallTo ( ( ) => session . BeginTransaction ( ) ) . MustNotHaveHappened ( ) ;
36
- A . CallTo ( ( ) => session . Transaction ) . MustHaveHappened ( 2 , Times . Exactly ) ;
37
37
}
38
38
39
39
[ Test ]
40
40
public void Should_Open_A_New_Transaction_If_None_Is_Passed ( )
41
41
{
42
-
43
- var transaction = A . Fake < ITransaction > ( ) ;
44
- A . CallTo ( ( ) => transaction . IsActive ) . Returns ( false ) ;
42
+ var sessionImpl = A . Fake < ISessionImplementor > ( ) ;
43
+ A . CallTo ( ( ) => sessionImpl . TransactionInProgress ) . Returns ( false ) ;
45
44
46
45
var session = A . Fake < ISession > ( ) ;
47
- A . CallTo ( ( ) => session . Transaction ) . Returns ( transaction ) ;
48
- A . CallTo ( ( ) => session . BeginTransaction ( ) ) . Returns ( transaction ) ;
46
+ A . CallTo ( ( ) => session . GetSessionImplementation ( ) ) . Returns ( sessionImpl ) ;
47
+ A . CallTo ( ( ) => session . BeginTransaction ( ) ) . Returns ( A . Dummy < ITransaction > ( ) ) ;
49
48
50
49
var spec = new PersistenceSpecification < Cat > ( session ) ;
51
50
spec . VerifyTheMappings ( ) ;
52
51
53
- A . CallTo ( ( ) => session . Transaction ) . MustHaveHappened ( 2 , Times . Exactly ) ;
52
+ A . CallTo ( ( ) => session . BeginTransaction ( ) ) . MustHaveHappened ( 1 , Times . Exactly ) ;
54
53
}
55
54
56
55
[ Test ]
57
56
public void Passed_Transaction_Should_Apply_For_Reference_Saving ( )
58
57
{
59
- var transaction = A . Fake < ITransaction > ( ) ;
60
- A . CallTo ( ( ) => transaction . IsActive ) . Returns ( true ) ;
58
+ var sessionImpl = A . Fake < ISessionImplementor > ( ) ;
59
+ A . CallTo ( ( ) => sessionImpl . TransactionInProgress ) . Returns ( true ) ;
61
60
62
61
var session = A . Fake < ISession > ( ) ;
63
- A . CallTo ( ( ) => session . Transaction ) . Returns ( transaction ) ;
62
+ A . CallTo ( ( ) => session . GetSessionImplementation ( ) ) . Returns ( sessionImpl ) ;
63
+ A . CallTo ( ( ) => session . BeginTransaction ( ) ) . Returns ( A . Dummy < ITransaction > ( ) ) ;
64
+
64
65
A . CallTo ( ( ) => session . Get < Cat > ( null ) ) . WithAnyArguments ( )
65
66
. Returns (
66
67
new Cat
@@ -79,7 +80,6 @@ public void Passed_Transaction_Should_Apply_For_Reference_Saving()
79
80
80
81
spec . VerifyTheMappings ( ) ;
81
82
82
- A . CallTo ( ( ) => session . Transaction ) . MustHaveHappened ( 2 , Times . Exactly ) ;
83
83
A . CallTo ( ( ) => session . BeginTransaction ( ) ) . MustNotHaveHappened ( ) ;
84
84
}
85
85
@@ -90,9 +90,9 @@ bool IEqualityComparer.Equals(object x, object y)
90
90
if ( x is null || y is null )
91
91
return false ;
92
92
93
- if ( x . GetType ( ) . GetProperty ( "Name" ) is not null && y . GetType ( ) . GetProperty ( "Name" ) is not null )
93
+ if ( x . GetType ( ) . GetProperty ( "Name" ) is { } xProp && y . GetType ( ) . GetProperty ( "Name" ) is { } yProp )
94
94
{
95
- return x . GetType ( ) . GetProperty ( "Name" ) . GetValue ( x , null ) == y . GetType ( ) . GetProperty ( "Name" ) . GetValue ( x , null ) ;
95
+ return xProp . GetValue ( x , null ) == yProp . GetValue ( x , null ) ;
96
96
}
97
97
98
98
return x . Equals ( y ) ;
0 commit comments