1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
package sketch
import (
"os"
"path"
"reflect"
"testing"
"github.com/chmduquesne/rollinghash/rabinkarp64"
)
func TestSketchChunk(t *testing.T) {
var sketch, expected Sketch
var err error
dataDir := "testdata"
pol, err := rabinkarp64.RandomPolynomial(1)
if err != nil {
t.Fatal(err)
}
c0, err := os.Open(path.Join(dataDir, "000000000000000"))
if err != nil {
t.Fatal(err)
}
sketch, err = SketchChunk(c0, pol, 8<<10, 32, 3, 4)
if err != nil {
t.Fatal(err)
}
expected = Sketch{429857165471867, 6595034117354675, 8697818304802825}
if !reflect.DeepEqual(sketch, expected) {
t.Errorf("Sketch does not match, expected: %d, actual: %d", expected, sketch)
}
c14, err := os.Open(path.Join(dataDir, "000000000000014"))
sketch, err = SketchChunk(c14, pol, 8<<10, 32, 3, 4)
if err != nil {
t.Error(err)
}
expected = Sketch{658454504014104}
if !reflect.DeepEqual(sketch, expected) {
t.Errorf("Sketch does not match, expected: %d, actual: %d", expected, sketch)
}
}
|