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_with_values(self): i = Int(setter=True, values=(1, 2, 3)) assert i.pre_set(None, 2) == 2 with raises(ValueError): i.pre_set(None, 5) del i.pre_set assert i.pre_set(None, 5)
def test_with_dynamic_range(self): class RangeHolder(Parent): n = 0 def _range_test(self): self.n += 1 return IntRangeValidator(self.n) o = RangeHolder() i = Int(setter=True, range='test') assert i.pre_set(o, 1) with raises(ValueError): i.pre_set(o, 0) o.discard_range('test') with raises(ValueError): i.pre_set(o, 1)