|
@@ -3,6 +3,7 @@ package board
|
|
|
import (
|
|
import (
|
|
|
"math/rand"
|
|
"math/rand"
|
|
|
"testing"
|
|
"testing"
|
|
|
|
|
+ "time"
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
var testBoard = `~~~~~~~~▲▲▲~▲▲~~*~*~~**~*▲****▲▲***▲~▲***~~▲~~▲~▲~~~~~▲~
|
|
var testBoard = `~~~~~~~~▲▲▲~▲▲~~*~*~~**~*▲****▲▲***▲~▲***~~▲~~▲~▲~~~~~▲~
|
|
@@ -21,9 +22,9 @@ var testBoard = `~~~~~~~~▲▲▲~▲▲~~*~*~~**~*▲****▲▲***▲~▲***~~
|
|
|
▲~▲~~▲▲~~▲~~~▲~~~~********▲▲▲▲***▲*~***▲▲~~~~▲~~~~~~~▲~~
|
|
▲~▲~~▲▲~~▲~~~▲~~~~********▲▲▲▲***▲*~***▲▲~~~~▲~~~~~~~▲~~
|
|
|
~▲~~~~▲▲~~~~~▲~~▲*~*▲▲*▲****▲▲******▲*~~*~~~~▲~~~~~~~▲~~
|
|
~▲~~~~▲▲~~~~~▲~~▲*~*▲▲*▲****▲▲******▲*~~*~~~~▲~~~~~~~▲~~
|
|
|
~~~~~~~~~~~~~~▲▲~▲~******▲*▲*▲**~*~*~**~*~~~~~~~~▲▲~~~~▲
|
|
~~~~~~~~~~~~~~▲▲~▲~******▲*▲*▲**~*~*~**~*~~~~~~~~▲▲~~~~▲
|
|
|
-~~▲▲~~~~~~~~~~~▲***▲~*▲**▲*~***▲*********~~~~▲▲~~~~~▲~~~
|
|
|
|
|
-~~▲~~~~~~▲▲▲~~~~*~~▲~*~▲*▲*▲*****▲**▲~*▲*~▲~~~~▲▲~▲~~~~⌂
|
|
|
|
|
-~~~~~~~▲~~~▲▲~~~*~▲**~**▲*▲*▲***▲**▲*****~~~~▲~~~~~~~▲~~
|
|
|
|
|
|
|
+~~▲▲~~~~~~~~~~~▲***▲~*▲**▲*~***▲*********~~~~▲▲~~~~~▲~⌂~
|
|
|
|
|
+~~▲~~~~~~▲▲▲~~~~*~~▲~*~▲*▲*▲*****▲**▲~*▲*~▲~~~~▲▲~▲~~~~~
|
|
|
|
|
+~~~~~~▲~~~▲▲~~~~*▲▲**~**▲*▲*▲***▲**▲*****~~~~▲~~~~~~~▲~~
|
|
|
~~▲~~~~▲~~~~~▲~~~*~********▲**▲*~*▲*▲**▲~~~~~~~~~~~~~~▲~
|
|
~~▲~~~~▲~~~~~▲~~~*~********▲**▲*~*▲*▲**▲~~~~~~~~~~~~~~▲~
|
|
|
~~~~~~~~~~~~~~▲~*~*~~****~~**▲*****▲**~*~~~▲~▲~~▲~~~▲~~▲
|
|
~~~~~~~~~~~~~~▲~*~*~~****~~**▲*****▲**~*~~~▲~▲~~▲~~~▲~~▲
|
|
|
~▲~~~▲~▲▲~~~~~~~~*~**~~*▲**▲*▲▲***~******~▲~~~~~~▲~~~~~~
|
|
~▲~~~▲~▲▲~~~~~~~~*~**~~*▲**▲*▲▲***~******~▲~~~~~~▲~~~~~~
|
|
@@ -43,8 +44,8 @@ var testBoard = `~~~~~~~~▲▲▲~▲▲~~*~*~~**~*▲****▲▲***▲~▲***~~
|
|
|
`
|
|
`
|
|
|
|
|
|
|
|
func TestNewBoard(t *testing.T) {
|
|
func TestNewBoard(t *testing.T) {
|
|
|
- rand.Seed(0)
|
|
|
|
|
- b := New(56, 35)
|
|
|
|
|
|
|
+ r := rand.New(rand.NewSource(0))
|
|
|
|
|
+ b := new(56, 35, r)
|
|
|
|
|
|
|
|
if testBoard != b.String() {
|
|
if testBoard != b.String() {
|
|
|
t.Fatalf("Incorrect board:\n %v", b)
|
|
t.Fatalf("Incorrect board:\n %v", b)
|
|
@@ -54,7 +55,6 @@ func TestNewBoard(t *testing.T) {
|
|
|
|
|
|
|
|
func BenchmarkNew(b *testing.B) {
|
|
func BenchmarkNew(b *testing.B) {
|
|
|
for i := 0; i < b.N; i++ {
|
|
for i := 0; i < b.N; i++ {
|
|
|
- rand.Seed(0)
|
|
|
|
|
New(56, 35)
|
|
New(56, 35)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -62,10 +62,18 @@ func BenchmarkNew(b *testing.B) {
|
|
|
func BenchmarkRnd(b *testing.B) {
|
|
func BenchmarkRnd(b *testing.B) {
|
|
|
|
|
|
|
|
for i := 0; i < b.N; i++ {
|
|
for i := 0; i < b.N; i++ {
|
|
|
- rand.Seed(0)
|
|
|
|
|
-
|
|
|
|
|
- for j := 0; j < 56*35; j++ {
|
|
|
|
|
|
|
+ for j := 0; j < 50*50; j++ {
|
|
|
rand.Intn(10)
|
|
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)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|