package board import ( "math/rand" "testing" "time" ) var testBoard = `~~~~~~~~▲▲▲~▲▲~~*~*~~**~*▲****▲▲***▲~▲***~~▲~~▲~▲~~~~~▲~ ▲~~~~▲~~~~~~~~~~~▲▲▲*~▲▲*▲▲***▲*▲*~▲▲▲~**~▲~~~~~~~~~▲~▲~ ~~~~~~~~~~▲~~~▲~▲~~**▲~~*~**▲▲**▲~*▲~***▲▲~▲~~~~~▲~~~▲▲~ ~~▲~~~~~~▲~~~~▲▲*~~*▲~****▲▲*****▲*~****▲▲~▲~~~~~▲~~~~~~ ~▲~~~~~▲▲~~~~~~~~▲▲~~▲*▲*~*▲▲****▲*▲**~**~~~▲~~~~~~~~~~~ ~~▲~~▲▲▲~~~~~▲~▲~*~******▲▲*▲*****~*~~***~~~~~▲~~~~~~~~~ ▲~~~~~~~~▲▲~▲~~▲▲****~~**~***▲****▲*~~~*~~▲~▲~▲~~~~~~▲▲▲ ▲~~~~~~~~▲~~~~~~~**~***▲**~**~~****~*▲*~~~~▲~~▲~~~~~~~~~ ~~▲~▲~~▲~~~~~~~~~***▲**********~~**▲***~*~~~▲▲~~~▲~~▲~~▲ ▲~~~~~▲~~~~▲~▲~~*~*~~*******▲***▲**▲▲*~~~~~~▲~▲~~~~~▲▲~~ ~▲~~~~~~~~~▲~~~~****▲~*▲**▲****▲▲**~*▲***~~▲▲~▲▲▲~~~~▲~~ ~▲~▲~~~~~▲~~~~~▲**▲**~*~▲*~***▲▲*~*▲***~~~~~~~~~~~~~~~~~ ~▲~~▲~~~▲~▲~▲~~▲*~~▲*~▲**▲▲***▲▲**~*~**~~~~▲▲▲▲~~~~~~~~~ ▲~▲~~▲▲~~▲~~~▲~~~~********▲▲▲▲***▲*~***▲▲~~~~▲~~~~~~~▲~~ ~▲~~~~▲▲~~~~~▲~~▲*~*▲▲*▲****▲▲******▲*~~*~~~~▲~~~~~~~▲~~ ~~~~~~~~~~~~~~▲▲~▲~******▲*▲*▲**~*~*~**~*~~~~~~~~▲▲~~~~▲ ~~▲▲~~~~~~~~~~~▲***▲~*▲**▲*~***▲*********~~~~▲▲~~~~~▲~~~ ~~▲~~~~~~▲▲▲~~~~*~~▲~*~▲*▲*▲*****▲**▲~*▲*~▲~~~~▲▲~▲~~~~~ ~~~~~~▲~~~▲▲~~~~*▲▲**~**▲*▲*▲***▲**▲*****~~~~▲~~~~~~~▲~~ ~~▲~~~~▲~~~~~▲~~~*~********▲**▲*~*▲*▲**▲~~~~~~~~~~~~~~▲~ ~~~~~~~~~~~~~~▲~*~*~~****~~**▲*****▲**~*~~~▲~▲~~▲~~~▲~~▲ ~▲~~~▲~▲▲~~~~~~~~*~**~~*▲**▲*▲▲***~******~▲~~~~~~▲~~~~~~ ~~~~~~~~▲~~~~~~~~*▲**▲*▲***▲▲**▲~***~▲*~*~~▲~~~~~▲~~~~~~ ~~~~▲~▲~~▲~~▲▲~~**~▲*******~***~▲~**~*~~▲~~~~~~~~▲~~~~~~ ~~▲~~~~~~~~~~~~~**~▲**~***~**▲***▲*~*▲▲*~~~~▲▲~~~~~~~▲~~ ~~~~▲~~~▲~~▲▲~▲~▲▲*▲*▲*▲**▲**▲*~******▲*▲▲~~~~~~~~~~~▲~~ ~~~▲~~~~~~~~~~~~*~~▲▲▲▲▲*******~**▲▲*~▲*~~~~~~~~~~▲~~~▲~ ▲~~~~~~▲~~~~▲~~~*▲▲▲****▲▲****▲***▲~▲▲▲*▲~~~~~~~~▲~~~~~~ ~~~~~▲~▲~~~~~~~~*~~*****▲********~~~~▲**~~~▲▲~~~~▲~~~~~~ ~~▲~~~▲~~~▲~~▲~▲▲▲******▲*******▲***▲▲***~~~~~~~~~~~▲~▲~ ~▲~▲~~~~~~▲~~~~▲*~~***~~~*****▲**▲~*~*~~~~▲▲~~~~~~▲~~~~~ ~~~▲~~~~~~~~~~~~~▲**~*~*▲*▲▲**▲~▲*****▲**▲~~~~~~▲~~▲~~~▲ ▲~▲~~~▲~▲▲▲~~~~▲~*~▲~~▲▲▲**▲********▲***~~~~~▲~~~▲~~~~~~ ~~~~▲~~~~~~▲~~~~~▲~*▲*▲*******▲**▲**▲~~*~~▲~~~~~~~~~▲▲~~ ▲~▲~▲~~▲▲~~~~~~~~▲~**▲******▲********▲~**~▲▲~~~~▲▲~~▲~~▲ ` func TestNewBoard(t *testing.T) { r := rand.New(rand.NewSource(0)) b := newBoard(56, 35, r) if testBoard != b.String() { t.Fatalf("Incorrect board:\n %v", b) } } func BenchmarkNew(b *testing.B) { for i := 0; i < b.N; i++ { New(56, 35) } } func BenchmarkRnd(b *testing.B) { for i := 0; i < b.N; i++ { for j := 0; j < 50*50; j++ { rand.Intn(10) } } } func BenchmarkR(b *testing.B) { r := rand.New(rand.NewSource(time.Now().UnixNano())) for i := 0; i < b.N; i++ { for j := 0; j < 50*50; j++ { r.Intn(10) } } }