def test_single_hop_trajectory(self): w = Walker(Board(3, 3)) EXPECTED_PROB = 0.5 probability = w.can_arribe_from(0, 1, to=Coord(2, 1)) self.assertEquals(EXPECTED_PROB, probability)
def _test_straight_trajectory(self): w = Walker(Board(3, 3).remove_pin_at(1, 1)) EXPECTED_PROB = 1 probability = w.can_arribe_from(0, 1, to=Coord(2, 1)) self.assertEquals(EXPECTED_PROB, probability)
def test_two_hop_trajectory(self): EXPECTED_PROB = 0.25 w = Walker(Board(5, 5)) probability = w.can_arribe_from(0, 3, to=Coord(2, 1)) self.assertEquals(EXPECTED_PROB, probability)
class TestWalkerPrimitives(_CustomTest): def setUp(self): self.w = Walker(Board(3, 3)) def assertNextStepFrom(self, point, should_be): self.assertEqual(should_be, self.w._next_step(point)) def test_get_next_step_if_blank(self): expected = [(Coord(1, 1), 1)] self.assertNextStepFrom(Coord(0, 1), should_be=expected) def test_get_next_step_if_lborder(self): expected = [(Coord(0, 1), 1)] self.assertNextStepFrom(Coord(0, 0), should_be=expected) def test_get_next_step_if_rborder(self): expected = [(Coord(2, 1), 1)] self.assertNextStepFrom(Coord(2, 2), should_be=expected) def test_get_next_step_if_pin(self): expected = [(Coord(1, 0), 0.5), (Coord(1, 2), 0.5)] self.assertNextStepFrom(Coord(1, 1), should_be=expected)
def setUp(self): self.w = Walker(Board(3, 3))