public void GivenCorrectinputs_WhenRequestedLessThanAvailableMatchFound_ThenEligible() { var reader = new Mock <IReader>(); var lender = new Lenders { Name = "Bob", Amount = 1000, Rate = 0.075m }; reader.Setup(x => x.Read(It.IsAny <string>())).Returns(new List <Lenders> { lender }); var output = new Mock <IOutputStream>(); output.Setup(x => x.Write(It.IsAny <QuoteResults>())) .Verifiable(); var calcEngine = new Mock <ICalculator>(); var args = new[] { "market.csv", 1000.ToString() }; var calculationApp = new CalculateRateApp( reader.Object, output.Object, calcEngine.Object, 36); calculationApp.Run(args); output.Verify(); }
public void GivenNullArguments_WhenRun_ThenThrowException() { var calc = new Mock <ICalculator>(); var output = new Mock <IOutputStream>(); var reader = new Mock <IReader>(); const int length = 36; var calcApp = new CalculateRateApp(reader.Object, output.Object, calc.Object, length); Assert.Catch <ArgumentException>(() => calcApp.Run(null)); }
public void WhenSecondInputIsNotInteger_ThrowArgumentNullException() { var calc = new Mock <ICalculator>(); var output = new Mock <IOutputStream>(); var reader = new Mock <IReader>(); const int length = 36; var calcApp = new CalculateRateApp(reader.Object, output.Object, calc.Object, length); Assert.Throws <ArgumentNullException>(() => calcApp.Run(new List <string> { "market.csv", "String" })); }
public void WhenLoanAmountIsGreaterThen15000_ThrowArgumentException() { var calc = new Mock <ICalculator>(); var output = new Mock <IOutputStream>(); var reader = new Mock <IReader>(); const int length = 36; var calcApp = new CalculateRateApp(reader.Object, output.Object, calc.Object, length); var args = new List <string> { "market.csv", "15001" }; Assert.Catch <ArgumentException>(() => calcApp.Run(args)); }
public void GivenLessArguments_WhenRun_ThenThrowException() { var calc = new Mock <ICalculator>(); var output = new Mock <IOutputStream>(); var reader = new Mock <IReader>(); const int length = 36; var calcApp = new CalculateRateApp(reader.Object, output.Object, calc.Object, length); var args = new List <string> { "market.csv" }; Assert.Catch <ArgumentException>(() => calcApp.Run(args)); }
public void GivenCorrectinputs_WhenNoMatchFound_ThenNotEligible() { var reader = new Mock <IReader>(); reader.Setup(x => x.Read(It.IsAny <string>())).Returns(new List <Lenders>()); var output = new Mock <IOutputStream>(); output.Setup(x => x.NoQuoteMessage()) .Verifiable(); var calcEngine = new Mock <ICalculator>(); var args = new[] { "market.csv", 1000.ToString() }; var calculationApp = new CalculateRateApp( reader.Object, output.Object, calcEngine.Object, 36); calculationApp.Run(args); output.Verify(); }