def test_divplication_with_expression(self): factory = self.factory with self.assertRaises(OperatorError): factory.dollar(5) / "aadf" with self.assertRaises(OperatorError): factory.dollar(10) / factory.franc(2) with self.assertRaises(OperatorError): (factory.dollar(3) + factory.franc(2)) / "a" with self.assertRaises(OperatorError): (factory.dollar(10) - factory.franc(2)) / "bcd" res = factory.dollar(5) - factory.franc(10) bank = Bank() bank.add_rate("CHF", "USD", 2) reduced = bank.reduce(res, "USD") self.assertEqual(factory.dollar(0), reduced) res2 = factory.dollar(5) - factory.dollar(5) reduced = bank.reduce(res2, "USD") self.assertEqual(factory.dollar(0), reduced)