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

Function TestDB_Iterator

driver/hybriddb/db_test.go:188–232  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

186}
187
188func TestDB_Iterator(t *testing.T) {
189 tempDir := t.TempDir()
190 cfg := &config.Config{
191 LevelDB: config.LevelDBConfig{
192 CacheSize: 64 * 1024 * 1024,
193 BlockSize: 4 * 1024,
194 WriteBufferSize: 4 * 1024 * 1024,
195 MaxOpenFiles: 1000,
196 Compression: true,
197 },
198 }
199
200 db, err := Store{}.Open(tempDir, cfg)
201 require.NoError(t, err)
202 defer db.Close()
203
204 // Insert test data
205 testData := map[string]string{
206 "a": "1",
207 "b": "2",
208 "c": "3",
209 }
210
211 for k, v := range testData {
212 err = db.Put([]byte(k), []byte(v))
213 require.NoError(t, err)
214 }
215
216 // Test iterator
217 iter := db.NewIterator()
218 defer iter.Close()
219
220 count := 0
221 for iter.First(); iter.Valid(); iter.Next() {
222 key := string(iter.Key())
223 value := string(iter.Value())
224
225 expectedValue, exists := testData[key]
226 assert.True(t, exists)
227 assert.Equal(t, expectedValue, value)
228 count++
229 }
230
231 assert.Equal(t, len(testData), count)
232}
233
234func TestDB_Snapshot(t *testing.T) {
235 tempDir := t.TempDir()

Callers

nothing calls this directly

Calls 11

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

Tested by

no test coverage detected