github.com/ava-labs/avalanchego@v1.11.11/database/memdb/db_test.go (about)

     1  // Copyright (C) 2019-2024, Ava Labs, Inc. All rights reserved.
     2  // See the file LICENSE for licensing terms.
     3  
     4  package memdb
     5  
     6  import (
     7  	"fmt"
     8  	"testing"
     9  
    10  	"github.com/ava-labs/avalanchego/database/dbtest"
    11  )
    12  
    13  func TestInterface(t *testing.T) {
    14  	for name, test := range dbtest.Tests {
    15  		t.Run(name, func(t *testing.T) {
    16  			test(t, New())
    17  		})
    18  	}
    19  }
    20  
    21  func FuzzKeyValue(f *testing.F) {
    22  	dbtest.FuzzKeyValue(f, New())
    23  }
    24  
    25  func FuzzNewIteratorWithPrefix(f *testing.F) {
    26  	dbtest.FuzzNewIteratorWithPrefix(f, New())
    27  }
    28  
    29  func FuzzNewIteratorWithStartAndPrefix(f *testing.F) {
    30  	dbtest.FuzzNewIteratorWithStartAndPrefix(f, New())
    31  }
    32  
    33  func BenchmarkInterface(b *testing.B) {
    34  	for _, size := range dbtest.BenchmarkSizes {
    35  		keys, values := dbtest.SetupBenchmark(b, size[0], size[1], size[2])
    36  		for name, bench := range dbtest.Benchmarks {
    37  			b.Run(fmt.Sprintf("memdb_%d_pairs_%d_keys_%d_values_%s", size[0], size[1], size[2], name), func(b *testing.B) {
    38  				db := New()
    39  				bench(b, db, keys, values)
    40  			})
    41  		}
    42  	}
    43  }