class TestParkPositionValidator(unittest.TestCase): def setUp(self): self.dao = Mock() self.dao.find_park_position_range.return_value = (701, 750) self.validator = ParkPositionValidator(self.dao) def test_given_position_under_minimum_then_raises_error(self): destination = ParkPositionDestination(position=600) assert_that(calling(self.validator.validate).with_args(destination), raises(InputError)) def test_given_position_over_maximum_then_raises_error(self): destination = ParkPositionDestination(position=800) assert_that(calling(self.validator.validate).with_args(destination), raises(InputError)) def test_given_position_on_minimum_position_then_validation_passes(self): destination = ParkPositionDestination(position=701) self.validator.validate(destination) self.dao.find_park_position_range.assert_called_once_with() def test_given_position_on_maximum_position_then_validation_passes(self): destination = ParkPositionDestination(position=750) self.validator.validate(destination) self.dao.find_park_position_range.assert_called_once_with() def test_given_position_inside_range_then_validation_passes(self): destination = ParkPositionDestination(position=710) self.validator.validate(destination) self.dao.find_park_position_range.assert_called_once_with()
def setUp(self): self.dao = Mock() self.dao.find_park_position_range.return_value = (701, 750) self.validator = ParkPositionValidator(self.dao)