def but_it_raises_zero_division_error_when_scalefactor_is_0( self, dimensions_): """Considering the teset above, this one prove that a wrong behaviour of the user can cause a zerodivision error. In this case the scale_factor=0 generates the ZeroDivision Exception """ dimensions_.return_value = (300, 500) slide = Slide("/a/b/foo", "processed") with pytest.raises(ZeroDivisionError) as err: slide._resampled_dimensions(scale_factor=0) assert isinstance(err.value, ZeroDivisionError) assert str(err.value) == "division by zero"
def it_knows_its_resampled_dimensions(self, dimensions_): """This test prove that given the dimensions (mock object here), it does the correct maths operations: `large_w, large_h = self.dimensions` `new_w = math.floor(large_w / self._scale_factor)` `new_h = math.floor(large_h / self._scale_factor)` `return large_w, large_h, new_w, new_h` """ dimensions_.return_value = (300, 500) slide = Slide("/a/b/foo", "processed") _resampled_dims = slide._resampled_dimensions(scale_factor=32) assert _resampled_dims == (300, 500, 9, 15)