def test_coerce_interval_list(): """Test coerce_interval_list.""" validator = VDR() # The good for value, results in [ ('', []), ('P3D', [DurationFloat(259200)]), ('P3D, PT10M10S', [DurationFloat(259200), DurationFloat(610)]), ('25*PT30M,10*PT1H', [DurationFloat(1800)] * 25 + [DurationFloat(3600)] * 10)]: items = validator.coerce_interval_list(value, ['whatever']) for item, result in zip(items, results): assert pytest.approx(item, result) # The bad for value in ['None', '5 days', '20', 'PT10S, -12']: with pytest.raises(IllegalValueError): validator.coerce_interval_list(value, ['whatever'])
def test_coerce_interval_list(self): """Test coerce_interval_list.""" validator = VDR() # The good for value, results in [ ('', []), ('P3D', [DurationFloat(259200)]), ('P3D, PT10M10S', [DurationFloat(259200), DurationFloat(610)]), ('25*PT30M,10*PT1H', [DurationFloat(1800)] * 25 + [DurationFloat(3600)] * 10)]: items = validator.coerce_interval_list(value, ['whatever']) for item, result in zip(items, results): self.assertAlmostEqual(item, result) # The bad for value in ['None', '5 days', '20', 'PT10S, -12']: self.assertRaises( IllegalValueError, validator.coerce_interval_list, value, ['whatever'])
def test_coerce_interval_list__bad(value: str): with pytest.raises(IllegalValueError): VDR.coerce_interval_list(value, ['whatever'])
def test_coerce_interval_list(value: str, expected: List[DurationFloat]): """Test coerce_interval_list.""" assert VDR.coerce_interval_list(value, ['whatever']) == approx(expected)