public void FindChequesCanReturnTheValidCheques(int[] amounts, Cheque[] expected) { var sut = new CheckCalc(); var result = sut.FindCheques(amounts); result.Should().BeEquivalentTo(expected); }
static void Main(string[] args) { var calc = new CheckCalc(); var n1 = AskAmount(1); var n2 = AskAmount(2); var n3 = AskAmount(3); var n4 = AskAmount(4); var chqs = calc.FindCheques(new int[] { n1, n2, n3, n4 }); if (chqs.Length == 0) { Console.WriteLine("Can't find 3 cheques for all those amounts."); } else { Console.WriteLine("You should write the following cheques"); foreach (var chq in chqs) { Console.WriteLine("{0} ${1}", chq.Name, chq.Amount); } WriteChequesPayFor(n1, calc.CanPayCheque(n1, chqs).Cheques); WriteChequesPayFor(n2, calc.CanPayCheque(n2, chqs).Cheques); WriteChequesPayFor(n3, calc.CanPayCheque(n3, chqs).Cheques); WriteChequesPayFor(n4, calc.CanPayCheque(n4, chqs).Cheques); } }
public void CanPayCheckReturnThePayableSolution(int amount, Cheque[] cheques, ChequeSolution expected) { var sut = new CheckCalc(); var result = sut.CanPayCheque(amount, cheques); Assert.Equal(expected.Payable, result.Payable); result.Cheques.Should().BeEquivalentTo(expected.Cheques); }