package sidecheck import ( "fmt" "testing" ) type boardTestType struct { NS, WE bool board string } var boardTests = []boardTestType{ { false, true, `..... ..... ooooo ..... .....`, }, { false, false, `...........o................ ............o............... .............o.............. .............o.............. .............o.............. .............o.............. .............o.............. ...........ooo.............. ...........o.o.............. ...........ooo.............. ............................`, }, { true, false, `.............o.............. .............o.............. .............o.............. .............o.............. .............o.............. .............o.............. .............o.............. .............o.............. .............o.......ooooooo .............ooooooooo...... .....................o......`, }, { false, true, `............................ ............................ ............................ ............................ ............................ .........o................oo ooooooooo................o.. ....o....oooooo.........o... ....o.........o........o.... .....o......oo.......oo..... ......oooo....oo...oo....... ..........ooo...ooo......... ............................`, }, } func TestBoards(t *testing.T) { for _, boardTest := range boardTests { board := StringToBoard(boardTest.board) if boardTest.NS != board.NScheck() { fmt.Println("NS FAIL") if boardTest.NS { t.Errorf("Failed to find NS path.") } else { t.Errorf("Found NS path but shouldn't have.") } } if boardTest.WE != board.WEcheck() { fmt.Println("WE FAIL") if boardTest.WE { t.Errorf("Failed to find WE path.") } else { t.Errorf("Found WE path but shouldn't have.") } } fmt.Println(board) } }