public void Test_6_cannot_give_change_when_payment_balance_0() { var sut = new Sale(1); var result = sut.AddChange(new Change(1.00)); Assert.False(result.IsSuccess, "Able to add change to sale with negative balance"); Assert.Equal(0, sut.ChangeGiven); Assert.Equal(0, sut.Balance); Assert.Equal(0, sut.PaymentBalance); }
public void Test_3_can_give_change() { var sut = new Sale(1); var item1 = new SaleItem(new Product(1, "product1", "product1", "product1s", 1.00, imageClassName: "test"), 1); sut.AddItem(item1); sut.AddPayment(new Payment(10)); var result = sut.AddChange(new Change(9.00)); Assert.True(result.IsSuccess, "Unable to give change"); Assert.Equal(0, sut.Balance); }
public void Test_8b_change_amount_cannot_exceed_payment_balance() { var sut = new Sale(1); var item1 = new SaleItem(new Product(1, "product1", "product1", "product1s", 10.11, imageClassName: "test"), 1); sut.AddItem(item1); sut.AddPayment(new Payment(5)); var result = sut.AddChange(new Change(6.00)); Assert.False(result.IsSuccess, "Added change that exceeds payment balance"); Assert.Equal(0, sut.ChangeGiven); }
public void Test_8c_cannot_give_change_to_cancelled_sale() { var sut = new Sale(1); var item1 = new SaleItem(new Product(1, "product1", "product1", "product1s", 1.11, imageClassName: "test"), 1); sut.AddItem(item1); sut.Cancel(); var result = sut.AddChange(new Change(1.00)); Assert.False(result.IsSuccess, "Gave change on cancelled sale"); Assert.Equal(0, sut.ChangeGiven); }
public void Test_6_cannot_give_change_on_paid_sale() { var sut = new Sale(1); var item1 = new SaleItem(new Product(1, "product1", "product1", "product1s", 1.00, imageClassName: "test"), 1); sut.AddItem(item1); sut.AddPayment(new Payment(item1.TotalPrice)); var result = sut.AddChange(new Change(9.00)); Assert.False(result.IsSuccess, "Was able to give change on a paid sale"); Assert.Equal(0, sut.Balance); }
public void Test_6_can_give_change_when_amount_equals_payment_balance() { var sut = new Sale(1); var item1 = new SaleItem(new Product(1, "product1", "product1", "product1s", 1.00, imageClassName: "test"), 1); sut.AddItem(item1); sut.AddPayment(new Payment(50)); var result = sut.AddChange(new Change(50)); Assert.True(result.IsSuccess, "Unable to give change when change amount equals payment balance"); Assert.Equal(item1.TotalPrice * -1, sut.Balance); }
public void Test_6_cannot_give_change_when_amount_exceeds_payment_balance() { var sut = new Sale(1); var item1 = new SaleItem(new Product(1, "product1", "product1", "product1s", 1.00, imageClassName: "test"), 1); sut.AddItem(item1); sut.AddPayment(new Payment(50)); var expectedBalance = sut.Balance; var result = sut.AddChange(new Change(100)); Assert.False(result.IsSuccess, "Able to add change to sale with negative balance"); Assert.Equal(expectedBalance, sut.Balance); }
public void Test_7_cannot_give_change_on_paid_sale() { // expected to fail until exercise complete var sut = new Sale(1); var item1 = new SaleItem(new Product(1, "product1", "product1", "product1s", 1.00, imageClassName: "test"), 1); sut.AddItem(item1); sut.AddPayment(new Payment(item1.TotalPrice)); var result = sut.AddChange(new Change(5.55)); Assert.False(result.IsSuccess, "Was able to give change on paid sale"); Assert.Equal(0, sut.Balance); Assert.Equal(0, sut.ChangeGiven); }