def test_validate_larger_and_step(self): iv = IntRangeValidator(1, step=2) assert iv.validate(3) assert iv.validate(1) assert not iv.validate(0) assert not iv.validate(2)
def test_validate_smaller_and_step(self): iv = IntRangeValidator(max=5, step=2) assert iv.validate(3) assert iv.validate(5) assert not iv.validate(6) assert not iv.validate(4)
def test_validate_range(self): iv = IntRangeValidator(1, 4) assert iv.validate(2) assert iv.validate(1) assert iv.validate(4) assert not iv.validate(0) assert not iv.validate(5)
def test_validate_range_and_step(self): iv = IntRangeValidator(1, 4, 2) assert iv.validate(3) assert iv.validate(1) assert not iv.validate(6) assert not iv.validate(4) assert not iv.validate(0)
def test_init_checks(self): with raises(ValueError): IntRangeValidator(step=1) with raises(TypeError): IntRangeValidator(1.0) with raises(TypeError): IntRangeValidator(max=1.0) with raises(TypeError): IntRangeValidator(1, step=1.0)
def test_with_static_range(self): i = Int(setter=True, values=(1,), range=IntRangeValidator(2, step=2)) with raises(ValueError): i.pre_set(None, 1) assert i.pre_set(None, 4) with raises(ValueError): i.pre_set(None, 3)
def test_validate_smaller(self): iv = IntRangeValidator(max=1) assert iv.validate(0) assert iv.validate(1) assert not iv.validate(2)
def test_validate_larger(self): iv = IntRangeValidator(0) assert iv.validate(2) assert iv.validate(0) assert not iv.validate(-1)
def _range_test(self): self.n += 1 return IntRangeValidator(self.n)
def test_zero_step(self): iv = IntRangeValidator(0, 5, 0) assert iv.validate(2) assert iv.validate(0) assert not iv.validate(-1)