@@ -5,11 +5,26 @@ namespace NHibernate.Test.NHSpecificTest.GH1149
5
5
[ TestFixture ]
6
6
public class Fixture : BugTestCase
7
7
{
8
- private int _companyId = 0 ;
8
+ protected override void OnTearDown ( )
9
+ {
10
+ using ( ISession session = OpenSession ( ) )
11
+ using ( ITransaction transaction = session . BeginTransaction ( ) )
12
+ {
13
+ session . Delete ( "from Address" ) ;
14
+ session . Delete ( "from Company" ) ;
15
+ session . Delete ( "from AddressO2O" ) ;
16
+ session . Delete ( "from CompanyO2O" ) ;
17
+ session . Flush ( ) ;
18
+ transaction . Commit ( ) ;
19
+ }
20
+ }
9
21
10
- protected override void OnSetUp ( )
22
+ [ Test ]
23
+ public void StatelessSessionLoadsOneToOneRelatedObject_PropertyRef ( )
11
24
{
12
- base . OnSetUp ( ) ;
25
+ // Create and save company and address
26
+ var companyId = 0 ;
27
+
13
28
using ( ISession session = OpenSession ( ) )
14
29
{
15
30
using ( ITransaction tx = session . BeginTransaction ( ) )
@@ -18,38 +33,55 @@ protected override void OnSetUp()
18
33
19
34
company . Address = new Address ( company ) { AddressLine1 = "Company Address" } ;
20
35
21
- _companyId = ( int ) session . Save ( company ) ;
36
+ companyId = ( int ) session . Save ( company ) ;
22
37
23
38
tx . Commit ( ) ;
24
39
}
25
40
}
26
- }
27
41
28
- protected override void OnTearDown ( )
29
- {
30
- using ( ISession session = OpenSession ( ) )
31
- using ( ITransaction transaction = session . BeginTransaction ( ) )
42
+ using ( var stateless = Sfi . OpenStatelessSession ( ) )
32
43
{
33
- session . Delete ( "from Address" ) ;
34
- session . Delete ( "from Company" ) ;
35
- session . Flush ( ) ;
36
- transaction . Commit ( ) ;
44
+ var loadedCompany = stateless . Get < Company > ( companyId ) ;
45
+
46
+ Assert . That ( loadedCompany , Is . Not . Null ) ;
47
+ Assert . That ( loadedCompany . Name , Is . Not . Null ) ;
48
+ Assert . That ( loadedCompany . Address , Is . Not . Null ) ;
49
+ Assert . That ( loadedCompany . Address . AddressLine1 , Is . Not . Null ) ;
37
50
}
38
51
}
39
52
40
53
[ Test ]
41
- public void StatelessSessionLoadsOneToOneRelatedObject ( )
54
+ public void StatelessSessionLoadsOneToOneRelatedObject_WithoutPropertyRef ( )
42
55
{
56
+ var companyId = 0 ;
57
+
58
+ using ( ISession session = OpenSession ( ) )
59
+ {
60
+ using ( ITransaction tx = session . BeginTransaction ( ) )
61
+ {
62
+ var company = new CompanyO2O { Name = "Test Company" } ;
63
+ var address = new AddressO2O { AddressLine1 = "Company Address" } ;
64
+
65
+ address . SetCompany ( company ) ;
66
+
67
+ // Have to save the address to get the company to be saved as well
68
+ // Saving company doesn't save the address.
69
+ companyId = ( int ) session . Save ( address ) ;
70
+
71
+ tx . Commit ( ) ;
72
+ }
73
+ }
74
+
75
+
43
76
using ( var stateless = Sfi . OpenStatelessSession ( ) )
44
77
{
45
- var loadedCompany = stateless . Get < Company > ( _companyId ) ;
78
+ var loadedCompany = stateless . Get < CompanyO2O > ( companyId ) ;
46
79
47
80
Assert . That ( loadedCompany , Is . Not . Null ) ;
48
81
Assert . That ( loadedCompany . Name , Is . Not . Null ) ;
49
82
Assert . That ( loadedCompany . Address , Is . Not . Null ) ;
50
83
Assert . That ( loadedCompany . Address . AddressLine1 , Is . Not . Null ) ;
51
84
}
52
85
}
53
-
54
86
}
55
87
}
0 commit comments