def test_subtract(self): a = Quantity(1, 0.2, {'Newton': 1}, si_system) b = Quantity(3, 0.4, {'Kilogram': 1, 'Meter': 1, 'Second': -2}, si_system) c = Quantity(-2, 1 / math.sqrt(5), {'Newton': 1}, si_system) d = Quantity(1, 0.2, {'Kilogram': 1}, si_system) self.assert_quantity_equal(a - b, c.expand()) with self.assertRaises(TypeError): a - d with self.assertRaises(TypeError): a - 1
def test_expand(self): # Lorentz force a = Quantity(1, 0, {'Coulomb': 1, 'Meter': 1, 'Second': -1, 'Tesla': 1}, si_system) b = Quantity(1, 0, {'Newton': 1}, si_system) self.assert_quantity_equal(a.expand(), b.expand()) # Faraday's law a = Quantity(1, 0, {'Weber': 1, 'Second': -1}, si_system) b = Quantity(1, 0, {'Volt': 1}, si_system) self.assert_quantity_equal(a.expand(), b.expand()) # torque of a motor a = Quantity(1, 0, {'Ampere': 1, 'Tesla': 1, 'Meter': 2}, si_system) b = Quantity(1, 0, {'Newton': 1, 'Meter': 1}, si_system) self.assert_quantity_equal(a.expand(), b.expand()) # resonance frequency of an RLC circuit a = Quantity(1, 0, {'Henry': -1/2, 'Farad': -1/2}, si_system) b = Quantity(1, 0, {'Hertz': 1}, si_system) self.assert_quantity_equal(a.expand(), b.expand())