github.com/qxnw/lib4go@v0.0.0-20180426074627-c80c7e84b925/influxdb/models/inline_fnv_test.go (about)

     1  package models_test
     2  
     3  import (
     4  	"hash/fnv"
     5  	"testing"
     6  	"testing/quick"
     7  
     8  	"github.com/qxnw/lib4go/influxdb/models"
     9  )
    10  
    11  func TestInlineFNV64aEquivalenceFuzz(t *testing.T) {
    12  	f := func(data []byte) bool {
    13  		stdlibFNV := fnv.New64a()
    14  		stdlibFNV.Write(data)
    15  		want := stdlibFNV.Sum64()
    16  
    17  		inlineFNV := models.NewInlineFNV64a()
    18  		inlineFNV.Write(data)
    19  		got := inlineFNV.Sum64()
    20  
    21  		return want == got
    22  	}
    23  	cfg := &quick.Config{
    24  		MaxCount: 10000,
    25  	}
    26  	if err := quick.Check(f, cfg); err != nil {
    27  		t.Fatal(err)
    28  	}
    29  }