Change counting signature

Boards
Mathieu GROUSSEAU 3 months ago
parent b8d77cf97a
commit 9d200b7b79

@ -32,32 +32,24 @@ public struct Board {
}
}
public func countPieces() -> Int {
var count = 0;
public func countPieces() -> (a: Int, b: Int) {
var a = 0
var b = 0
for column in grid {
for piece in column {
if piece != nil {
count += 1
switch piece {
case .Player1:
a += 1
case .Player2:
b += 1
case nil:
break
}
}
}
return count
}
public func countPieces(of_type type: Piece) -> Int {
var count = 0
for column in grid {
for piece in column {
if piece == type {
count += 1
}
}
}
return count
return (a, b)
}
@discardableResult

@ -25,9 +25,9 @@ final class EmptyBoardTests: XCTestCase {
func testEmptyByDefault() throws {
XCTAssertNil(board[1, 1])
XCTAssertEqual(board.countPieces(), 0)
XCTAssertEqual(board.countPieces(of_type: .Player1), 0)
XCTAssertEqual(board.countPieces(of_type: .Player2), 0)
let result = board.countPieces()
XCTAssertEqual(result.a, 0)
XCTAssertEqual(result.b, 0)
}
func testSetGet() throws {
@ -39,9 +39,9 @@ final class EmptyBoardTests: XCTestCase {
func testCounts() throws {
board[1, 2] = .Player2
XCTAssertEqual(board.countPieces(), 1)
XCTAssertEqual(board.countPieces(of_type: .Player1), 0)
XCTAssertEqual(board.countPieces(of_type: .Player2), 1)
let counts = board.countPieces()
XCTAssertEqual(counts.a, 0)
XCTAssertEqual(counts.b, 1)
}
func testInsertTopNoPush() {

Loading…
Cancel
Save