def test_checkUnavailableSquare_UnavailableSquaresEqualToPassed_returnsTrue(self): queenSolver = QueenSolver() square = Square(ord('A'),1) queenSolver.addUnavailableSquare(square) square2 = Square(ord('A'),1) isUnavailable = queenSolver.checkUnavailableSquare(square2) self.assertTrue(isUnavailable)
def test_checkUnavailableSquare_SameUnavailableSquaresAsPassed_returnsTrue( self): queenSolver = QueenSolver() square = Square(ord('A'), 1) queenSolver.addUnavailableSquare(square) isUnavailable = queenSolver.checkUnavailableSquare(square) self.assertTrue(isUnavailable)
def test_getNextAvailableSquare_AllAvailableRanksFirstIsUnavailableSquare_returnsTheSecondRank(self): queenSolver = QueenSolver() availableRanks = deque ([1,2,3,4,5,6,7,8]) discardedRanks = list() queenSolver.addUnavailableSquare(Square(ord('A'),1)) possibleRank, square = queenSolver.getNextAvailableSquare(ord('A'), availableRanks , discardedRanks) self.assertEqual(len(availableRanks), 6) self.assertEqual(len(discardedRanks), 1) self.assertEqual(discardedRanks[0], 1) self.assertEqual (possibleRank, 2) self.assertEqual (square, Square(ord('A'),2))
def test_getNextAvailableSquare_AllAvailableRanksFirstIsUnavailableSquare_returnsTheSecondRank( self): queenSolver = QueenSolver() availableRanks = deque([1, 2, 3, 4, 5, 6, 7, 8]) discardedRanks = list() queenSolver.addUnavailableSquare(Square(ord('A'), 1)) possibleRank, square = queenSolver.getNextAvailableSquare( ord('A'), availableRanks, discardedRanks) self.assertEqual(len(availableRanks), 6) self.assertEqual(len(discardedRanks), 1) self.assertEqual(discardedRanks[0], 1) self.assertEqual(possibleRank, 2) self.assertEqual(square, Square(ord('A'), 2))
def test_checkUnavailableSquare_SeverUnavailableSquaresOneEqualToPassed_returnsTrue(self): queenSolver = QueenSolver() square = Square(ord('A'),1) queenSolver.addUnavailableSquare(square) square = Square(ord('B'),2) queenSolver.addUnavailableSquare(square) square = Square(ord('C'),3) queenSolver.addUnavailableSquare(square) square = Square(ord('C'),4) queenSolver.addUnavailableSquare(square) square = Square(ord('D'),5) queenSolver.addUnavailableSquare(square) square2 = Square(ord('C'),4) isUnavailable = queenSolver.checkUnavailableSquare(square2) self.assertTrue(isUnavailable)
def test_checkUnavailableSquare_SeverUnavailableSquaresOneEqualToPassed_returnsTrue( self): queenSolver = QueenSolver() square = Square(ord('A'), 1) queenSolver.addUnavailableSquare(square) square = Square(ord('B'), 2) queenSolver.addUnavailableSquare(square) square = Square(ord('C'), 3) queenSolver.addUnavailableSquare(square) square = Square(ord('C'), 4) queenSolver.addUnavailableSquare(square) square = Square(ord('D'), 5) queenSolver.addUnavailableSquare(square) square2 = Square(ord('C'), 4) isUnavailable = queenSolver.checkUnavailableSquare(square2) self.assertTrue(isUnavailable)