def test_arithmetic_unit_calculation(unit1, unit2, op, result_units): ndd1 = NDDataset(np.array([1]), units=unit1) ndd2 = NDDataset(np.array([1]), units=unit2) ndd1_method = ndd1.__getattribute__(op) result = ndd1_method(ndd2) try: assert result.units == result_units except AssertionError: assert_equal_units(ndd1_method(ndd2).units, result_units)
def test_ndmath_unit_conversion_operators(operation, result_units): in_km = NDDataset(np.array([1, 1]), units=ur.km) in_m = NDDataset(in_km.data * 1000, units=ur.m) operator_km = in_km.__getattribute__(operation) combined = operator_km(in_m) assert_equal_units(combined.units, result_units)