You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.4 KiB

import XCTest
@testable import model
final class boardTests: XCTestCase {
func test_constructor() throws {
var nbR = -8
var nbC = 10
var b = Board(nbR: nbR, nbC: nbC)
XCTAssertNil(b?.grid)
nbR = 4
nbC = -10
b = Board(nbR: nbR, nbC: nbC)
XCTAssertNil(b?.grid)
nbR = 4
nbC = 10
b = Board(nbR: nbR, nbC: nbC)
XCTAssertNotNil(b?.grid)
XCTAssertEqual(nbR, b?.nbRows)
XCTAssertEqual(nbC, b?.nbColumns)
}
func test_manipulatePiece() {
var board = Board(nbR: 4, nbC: 4)
board?.insertPiece(id: 1, column: 2)
XCTAssertEqual(1, board?.grid[3][2])
// XCTAssertEqual(BoardResult.ok, board?.insertPiece(id: 1, column: 2))
// XCTAssertEqual(BoardResult.failed(.columnFull), board?.insertPiece(id: 1, column: 2))
board?.removePiece(row: 3, column: 2)
XCTAssertNil(board?.grid[3][2])
}
func test_cleanBoard(){
var board = Board(withGrid: [[1,0,1],[0,1,0],[1,0,1]])
if var b = board {
XCTAssertNotNil(b.grid[0][0])
b.clearGrid()
for r in 0..<b.nbRows {
for c in 0..<b.nbColumns {
XCTAssertNil(b.grid[r][c])
}
}
}
}
}