1
1
using System ;
2
2
using System . Collections . Generic ;
3
+ using System . IO ;
3
4
using System . Linq ;
4
5
using NUnit . Framework ;
5
6
6
- using System . Threading . Tasks ;
7
-
8
7
namespace SQLite . Net2 . Tests
9
8
{
10
9
[ TestFixture ]
@@ -32,7 +31,7 @@ public SerializeTestDb(String path) : base(path)
32
31
}
33
32
34
33
[ Test ]
35
- public async Task SerializeRoundTrip ( )
34
+ public void SerializeRoundTrip ( )
36
35
{
37
36
var obj1 = new SerializeTestObj
38
37
{
@@ -41,15 +40,15 @@ public async Task SerializeRoundTrip()
41
40
42
41
SQLiteConnection srcDb = new SerializeTestDb ( ":memory:" ) ;
43
42
44
- int numIn1 = srcDb . Insert ( obj1 ) ;
43
+ var numIn1 = srcDb . Insert ( obj1 ) ;
45
44
Assert . AreEqual ( 1 , numIn1 ) ;
46
45
47
46
List < SerializeTestObj > result1 = srcDb . Query < SerializeTestObj > ( "select * from SerializeTestObj" ) . ToList ( ) ;
48
47
Assert . AreEqual ( numIn1 , result1 . Count ) ;
49
48
Assert . AreEqual ( obj1 . Text , result1 . First ( ) . Text ) ;
50
49
51
50
52
- byte [ ] serialized = srcDb . Serialize ( ) ;
51
+ var serialized = srcDb . Serialize ( ) ;
53
52
srcDb . Close ( ) ;
54
53
55
54
SQLiteConnection destDb = new SerializeTestDb ( ":memory" ) ;
@@ -61,5 +60,41 @@ public async Task SerializeRoundTrip()
61
60
62
61
destDb . Close ( ) ;
63
62
}
63
+
64
+ [ Test ]
65
+ public void SerializeRoundTripStreams ( )
66
+ {
67
+ var obj1 = new SerializeTestObj
68
+ {
69
+ Text = "GLaDOS loves testing!"
70
+ } ;
71
+
72
+ SQLiteConnection srcDb = new SerializeTestDb ( ":memory:" ) ;
73
+
74
+ var numIn1 = srcDb . Insert ( obj1 ) ;
75
+ Assert . AreEqual ( 1 , numIn1 ) ;
76
+
77
+ List < SerializeTestObj > result1 = srcDb . Query < SerializeTestObj > ( "select * from SerializeTestObj" ) . ToList ( ) ;
78
+ Assert . AreEqual ( numIn1 , result1 . Count ) ;
79
+ Assert . AreEqual ( obj1 . Text , result1 . First ( ) . Text ) ;
80
+
81
+
82
+ MemoryStream stream = new ( ) ;
83
+ var size = srcDb . Serialize ( stream ) ;
84
+ Assert . That ( size , Is . GreaterThan ( 0 ) ) ;
85
+ srcDb . Close ( ) ;
86
+
87
+ stream . Seek ( 0 , SeekOrigin . Begin ) ;
88
+
89
+ SQLiteConnection destDb = new SerializeTestDb ( ":memory" ) ;
90
+ destDb . Deserialize ( stream ) ;
91
+ Assert . That ( stream . Position , Is . EqualTo ( size ) ) ;
92
+
93
+ result1 = destDb . Query < SerializeTestObj > ( "select * from SerializeTestObj" ) . ToList ( ) ;
94
+ Assert . AreEqual ( numIn1 , result1 . Count ) ;
95
+ Assert . AreEqual ( obj1 . Text , result1 . First ( ) . Text ) ;
96
+
97
+ destDb . Close ( ) ;
98
+ }
64
99
}
65
100
}
0 commit comments