def testNumpyWithMinMax(unit_database_custom_conversion) -> None: unit_database = unit_database_custom_conversion unit_database.AddCategory( "my length", "length", ["mm", "m"], default_unit="m", default_value=2, min_value=0, max_value=15, is_min_exclusive=False, is_max_exclusive=False, caption="My Length", ) import numpy values = numpy.array(list(range(10)), numpy.float32) Array("my length", values, "mm") values = numpy.array(list(range(20000, 20010)), numpy.float32) # Raise validation error another = Array("my length", values, "mm") assert not another.IsValid() with pytest.raises(ValueError): another.CheckValidity() # Don't raise validation error if validate = False. arr = Array("my length", values, "mm") assert not arr.IsValid() another = arr.CreateCopy(values=values, unit="mm") assert not another.IsValid() # Same checks on FixedArray. values = numpy.array(list(range(10)), numpy.float32) FixedArray(len(values), "my length", values, "mm") values = numpy.array(list(range(20000, 20010)), numpy.float32) # Raise validation error another = FixedArray(len(values), "my length", values, "mm") assert not another.IsValid() # Don't raise validation error if validate = False. arr = FixedArray(len(values), "my length", values, "mm") assert not arr.IsValid() another = arr.CreateCopy(values=values, unit="mm") assert not another.IsValid()
def testCopyPropertiesAndValidation(unit_database_len) -> None: # Not raises exception because by default validation is False on the copy operation array_source = Array("flow rate", values=[-1, -2, -3], unit="m3/s") assert not array_source.IsValid() array_dest = array_source.CreateCopy() assert array_dest.values == [-1, -2, -3]