def test_area_sq_km(self): one_sq_km = Area(sq_km=10) miles_sqd = Area(sq_mi=3.8610216) self.assertAlmostEqual(one_sq_km.standard, miles_sqd.standard, places=1)
def test_area_divide(self): area = Area(sq_m=300) value = 2 expected_result = 150 with self.subTest(value=value, type=pretty_name(value)): result = area / value self.assertIsInstance(result, Area) self.assertEqual(result.sq_m, expected_result) value = Area(sq_m=2) with self.subTest(value=value, type=pretty_name(value)): self.assertRaises(TypeError, area.__div__, value)
def test_truediv__super(self): assert Area("1 m²") / 2 == Area("0.5 m²")
def test_mul(self): assert Area("1 m²") * Distance("1 m") == Volume("1 m³")
def test_pow(self): assert Distance(m=1) ** 2 == Area("1 m²") assert Distance(m=1) ** 3 == Volume("1 m³") with pytest.raises(TypeError): Distance(m=1) ** 4
def test_truediv(self): assert Area("1 m²") / Distance("1 m") == Distance("1 m")
def test_mul__distance(self): assert Distance(m=1) * Distance(m=1) == Area("1 m²")
def test_mul__area(self): assert Distance(m=1) * Area(sq_m=1) == Volume("1 m³")
def test_area_sq_km(self): one_sq_km = Area(sq_km=10) miles_sqd = Area(sq_mi=decimal.Decimal("3.861021585424458472628811394")) assert one_sq_km.si_value == miles_sqd.si_value
def test_truediv__area(self): assert Volume("1 m³") / Area("1 m²") == Distance("1 m")
def test_truediv__distance(self): assert Volume("1 m³") / Distance("1 m") == Area("1 m²")
def test_attr_to_unit(self): assert Area._attr_to_unit("sq_m") == "m²" assert Area._attr_to_unit("sq m") == "m²" assert Area._attr_to_unit("square_m") == "m²" assert Area._attr_to_unit("square m") == "m²" assert Area._attr_to_unit("m²") == "m²"
def test_mul__super(self): assert Area("1 m²") * 2 == Area("2 m²")