def testdotSeesCellSomeDotsCannotBeBypassedDotOnWall(self): b = Board(4, 4) b.addDot(1, 1) b.addDot(1, 3) b.addDot(3, 2) b.addDot(5, 3) self.assertFalse(b.dotSeesCell(1, 1, 7, 7))
def testdotSeesCellSomeDotsCanBeBypassed(self): b = Board(4, 4) b.addDot(1, 1) b.addDot(1, 3) b.addDot(3, 3) b.addDot(5, 3) self.assertTrue(b.dotSeesCell(1, 1, 7, 7))
def testCellIsFilledByOnlyOneDotOnItsEdge(self): b = Board(4, 4) b.addDot(3, 2) self.assertTrue(b.cellContainsDot(2, 2)) self.assertTrue(b.cellContainsDot(3, 1)) self.assertTrue(b.cellContainsDot(3, 3)) self.assertTrue(b.cellContainsDot(4, 1))
def testCellCanBelongToDotFullCells(self): b = Board(4, 4) b.addDot(1, 2) self.assertTrue(b.cellCanBelongToDot(1, 1, 1, 2)) b.addDot(2, 2) self.assertFalse(b.cellCanBelongToDot(0, 2, 1, 2))
def testMinimalBoardDots(self): expectedDots = [] expectedDots.append({"i":0, "j":0}) b = Board(2,2) b.addDot(0,0) i = 0 for d in b.dots(): self.assertEquals(d, expectedDots[i]) i = i + 1
def testDotOnWall(self): b = Board(2,2) b.addWall(1, 2) b.addDot(1, 2) self.assertEquals( """ 0 1 j +-+-+ 0| ø | + + + 1| | +-+-+ i """, b.toString())
def testToString(self): b = Board(4, 4) b.addDot(2, 2) self.assertEqual( """ 0 1 2 3 j +-+-+-+-+ 0| | + # + + + 1| | + + + + + 2| | + + + + + 3| | +-+-+-+-+ i """, b.toString())
def testAddDotIsNotDash(self): b = Board(4, 4) b.addDot(2, 2) b.addDot(2, 1) self.assertEqual(""" 0 1 2 3 j +-+-+-+-+ 0| | +o# + + + 1| | + + + + + 2| | + + + + + 3| | +-+-+-+-+ i """, b.toString())
def testEmptyBoardIsNotSolved(self): b = Board(4, 4) b.addDot(1, 1) self.assertFalse(b.isSolved())
def testdotSeesCellLotsOfDots(self): b = Board(4, 4) b.addDot(1, 1) b.addDot(1, 3) b.addDot(3, 1) self.assertFalse(b.dotSeesCell(1, 1, 3, 3))
def testFloats(self): b = Board(4, 4) self.assertTrue(b.cellIsWithinBoard(1, 1)) b.addDot(3, 5) self.assertTrue(b.cellContainsDot(3, 5))
def testAddDotOnCrossing(self): b = Board(4, 4) b.addDot(4, 4) self.assertTrue(b.isDot(4, 4))
def testDotOnEdge(self): b = Board(2,2) b.addDot(3, 2)
def testdotSeesCellEmptyBoard(self): b = Board(4, 4) b.addDot(1, 1) self.assertTrue(b.dotSeesCell(1, 1, 3, 3))
def testCanPutDotAroundDots(self): b = Board(4, 4) self.assertTrue(b._canPutDot(1, 2)) b.addDot(1, 2) self.assertFalse(b._canPutDot(1, 2)) self.assertTrue(b._canPutDot(4, 3))
def testCellCanBelongToDotOutOfBoard(self): b = Board(4, 4) b.addDot(7, 7) self.assertFalse(b.cellCanBelongToDot(0, 0, 7, 7)) self.assertFalse(b.cellCanBelongToDot(0, 0, 0, 6))
def testAddDotWithinBounds(self): b = Board(4, 4) b.addDot(2, 2)
def testdotSeesCellSomeDots(self): b = Board(4, 4) b.addDot(1, 1) b.addDot(3, 1) self.assertTrue(b.dotSeesCell(1, 1, 3, 3))
def testCellCanBelongToDotEdged(self): b = Board(4, 4) b.addDot(1, 2) self.assertTrue(b.cellCanBelongToDot(1, 1, 1, 2)) b.addDot(1, 4) self.assertFalse(b.cellCanBelongToDot(1, 1, 1, 2))
def testMinimalSolvedBoard(self): b = Board(3, 3) b.addDot(1, 1)
def testCellContainsDotExcept(self): b = Board(4, 4) b.addDot(3, 3) self.assertFalse(b.cellContainsDotExcept(3, 3, 3, 3)) self.assertTrue(b.cellContainsDotExcept(3, 3, 3, 2))
def testdotSeesCellHalfCellAway(self): b = Board(4, 4) b.addDot(1, 2) self.assertTrue(b.dotSeesCell(1, 2, 1, 1))