def setUp(self): self.rect = Mock() self.rect.left = 1 self.rect.right = 1 self.rect.top = 1 self.rect.bottom = 1 self.rect.width = 1 self.rect.height = 1 self.rect.centerx = 1 self.rect.centery = 1 self.surface = Mock() self.surface.get_rect.return_value = self.rect self.cell1 = Cell(Position(1, 1), self.surface, self.rect) self.cell2 = Cell(Position(1, 1), self.surface, self.rect) self.cell3 = Cell(Position(1, 1), self.surface, self.rect)
def test_get_infinite_cell(self): # b/t = bottom/top, l/r = left/right, d = diagonal tld = self.environment.get_torus_cell(Position(-1, -1)) trd = self.environment.get_torus_cell(Position(10, -1)) bld = self.environment.get_torus_cell(Position(-1, 10)) brd = self.environment.get_torus_cell(Position(10, 10)) self.assertTrue(tld.pos == Position(9, 9)) self.assertTrue(trd.pos == Position(0, 9)) self.assertTrue(bld.pos == Position(9, 0)) self.assertTrue(brd.pos == Position(0, 0))
def test_valid_equal(self): self.assertTrue(self.pos1 == Position(1, 1))
def setUp(self): self.pos1 = Position(1, 1) self.pos2 = Position(2, 2)
def test_visible_finite_4(self): expected = { Position(1, 0), Position(1, 2), Position(0, 1), Position(2, 1) } actual = [ cell.pos for cell in self.environment.visible(self.mock(Position(1, 1))) ] self.assertTrue(len(actual) == 4) self.assertTrue(len(expected ^ set(actual)) == 0) expected = {Position(1, 0), Position(0, 1)} actual = [ cell.pos for cell in self.environment.visible(self.mock(Position(0, 0))) ] self.assertTrue(len(actual) == 2) self.assertTrue(len(expected ^ set(actual)) == 0) expected = {Position(9, 0), Position(9, 2), Position(8, 1)} actual = [ cell.pos for cell in self.environment.visible(self.mock(Position(9, 1))) ] self.assertTrue(len(actual) == 3) self.assertTrue(len(expected ^ set(actual)) == 0)
def test_get_display_cell(self): event = Mock() event.pos = (0.5, 0.5) cell = self.environment.get_display_cell(event) self.assertTrue(Position(0, 0) == cell.pos)
def test_on_field(self): self.assertTrue(self.environment.on_field(Position(0, 0))) self.assertFalse(self.environment.on_field(Position(-1, -1)))
def test_get_cell_invalid_position(self): with self.assertRaises(EnvironmentOutOfBoundsError): self.environment.get_cell(Position(100, 100)) self.environment.get_cell(Position(-1, -1))
def test_get_cell_valid_position(self): actual = self.environment.get_cell(Position(9, 9)) self.assertTrue(isinstance(actual, Cell)) self.assertTrue(actual.pos == Position(9, 9))
def test_visible_infinite_8(self): self.environment = Environment(self.transform, None, neighbours=8, torus=True) expected = { Position(0, 0), Position(1, 0), Position(2, 0), Position(0, 1), Position(2, 1), Position(0, 2), Position(1, 2), Position(2, 2) } actual = [ cell.pos for cell in self.environment.visible(self.mock(Position(1, 1))) ] self.assertTrue(len(actual) == 8) self.assertTrue(len(expected ^ set(actual)) == 0) expected = { Position(9, 9), Position(0, 9), Position(1, 9), Position(9, 0), Position(1, 0), Position(9, 1), Position(0, 1), Position(1, 1) } actual = [ cell.pos for cell in self.environment.visible(self.mock(Position(0, 0))) ] self.assertTrue(len(actual) == 8) self.assertTrue(len(expected ^ set(actual)) == 0) expected = { Position(8, 0), Position(9, 0), Position(0, 0), Position(8, 1), Position(0, 1), Position(8, 2), Position(9, 2), Position(0, 2) } actual = [ cell.pos for cell in self.environment.visible(self.mock(Position(9, 1))) ] self.assertTrue(len(actual) == 8) self.assertTrue(len(expected ^ set(actual)) == 0)