1
1
using System ;
2
2
using System . Collections ;
3
- using System . Data . Common ;
4
3
using NHibernate . Connection ;
5
4
using NHibernate . DomainModel . NHSpecific ;
6
5
using NUnit . Framework ;
@@ -14,8 +13,15 @@ namespace NHibernate.Test.NHSpecificTest
14
13
public class UserTypeFixture : TestCase
15
14
{
16
15
protected override IList Mappings
16
+ => new [ ] { "NHSpecific.ClassWithNullColumns.hbm.xml" } ;
17
+
18
+ protected override void OnTearDown ( )
17
19
{
18
- get { return new string [ ] { "NHSpecific.ClassWithNullColumns.hbm.xml" } ; }
20
+ using ( var s = OpenSession ( ) )
21
+ {
22
+ s . Delete ( "from ClassWithNullColumns" ) ;
23
+ s . Flush ( ) ;
24
+ }
19
25
}
20
26
21
27
/// <summary>
@@ -25,40 +31,50 @@ protected override IList Mappings
25
31
[ Test ]
26
32
public void InsertNull ( )
27
33
{
28
- using ( ISession s = OpenSession ( ) )
34
+ using ( var s = OpenSession ( ) )
29
35
{
30
- ClassWithNullColumns userTypeClass = new ClassWithNullColumns ( ) ;
31
- userTypeClass . Id = 5 ;
32
- userTypeClass . FirstInt32 = 4 ;
33
- userTypeClass . SecondInt32 = 0 ; // with the user type should set value to null
36
+ var userTypeClass = new ClassWithNullColumns
37
+ {
38
+ Id = 5 ,
39
+ FirstInt32 = 4 ,
40
+ SecondInt32 = 0
41
+ } ;
42
+ // with the user type should set 0 value to null
34
43
35
44
s . Save ( userTypeClass ) ;
36
45
s . Flush ( ) ;
37
46
}
38
47
39
48
// manually read from the db
40
- IConnectionProvider provider = ConnectionProviderFactory . NewConnectionProvider ( cfg . Properties ) ;
41
- var conn = provider . GetConnection ( ) ;
42
- var cmd = conn . CreateCommand ( ) ;
43
- cmd . Connection = conn ;
44
- cmd . CommandText = "select * from usertype" ;
45
-
46
- var reader = cmd . ExecuteReader ( ) ;
47
-
48
- while ( reader . Read ( ) )
49
+ using ( var provider = ConnectionProviderFactory . NewConnectionProvider ( cfg . Properties ) )
49
50
{
50
- Assert . AreEqual ( 5 , reader [ 0 ] ) ;
51
- Assert . AreEqual ( 4 , reader [ 1 ] ) ;
52
- Assert . AreEqual ( DBNull . Value , reader [ 2 ] ) ;
53
- break ;
54
- }
55
-
56
- conn . Close ( ) ;
51
+ var conn = provider . GetConnection ( ) ;
52
+ try
53
+ {
54
+ using ( var cmd = conn . CreateCommand ( ) )
55
+ {
56
+ cmd . Connection = conn ;
57
+ cmd . CommandText = "select * from usertype" ;
57
58
58
- using ( ISession s = OpenSession ( ) )
59
- {
60
- s . Delete ( "from ClassWithNullColumns" ) ;
61
- s . Flush ( ) ;
59
+ using ( var reader = cmd . ExecuteReader ( ) )
60
+ {
61
+ var idOrdinal = reader . GetOrdinal ( "id" ) ;
62
+ var firstOrdinal = reader . GetOrdinal ( "f_int32" ) ;
63
+ var secondOrdinal = reader . GetOrdinal ( "s_int32" ) ;
64
+ while ( reader . Read ( ) )
65
+ {
66
+ Assert . AreEqual ( 5 , reader [ idOrdinal ] ) ;
67
+ Assert . AreEqual ( 4 , reader [ firstOrdinal ] ) ;
68
+ Assert . AreEqual ( DBNull . Value , reader [ secondOrdinal ] ) ;
69
+ break ;
70
+ }
71
+ }
72
+ }
73
+ }
74
+ finally
75
+ {
76
+ provider . CloseConnection ( conn ) ;
77
+ }
62
78
}
63
79
}
64
80
}
0 commit comments