board_test.go 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package board
  2. import (
  3. "math/rand"
  4. "testing"
  5. )
  6. var testBoard = `~~~~~~~~▲▲▲~▲▲~~*~*~~**~*▲****▲▲***▲~▲***~~▲~~▲~▲~~~~~▲~
  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. func TestNewBoard(t *testing.T) {
  43. rand.Seed(0)
  44. b := New(56, 35)
  45. if testBoard != b.String() {
  46. t.Fatalf("Incorrect board:\n %v", b)
  47. }
  48. }
  49. func BenchmarkNew(b *testing.B) {
  50. for i := 0; i < b.N; i++ {
  51. rand.Seed(0)
  52. New(56, 35)
  53. }
  54. }
  55. func BenchmarkRnd(b *testing.B) {
  56. for i := 0; i < b.N; i++ {
  57. rand.Seed(0)
  58. for j := 0; j < 56*35; j++ {
  59. rand.Intn(10)
  60. }
  61. }
  62. }