MCPcopy Create free account
hub / github.com/IceFireDB/IceFireDB / TestIterator

Function TestIterator

driver/ipfs-synckv/iterator_test.go:11–49  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

9)
10
11func TestIterator(t *testing.T) {
12 tmpDir, err := os.MkdirTemp("", "ipfs-synckv-test")
13 require.NoError(t, err)
14 defer os.RemoveAll(tmpDir)
15
16 cfg := config.NewConfigDefault()
17 store := Store{}
18 db, err := store.Open(tmpDir, cfg)
19 require.NoError(t, err)
20 defer db.Close()
21
22 // Insert test data
23 testData := map[string][]byte{
24 "key1": []byte("value1"),
25 "key2": []byte("value2"),
26 "key3": []byte("value3"),
27 }
28
29 for k, v := range testData {
30 require.NoError(t, db.Put([]byte(k), v))
31 }
32
33 // Test iterator
34 iter := db.NewIterator()
35 defer iter.Close()
36
37 count := 0
38 iter.First()
39 for iter.Valid() {
40 count++
41 key := iter.Key()
42 value := iter.Value()
43 expected, exists := testData[string(key)]
44 require.True(t, exists)
45 require.Equal(t, expected, value)
46 iter.Next()
47 }
48 require.Equal(t, len(testData), count)
49}
50
51func TestIteratorPrefix(t *testing.T) {
52 tmpDir, err := os.MkdirTemp("", "ipfs-synckv-test")

Callers

nothing calls this directly

Calls 11

OpenMethod · 0.95
CloseMethod · 0.95
FirstMethod · 0.95
ValidMethod · 0.95
KeyMethod · 0.95
ValueMethod · 0.95
NextMethod · 0.95
CloseMethod · 0.65
EqualMethod · 0.65
PutMethod · 0.45
NewIteratorMethod · 0.45

Tested by

no test coverage detected