public void CanGrantTest() { var dic = new Dictionary <uint, uint>(); var target = new Cashpoint(true, dic); Assert.IsTrue(target.CanGrant(0), "Банкомат не может выдать 0"); target.AddBanknote(5, 1); Assert.IsTrue(target.CanGrant(5), "Банкомат не может выдать 5=5"); target.AddBanknote(6, 1); Assert.IsFalse(target.CanGrant(10), "Банкомат выдал 10 != 6+5"); target.AddBanknote(3, 1); Assert.IsTrue(target.CanGrant(8), "Банкомат не смог выдать 5+3=8"); target.AddBanknote(15, 1); target.AddBanknote(14, 1); Assert.IsTrue(target.CanGrant(28), "Банкомат не смог выдать 5+3+6+14=28"); Assert.IsFalse(target.CanGrant(16), "Банкомат как-то смог выдать 16 != 14+3"); Assert.IsFalse(target.CanGrant(44), "Банкомат как-то смог 44 > 5+6+3+15+14"); Assert.IsTrue(target.CanGrant(target.Total), "Банкомат не смог выдать всю свою сумму(банкноты не повторяются)"); target.AddBanknote(50, 2); target.AddBanknote(10, 10); target.RemoveBanknote(10, 5); Assert.IsTrue(target.CanGrant(150), "Банкомат не смог выдать 150"); target.RemoveBanknote(50, 1); target.RemoveBanknote(10, 3); Assert.IsTrue(target.CanGrant(70), "Банкомат не смог выдать 70"); }
public void CanGrant_SumIsZero_ShouldGrant() { var cashpoint = new Cashpoint(); Assert.That( cashpoint.CanGrant(0), "Банкомат не смог выдать 0"); cashpoint.AddBanknote(5); Assert.That( cashpoint.CanGrant(0), "Банкомат не смог выдать 0 после добавления купюры"); }
public void CanGrant_SumNotEqualToSingleBanknote_ShouldNotGrant() { var cashpoint = new Cashpoint(); cashpoint.AddBanknote(5); Assert.That( cashpoint.CanGrant(4), Is.False, "Банкомат смог выдать значение меньше номинала единственной купюры"); Assert.That( cashpoint.CanGrant(6), Is.False, "Банкомат смог выдать значение больше номинала единственной купюры"); }
public void CanGrant_PerformanceTest() { var cashpoint = new Cashpoint(); for (var i = 0; i < 2; i++) { cashpoint.AddBanknote(10); cashpoint.AddBanknote(50); cashpoint.AddBanknote(100); cashpoint.AddBanknote(200); cashpoint.AddBanknote(500); cashpoint.AddBanknote(1000); cashpoint.AddBanknote(2000); cashpoint.AddBanknote(5000); } Assert.That(cashpoint.CanGrant(3350)); Assert.That(cashpoint.CanGrant(3980), Is.False); }
public void CanGrant_SumEqualsToMultipleBanknotes_ShouldGrant() { var cashpoint = new Cashpoint(); cashpoint.AddBanknote(5, 3); Assert.That( cashpoint.CanGrant(15), "Банкомат не смог выдать имеющуюся в нем сумму"); }
public void CanGrant_SumEqualsToSingleBanknote_ShouldGrant() { var cashpoint = new Cashpoint(); cashpoint.AddBanknote(5); Assert.That( cashpoint.CanGrant(5), "Банкомат не смог выдать единственную банкноту"); }
public void CanGrant_SumEqualsToBanknotesTotal_ShouldGrant() { var cashpoint = new Cashpoint(); cashpoint.AddBanknote(5); cashpoint.AddBanknote(3); Assert.That( cashpoint.CanGrant(8), "Банкомат не смог выдать сумму двух купюр"); }
public void CanGrant_MultipleBanknotesIntermediateValues_ShouldNotGrant() { var cashpoint = new Cashpoint(); cashpoint.AddBanknote(5, 1); cashpoint.AddBanknote(3, 1); Assert.That( cashpoint.CanGrant(6), Is.False, "Банкомат смог выдать значение между номиналами купюр"); }