1
1
using System ;
2
2
using System . Collections . Generic ;
3
3
using System . Linq ;
4
+ using LightningDB . Native ;
4
5
using Xunit ;
5
6
using static System . Text . Encoding ;
6
7
@@ -69,8 +70,8 @@ public void CursorShouldMoveToLast()
69
70
{
70
71
Assert . True ( cur . MoveToLast ( ) ) ;
71
72
72
- var lastKey = UTF8 . GetString ( cur . Current . Key ) ;
73
- var lastValue = UTF8 . GetString ( cur . Current . Value ) ;
73
+ var lastKey = UTF8 . GetString ( cur . Current . Key . Span . ToArray ( ) ) ;
74
+ var lastValue = UTF8 . GetString ( cur . Current . Value . Span . ToArray ( ) ) ;
74
75
75
76
Assert . Equal ( "key5" , lastKey ) ;
76
77
Assert . Equal ( "key5" , lastValue ) ;
@@ -87,8 +88,8 @@ public void CursorShouldMoveToFirst()
87
88
{
88
89
cur . MoveToFirst ( ) ;
89
90
90
- var lastKey = UTF8 . GetString ( cur . Current . Key ) ;
91
- var lastValue = UTF8 . GetString ( cur . Current . Value ) ;
91
+ var lastKey = UTF8 . GetString ( cur . Current . Key . Span . ToArray ( ) ) ;
92
+ var lastValue = UTF8 . GetString ( cur . Current . Value . Span . ToArray ( ) ) ;
92
93
93
94
Assert . Equal ( "key1" , lastKey ) ;
94
95
Assert . Equal ( "key1" , lastValue ) ;
@@ -107,8 +108,8 @@ public void ShouldIterateThroughCursor()
107
108
108
109
while ( cur . MoveNext ( ) )
109
110
{
110
- var key = UTF8 . GetString ( cur . Current . Key ) ;
111
- var value = UTF8 . GetString ( cur . Current . Value ) ;
111
+ var key = UTF8 . GetString ( cur . Current . Key . Span . ToArray ( ) ) ;
112
+ var value = UTF8 . GetString ( cur . Current . Value . Span . ToArray ( ) ) ;
112
113
113
114
var name = "key" + ++ i ;
114
115
@@ -135,7 +136,7 @@ public void CursorShouldDeleteElements()
135
136
}
136
137
using ( var cursor = _txn . CreateCursor ( _db ) )
137
138
{
138
- var foundDeleted = cursor . Select ( x => UTF8 . GetString ( x . Key ) )
139
+ var foundDeleted = cursor . Select ( x => UTF8 . GetString ( x . Key . Span . ToArray ( ) ) )
139
140
. Any ( x => x == "key1" || x == "key2" ) ;
140
141
Assert . False ( foundDeleted ) ;
141
142
}
@@ -153,8 +154,8 @@ public void ShouldIterateThroughCursorByEnumerator()
153
154
foreach ( var pair in cursor )
154
155
{
155
156
var name = "key" + ++ i ;
156
- Assert . Equal ( name , UTF8 . GetString ( pair . Key ) ) ;
157
- Assert . Equal ( name , UTF8 . GetString ( pair . Value ) ) ;
157
+ Assert . Equal ( name , UTF8 . GetString ( pair . Key . Span . ToArray ( ) ) ) ;
158
+ Assert . Equal ( name , UTF8 . GetString ( pair . Value . Span . ToArray ( ) ) ) ;
158
159
}
159
160
}
160
161
}
@@ -168,7 +169,7 @@ public void ShouldPutMultiple()
168
169
using ( var cur = _txn . CreateCursor ( _db ) )
169
170
cur . PutMultiple ( UTF8 . GetBytes ( "TestKey" ) , values ) ;
170
171
171
- var pairs = new KeyValuePair < byte [ ] , byte [ ] > [ values . Length ] ;
172
+ var pairs = new KeyValuePair < MDBValue , MDBValue > [ values . Length ] ;
172
173
173
174
using ( var cur = _txn . CreateCursor ( _db ) )
174
175
{
@@ -179,7 +180,7 @@ public void ShouldPutMultiple()
179
180
}
180
181
}
181
182
182
- Assert . Equal ( values , pairs . Select ( x => x . Value ) . ToArray ( ) ) ;
183
+ Assert . Equal ( values , pairs . Select ( x => x . Value . Span . ToArray ( ) ) . ToArray ( ) ) ;
183
184
}
184
185
185
186
[ Fact ]
@@ -197,8 +198,8 @@ public void ShouldGetMultiple()
197
198
cur . MoveNext ( ) ;
198
199
cur . GetMultiple ( ) ;
199
200
var resultPair = cur . Current ;
200
- Assert . Equal ( "TestKey" , UTF8 . GetString ( resultPair . Key ) ) ;
201
- var result = resultPair . Value . Split ( sizeof ( int ) )
201
+ Assert . Equal ( "TestKey" , UTF8 . GetString ( resultPair . Key . Span . ToArray ( ) ) ) ;
202
+ var result = resultPair . Value . Span . ToArray ( ) . Split ( sizeof ( int ) )
202
203
. Select ( x => BitConverter . ToInt32 ( x . ToArray ( ) , 0 ) ) . ToArray ( ) ;
203
204
Assert . Equal ( original , result ) ;
204
205
}
@@ -218,8 +219,8 @@ public void ShouldMoveNextMultiple()
218
219
{
219
220
cur . MoveNextMultiple ( ) ;
220
221
var resultPair = cur . Current ;
221
- Assert . Equal ( "TestKey" , UTF8 . GetString ( resultPair . Key ) ) ;
222
- var result = resultPair . Value . Split ( sizeof ( int ) )
222
+ Assert . Equal ( "TestKey" , UTF8 . GetString ( resultPair . Key . Span . ToArray ( ) ) ) ;
223
+ var result = resultPair . Value . Span . ToArray ( ) . Split ( sizeof ( int ) )
223
224
. Select ( x => BitConverter . ToInt32 ( x . ToArray ( ) , 0 ) ) . ToArray ( ) ;
224
225
Assert . Equal ( original , result ) ;
225
226
}
0 commit comments