67 lines
2.1 KiB
Go
67 lines
2.1 KiB
Go
package testutil
|
|
|
|
import "testing"
|
|
|
|
func TestSnakeA(test *testing.T) {
|
|
snake := S(1, 6).AddVar(
|
|
[]byte { 1 },
|
|
[]byte { 2 },
|
|
[]byte { 3 },
|
|
[]byte { 4 },
|
|
[]byte { 5 },
|
|
).Add(9)
|
|
|
|
test.Log(snake)
|
|
|
|
ok, n := snake.Check([]byte { 1, 6, 1, 2, 3, 4, 5, 9 })
|
|
if !ok { test.Fatal("false negative:", n) }
|
|
ok, n = snake.Check([]byte { 1, 6, 5, 4, 3, 2, 1, 9 })
|
|
if !ok { test.Fatal("false negative:", n) }
|
|
ok, n = snake.Check([]byte { 1, 6, 3, 1, 4, 2, 5, 9 })
|
|
if !ok { test.Fatal("false negative:", n) }
|
|
|
|
ok, n = snake.Check([]byte { 1, 6, 9 })
|
|
if ok { test.Fatal("false positive:", n) }
|
|
ok, n = snake.Check([]byte { 1, 6, 1, 2, 3, 4, 5, 6, 9 })
|
|
if ok { test.Fatal("false positive:", n) }
|
|
ok, n = snake.Check([]byte { 1, 6, 0, 2, 3, 4, 5, 6, 9 })
|
|
if ok { test.Fatal("false positive:", n) }
|
|
ok, n = snake.Check([]byte { 1, 6, 7, 1, 4, 2, 5, 9 })
|
|
if ok { test.Fatal("false positive:", n) }
|
|
ok, n = snake.Check([]byte { 1, 6, 7, 3, 1, 4, 2, 5, 9 })
|
|
if ok { test.Fatal("false positive:", n) }
|
|
ok, n = snake.Check([]byte { 1, 6, 7, 3, 1, 4, 2, 5, 9 })
|
|
if ok { test.Fatal("false positive:", n) }
|
|
ok, n = snake.Check([]byte { 1, 6, 1, 2, 3, 4, 5, 9, 10})
|
|
if ok { test.Fatal("false positive:", n) }
|
|
}
|
|
|
|
func TestSnakeB(test *testing.T) {
|
|
snake := S(1, 6).AddVar(
|
|
[]byte { 1 },
|
|
[]byte { 2 },
|
|
).Add(9).AddVar(
|
|
[]byte { 3, 2 },
|
|
[]byte { 0 },
|
|
[]byte { 1, 1, 2, 3 },
|
|
)
|
|
|
|
test.Log(snake)
|
|
|
|
ok, n := snake.Check([]byte { 1, 6, 1, 2, 9, 3, 2, 0, 1, 1, 2, 3})
|
|
if !ok { test.Fatal("false negative:", n) }
|
|
ok, n = snake.Check([]byte { 1, 6, 2, 1, 9, 0, 1, 1, 2, 3, 3, 2})
|
|
if !ok { test.Fatal("false negative:", n) }
|
|
|
|
ok, n = snake.Check([]byte { 1, 6, 9 })
|
|
if ok { test.Fatal("false positive:", n) }
|
|
ok, n = snake.Check([]byte { 1, 6, 1, 2, 9 })
|
|
if ok { test.Fatal("false positive:", n) }
|
|
ok, n = snake.Check([]byte { 1, 6, 9, 3, 2, 0, 1, 1, 2, 3})
|
|
if ok { test.Fatal("false positive:", n) }
|
|
ok, n = snake.Check([]byte { 1, 6, 2, 9, 0, 1, 1, 2, 3, 3, 2})
|
|
if ok { test.Fatal("false positive:", n) }
|
|
ok, n = snake.Check([]byte { 1, 6, 1, 2, 9, 3, 2, 1, 1, 2, 3})
|
|
if ok { test.Fatal("false positive:", n) }
|
|
}
|