func BenchmarkZBox2_1M(b *testing.B) { b.StopTimer() p := makeTestString2(1000000) b.StartTimer() for i := 0; i < b.N; i++ { core.PrecalcZboxes(p) } }
func BenchmarkZBox3_100k(b *testing.B) { b.StopTimer() p := makeTestString3(100000, 255) b.StartTimer() for i := 0; i < b.N; i++ { core.PrecalcZboxes(p) } }
func ZBoxSpec(c gospec.Context) { c.Specify("Comprehensive test 3^9", func() { p := make([]byte, 9) for augment(p, 3) { c.Expect(core.PrecalcZboxes(p), ContainsExactly, idiotZboxer(p)) } }) c.Specify("Comprehensive test 2^15", func() { p := make([]byte, 15) for augment(p, 2) { c.Expect(core.PrecalcZboxes(p), ContainsExactly, idiotZboxer(p)) } }) c.Specify("Basic test.", func() { p := "" c.Expect(core.PrecalcZboxes([]byte(p)), ContainsExactly, idiotZboxer([]byte(p))) p = "a" c.Expect(core.PrecalcZboxes([]byte(p)), ContainsExactly, idiotZboxer([]byte(p))) p = "abcabc" c.Expect(core.PrecalcZboxes([]byte(p)), ContainsExactly, idiotZboxer([]byte(p))) p = "aabcabc" c.Expect(core.PrecalcZboxes([]byte(p)), ContainsExactly, idiotZboxer([]byte(p))) p = "aaabcabc" c.Expect(core.PrecalcZboxes([]byte(p)), ContainsExactly, idiotZboxer([]byte(p))) p = "aabcaabc" c.Expect(core.PrecalcZboxes([]byte(p)), ContainsExactly, idiotZboxer([]byte(p))) p = "aabcaaabc" c.Expect(core.PrecalcZboxes([]byte(p)), ContainsExactly, idiotZboxer([]byte(p))) p = "aabcaaaabc" c.Expect(core.PrecalcZboxes([]byte(p)), ContainsExactly, idiotZboxer([]byte(p))) p = "aabcaaaabc*aabcaaaabc" c.Expect(core.PrecalcZboxes([]byte(p)), ContainsExactly, idiotZboxer([]byte(p))) p = "aabcaaaabc*aabcaaaabc*aabcaaaabc*aabcaaaabc*aabcaaaabc" c.Expect(core.PrecalcZboxes([]byte(p)), ContainsExactly, idiotZboxer([]byte(p))) p = "abcdefghijklmnopq" c.Expect(core.PrecalcZboxes([]byte(p)), ContainsExactly, idiotZboxer([]byte(p))) p = "abcdefghijklmnopqabcdefghijklmnopqabcdefghijklmnopq" c.Expect(core.PrecalcZboxes([]byte(p)), ContainsExactly, idiotZboxer([]byte(p))) p = "abcdefghijklmnopqabc efghijklmnopqab cdefghijklmnopq" c.Expect(core.PrecalcZboxes([]byte(p)), ContainsExactly, idiotZboxer([]byte(p))) p = "aaaaaaaaaaaaaaaaaa" c.Expect(core.PrecalcZboxes([]byte(p)), ContainsExactly, idiotZboxer([]byte(p))) p = "bbbbbbbbbbbaaaaaaaaaaaa" c.Expect(core.PrecalcZboxes([]byte(p)), ContainsExactly, idiotZboxer([]byte(p))) p = "bbbbbbbaaaaaaaaabbbbbbbbbbbbbbaaaabbbbbbbbbaaaaabbaaaaaaaaabbaa" c.Expect(core.PrecalcZboxes([]byte(p)), ContainsExactly, idiotZboxer([]byte(p))) p = "aabbaaa" c.Expect(core.PrecalcZboxes([]byte(p)), ContainsExactly, idiotZboxer([]byte(p))) }) }