TEST(ExpressionTest, PlusReturnSum) { Money* five = Money::dollar(5); Expression* result = five->plus(five); Sum* sum = dynamic_cast<Sum*>(result); EXPECT_EQ(*five,*(sum->augend)); EXPECT_EQ(*five,*(sum->addend)); delete five; delete result; }
TEST(MoneyTest, SimpleAddition) { Money* five = Money::dollar(5); Money* ten = Money::dollar(10); Expression* sum = five->plus(five); Bank* bank = new Bank(); Money* reduced = bank->reduce(sum,"USD"); EXPECT_EQ(*ten,*reduced); delete five; delete ten; delete sum; delete reduced; }