Skip to content

Commit 3528a88

Browse files
committed
Renamed methods to be closer to the native lib counterpart
1 parent 70c53ec commit 3528a88

File tree

5 files changed

+95
-54
lines changed

5 files changed

+95
-54
lines changed

src/LightningDB.Tests/CursorTests.cs

Lines changed: 68 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ private static byte[][] PopulateCursorValues(LightningCursor cursor, int count =
4040
private static byte[][] PopulateMultipleCursorValues(LightningCursor cursor, string key = "TestKey")
4141
{
4242
var values = Enumerable.Range(1, 5).Select(BitConverter.GetBytes).ToArray();
43-
var result = cursor.PutMultiple(UTF8.GetBytes(key), values);
43+
var result = cursor.Put(UTF8.GetBytes(key), values);
4444
Assert.Equal(MDBResultCode.Success, result);
4545
var notDuplicate = values[0];
4646
result = cursor.Put(notDuplicate, notDuplicate, CursorPutOptions.NoDuplicateData);
@@ -68,13 +68,13 @@ public void CursorShouldPutValues()
6868
}
6969

7070
[Fact]
71-
public void CursorShouldMoveToSpanKey()
71+
public void CursorShouldSetSpanKey()
7272
{
7373
_env.RunCursorScenario((tx, db, c) =>
7474
{
7575
var keys = PopulateCursorValues(c);
7676
var firstKey = keys.First();
77-
var result = c.MoveTo(firstKey.AsSpan());
77+
var result = c.Set(firstKey.AsSpan());
7878
Assert.Equal(MDBResultCode.Success, result);
7979
var current = c.GetCurrent();
8080
Assert.Equal(firstKey, current.key.CopyToNewArray());
@@ -88,7 +88,7 @@ public void CursorShouldMoveToLast()
8888
{
8989
var keys = PopulateCursorValues(c);
9090
var lastKey = keys.Last();
91-
var result = c.MoveToLast();
91+
var result = c.Last();
9292
Assert.Equal(MDBResultCode.Success, result);
9393
var current = c.GetCurrent();
9494
Assert.Equal(lastKey, current.key.CopyToNewArray());
@@ -102,7 +102,7 @@ public void CursorShouldMoveToFirst()
102102
{
103103
var keys = PopulateCursorValues(c);
104104
var firstKey = keys.First();
105-
var result = c.MoveToFirst();
105+
var result = c.First();
106106
Assert.Equal(MDBResultCode.Success, result);
107107
var current = c.GetCurrent();
108108
Assert.Equal(firstKey, current.key.CopyToNewArray());
@@ -134,7 +134,7 @@ public void CursorShouldDeleteElements()
134134
var keys = PopulateCursorValues(c).Take(2).ToArray();
135135
for (var i = 0; i < 2; ++i)
136136
{
137-
c.MoveNext();
137+
c.Next();
138138
c.Delete();
139139
}
140140

@@ -158,8 +158,8 @@ public void ShouldGetMultiple()
158158
{
159159
var key = UTF8.GetBytes("TestKey");
160160
var keys = PopulateMultipleCursorValues(c);
161-
c.MoveTo(key);
162-
c.MoveNextDuplicate();
161+
c.Set(key);
162+
c.NextDuplicate();
163163
var (resultCode, _, value) = c.GetMultiple();
164164
Assert.Equal(MDBResultCode.Success, resultCode);
165165
Assert.Equal(keys, value.CopyToNewArray().Split(sizeof(int)).ToArray());
@@ -173,7 +173,7 @@ public void ShouldGetNextMultiple()
173173
{
174174
var key = UTF8.GetBytes("TestKey");
175175
var keys = PopulateMultipleCursorValues(c);
176-
c.MoveTo(key);
176+
c.Set(key);
177177
var (resultCode, _, value) = c.NextMultiple();
178178
Assert.Equal(MDBResultCode.Success, resultCode);
179179
Assert.Equal(keys, value.CopyToNewArray().Split(sizeof(int)).ToArray());
@@ -186,82 +186,109 @@ public void ShouldAdvanceKeyToClosestWhenKeyNotFound()
186186
_env.RunCursorScenario((tx, db, c) =>
187187
{
188188
var expected = PopulateCursorValues(c).First();
189-
var result = c.MoveTo(UTF8.GetBytes("key"));
189+
var result = c.Set(UTF8.GetBytes("key"));
190190
Assert.Equal(MDBResultCode.NotFound, result);
191191
var (_, key, _) = c.GetCurrent();
192192
Assert.Equal(expected, key.CopyToNewArray());
193193
});
194194
}
195195

196196
[Fact]
197-
public void ShouldMoveToAndGet()
197+
public void ShouldSetKeyAndGet()
198198
{
199199
_env.RunCursorScenario((tx, db, c) =>
200200
{
201201
var expected = PopulateCursorValues(c).ElementAt(2);
202-
var result = c.MoveToAndGet(expected);
202+
var result = c.SetKey(expected);
203203
Assert.Equal(MDBResultCode.Success, result.resultCode);
204204
Assert.Equal(expected, result.key.CopyToNewArray());
205205
});
206206
}
207207

208208
[Fact]
209-
public void ShouldMoveToAndGetWithSpan()
209+
public void ShouldSetKeyAndGetWithSpan()
210210
{
211211
_env.RunCursorScenario((tx, db, c) =>
212212
{
213213
var expected = PopulateCursorValues(c).ElementAt(2);
214-
var result = c.MoveToAndGet(expected.AsSpan());
214+
var result = c.SetKey(expected.AsSpan());
215215
Assert.Equal(MDBResultCode.Success, result.resultCode);
216216
Assert.Equal(expected, result.key.CopyToNewArray());
217217
});
218218
}
219219

220220
[Fact]
221-
public void ShouldMoveTo()
221+
public void ShouldGetBoth()
222222
{
223223
_env.RunCursorScenario((tx, db, c) =>
224224
{
225225
var expected = PopulateCursorValues(c).ElementAt(2);
226-
var result = c.MoveTo(expected, expected);
226+
var result = c.GetBoth(expected, expected);
227227
Assert.Equal(MDBResultCode.Success, result);
228228
}, DatabaseOpenFlags.DuplicatesFixed | DatabaseOpenFlags.Create);
229229
}
230230

231231
[Fact]
232-
public void ShouldMoveToWithSpan()
232+
public void ShouldGetBothWithSpan()
233233
{
234234
_env.RunCursorScenario((tx, db, c) =>
235235
{
236236
var expected = PopulateCursorValues(c).ElementAt(2);
237237
var expectedSpan = expected.AsSpan();
238-
var result = c.MoveTo(expectedSpan, expectedSpan);
238+
var result = c.GetBoth(expectedSpan, expectedSpan);
239239
Assert.Equal(MDBResultCode.Success, result);
240240
}, DatabaseOpenFlags.DuplicatesFixed | DatabaseOpenFlags.Create);
241241
}
242242

243243
[Fact]
244-
public void ShouldMoveToFirstValueAfter()
244+
public void ShouldMoveToPrevious()
245+
{
246+
_env.RunCursorScenario((tx, db, c) =>
247+
{
248+
var expected = PopulateCursorValues(c).ElementAt(2);
249+
var expectedSpan = expected.AsSpan();
250+
c.GetBoth(expectedSpan, expectedSpan);
251+
var result = c.Previous();
252+
Assert.Equal(MDBResultCode.Success, result);
253+
});
254+
}
255+
256+
[Fact]
257+
public void ShouldSetRangeWithSpan()
258+
{
259+
_env.RunCursorScenario((tx, db, c) =>
260+
{
261+
var values = PopulateCursorValues(c);
262+
var firstAfter = values[0].AsSpan();
263+
var result = c.SetRange(firstAfter);
264+
Assert.Equal(MDBResultCode.Success, result);
265+
var current = c.GetCurrent();
266+
Assert.Equal(values[0], current.value.CopyToNewArray());
267+
});
268+
}
269+
270+
[Fact]
271+
public void ShouldGetBothRange()
245272
{
246273
_env.RunCursorScenario((tx, db, c) =>
247274
{
248275
var key = UTF8.GetBytes("TestKey");
249276
var values = PopulateMultipleCursorValues(c);
250-
var result = c.MoveToFirstValueAfter(key, values[1]);
277+
var result = c.GetBothRange(key, values[1]);
251278
Assert.Equal(MDBResultCode.Success, result);
252279
var current = c.GetCurrent();
253280
Assert.Equal(values[1], current.value.CopyToNewArray());
254281
}, DatabaseOpenFlags.DuplicatesFixed | DatabaseOpenFlags.Create);
255282
}
256283

257284
[Fact]
258-
public void ShouldMoveToFirstValueAfterWithSpan()
285+
public void ShouldGetBothRangeWithSpan()
259286
{
260287
_env.RunCursorScenario((tx, db, c) =>
261288
{
262289
var key = UTF8.GetBytes("TestKey").AsSpan();
263290
var values = PopulateMultipleCursorValues(c);
264-
var result = c.MoveToFirstValueAfter(key, values[1].AsSpan());
291+
var result = c.GetBothRange(key, values[1].AsSpan());
265292
Assert.Equal(MDBResultCode.Success, result);
266293
var current = c.GetCurrent();
267294
Assert.Equal(values[1], current.value.CopyToNewArray());
@@ -275,9 +302,9 @@ public void ShouldMoveToFirstDuplicate()
275302
{
276303
var key = UTF8.GetBytes("TestKey");
277304
var values = PopulateMultipleCursorValues(c);
278-
var result = c.MoveToFirstValueAfter(key, values[1]);
305+
var result = c.GetBothRange(key, values[1]);
279306
Assert.Equal(MDBResultCode.Success, result);
280-
result = c.MoveToFirstDuplicate();
307+
result = c.FirstDuplicate();
281308
Assert.Equal(MDBResultCode.Success, result);
282309
var current = c.GetCurrent();
283310
Assert.Equal(values[0], current.value.CopyToNewArray());
@@ -291,8 +318,8 @@ public void ShouldMoveToLastDuplicate()
291318
{
292319
var key = UTF8.GetBytes("TestKey");
293320
var values = PopulateMultipleCursorValues(c);
294-
c.MoveTo(key);
295-
var result = c.MoveToLastDuplicate();
321+
c.Set(key);
322+
var result = c.LastDuplicate();
296323
Assert.Equal(MDBResultCode.Success, result);
297324
var current = c.GetCurrent();
298325
Assert.Equal(values[4], current.value.CopyToNewArray());
@@ -305,7 +332,7 @@ public void ShouldMoveToNextNoDuplicate()
305332
_env.RunCursorScenario((tx, db, c) =>
306333
{
307334
var values = PopulateMultipleCursorValues(c);
308-
var result = c.MoveNextNoDuplicate();
335+
var result = c.NextNoDuplicate();
309336
Assert.Equal(MDBResultCode.Success, result);
310337
var current = c.GetCurrent();
311338
Assert.Equal(values[0], current.value.CopyToNewArray());
@@ -321,5 +348,19 @@ public void ShouldRenewSameTransaction()
321348
Assert.Equal(MDBResultCode.Success, result);
322349
}, transactionFlags: TransactionBeginFlags.ReadOnly);
323350
}
351+
352+
[Fact]
353+
public void ShouldDeleteDuplicates()
354+
{
355+
_env.RunCursorScenario((tx, db, c) =>
356+
{
357+
var key = UTF8.GetBytes("TestKey");
358+
PopulateMultipleCursorValues(c);
359+
c.Set(key);
360+
c.DeleteDuplicateData();
361+
var result = c.Set(key);
362+
Assert.Equal(MDBResultCode.NotFound, result);
363+
}, DatabaseOpenFlags.DuplicatesFixed | DatabaseOpenFlags.Create);
364+
}
324365
}
325366
}

src/LightningDB.Tests/DatabaseTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public void NamedDatabaseNameExistsInMaster()
8888
var db = tx.OpenDatabase();
8989
using (var cursor = tx.CreateCursor(db))
9090
{
91-
cursor.MoveNext();
91+
cursor.Next();
9292
Assert.Equal("customdb", UTF8.GetString(cursor.GetCurrent().key.CopyToNewArray()));
9393
}
9494
}

src/LightningDB.Tests/TransactionTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ public void TransactionShouldSupportCustomComparer()
215215
using (var c = txn.CreateCursor(db))
216216
{
217217
int order = 0;
218-
while (c.MoveNext() == MDBResultCode.Success)
218+
while (c.Next() == MDBResultCode.Success)
219219
Assert.Equal(keysSorted[order++], BitConverter.ToInt32(c.GetCurrent().key.CopyToNewArray(), 0));
220220
}
221221
}
@@ -236,13 +236,13 @@ public void TransactionShouldSupportCustomDupSorter()
236236
Array.Sort(valuesSorted, new Comparison<int>(comparison));
237237

238238
using (var c = txn.CreateCursor(db))
239-
c.PutMultiple(BitConverter.GetBytes(123), valuesUnsorted.Select(BitConverter.GetBytes).ToArray());
239+
c.Put(BitConverter.GetBytes(123), valuesUnsorted.Select(BitConverter.GetBytes).ToArray());
240240

241241
using (var c = txn.CreateCursor(db))
242242
{
243243
int order = 0;
244244

245-
while (c.MoveNext() == MDBResultCode.Success)
245+
while (c.Next() == MDBResultCode.Success)
246246
Assert.Equal(valuesSorted[order++], BitConverter.ToInt32(c.GetCurrent().value.CopyToNewArray(), 0));
247247
}
248248
}

0 commit comments

Comments
 (0)