From 9d200b7b798ffa5474cb92f66e50d49d69692021 Mon Sep 17 00:00:00 2001 From: Mathieu GROUSSEAU Date: Sat, 18 Jan 2025 09:27:17 +0100 Subject: [PATCH] Change counting signature --- Model/Sources/Model/Board.swift | 30 +++++++------------- Model/Tests/ModelTests/EmptyBoardTests.swift | 12 ++++---- 2 files changed, 17 insertions(+), 25 deletions(-) diff --git a/Model/Sources/Model/Board.swift b/Model/Sources/Model/Board.swift index 297bf31..5455369 100644 --- a/Model/Sources/Model/Board.swift +++ b/Model/Sources/Model/Board.swift @@ -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 diff --git a/Model/Tests/ModelTests/EmptyBoardTests.swift b/Model/Tests/ModelTests/EmptyBoardTests.swift index 05d8ede..573949e 100644 --- a/Model/Tests/ModelTests/EmptyBoardTests.swift +++ b/Model/Tests/ModelTests/EmptyBoardTests.swift @@ -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() {