8
8
//------------------------------------------------------------------------------
9
9
10
10
11
- using System ;
11
+ using System . Linq ;
12
12
using NUnit . Framework ;
13
+ using NHibernate . Linq ;
13
14
14
15
namespace NHibernate . Test . TypesTest
15
16
{
16
17
using System . Threading . Tasks ;
17
- /// <summary>
18
- /// Summary description for StringTypeFixture.
19
- /// </summary>
20
18
[ TestFixture ]
21
19
public class StringTypeFixtureAsync : TypeFixtureBase
22
20
{
@@ -25,6 +23,14 @@ protected override string TypeName
25
23
get { return "String" ; }
26
24
}
27
25
26
+ protected override void OnTearDown ( )
27
+ {
28
+ using ( var s = OpenSession ( ) )
29
+ {
30
+ s . CreateQuery ( "delete from StringClass" ) . ExecuteUpdate ( ) ;
31
+ }
32
+ }
33
+
28
34
[ Test ]
29
35
public async Task InsertNullValueAsync ( )
30
36
{
@@ -38,12 +44,27 @@ public async Task InsertNullValueAsync()
38
44
39
45
using ( ISession s = OpenSession ( ) )
40
46
{
41
- StringClass b = ( StringClass ) await ( s . CreateCriteria (
42
- typeof ( StringClass ) ) . UniqueResultAsync ( ) ) ;
43
- Assert . IsNull ( b . StringValue ) ;
44
- await ( s . DeleteAsync ( b ) ) ;
47
+ StringClass b = ( StringClass ) await ( s . CreateCriteria ( typeof ( StringClass ) ) . UniqueResultAsync ( ) ) ;
48
+ Assert . That ( b . StringValue , Is . Null ) ;
49
+ }
50
+ }
51
+
52
+ [ Test ]
53
+ public async Task InsertUnicodeValueAsync ( )
54
+ {
55
+ const string unicode = "길동 최고 新闻 地图 ます プル éèêëîïôöõàâäåãçùûü бджзй αβ ខគឃ ضذخ" ;
56
+ using ( var s = OpenSession ( ) )
57
+ {
58
+ var b = new StringClass { StringValue = unicode } ;
59
+ await ( s . SaveAsync ( b ) ) ;
45
60
await ( s . FlushAsync ( ) ) ;
46
61
}
62
+
63
+ using ( var s = OpenSession ( ) )
64
+ {
65
+ var b = await ( s . Query < StringClass > ( ) . SingleAsync ( ) ) ;
66
+ Assert . That ( b . StringValue , Is . EqualTo ( unicode ) ) ;
67
+ }
47
68
}
48
69
}
49
- }
70
+ }
0 commit comments