github.com/ipld/go-ipld-prime@v0.21.0/node/tests/mapFixtures.go (about) 1 package tests 2 3 import ( 4 "fmt" 5 6 "github.com/ipld/go-ipld-prime/datamodel" 7 "github.com/ipld/go-ipld-prime/must" 8 ) 9 10 var tableStrInt = [25]struct { 11 s string 12 i int64 13 }{} 14 15 func init() { 16 for i := int64(1); i <= 25; i++ { 17 tableStrInt[i-1] = struct { 18 s string 19 i int64 20 }{fmt.Sprintf("k%d", i), i} 21 } 22 } 23 24 // extracted for reuse between correctness tests and benchmarks 25 func buildMapStrIntN3(np datamodel.NodePrototype) datamodel.Node { 26 nb := np.NewBuilder() 27 ma, err := nb.BeginMap(3) 28 must.NotError(err) 29 must.NotError(ma.AssembleKey().AssignString("whee")) 30 must.NotError(ma.AssembleValue().AssignInt(1)) 31 must.NotError(ma.AssembleKey().AssignString("woot")) 32 must.NotError(ma.AssembleValue().AssignInt(2)) 33 must.NotError(ma.AssembleKey().AssignString("waga")) 34 must.NotError(ma.AssembleValue().AssignInt(3)) 35 must.NotError(ma.Finish()) 36 return nb.Build() 37 } 38 39 // extracted for reuse across benchmarks 40 func buildMapStrIntN25(np datamodel.NodePrototype) datamodel.Node { 41 nb := np.NewBuilder() 42 ma, err := nb.BeginMap(25) 43 must.NotError(err) 44 for i := 1; i <= 25; i++ { 45 must.NotError(ma.AssembleKey().AssignString(tableStrInt[i-1].s)) 46 must.NotError(ma.AssembleValue().AssignInt(tableStrInt[i-1].i)) 47 } 48 must.NotError(ma.Finish()) 49 return nb.Build() 50 }