public void Initialize() { _quote = QuoteModel.Create(null); _quote.SetLoanProviders( new List <LoanProvider> { new LoanProvider { Lender = "Bob", Rate = 0.075D, Available = 640 }, new LoanProvider { Lender = "Jane", Rate = 0.069D, Available = 480 }, new LoanProvider { Lender = "Fred", Rate = 0.071D, Available = 520 }, new LoanProvider { Lender = "Mary", Rate = 0.104D, Available = 170 }, new LoanProvider { Lender = "John", Rate = 0.081D, Available = 320 }, new LoanProvider { Lender = "Dave", Rate = 0.074D, Available = 140 }, new LoanProvider { Lender = "Angela", Rate = 0.071D, Available = 60 }, } ); }
public void It_is_invalid_if_the_second_parameter_is_not_a_number() { _quote = QuoteModel.Create(new string[] { "file.csv", "a" }); Execute(); _quote.ValidationResult.ErrorMessage.ShouldEqual(InputHandler.INVALID_LOAN_AMOUNT); _quote.ValidationResult.IsValid.ShouldBeFalse(); SuccessorIsNotCalled(); }
public void It_is_invalid_if_second_param_is_smaller_than_minimum_loan() { _quote = QuoteModel.Create(new string[] { "file.csv", (_minimumLoan - 1).ToString() }); Execute(); _quote.ValidationResult.ErrorMessage.ShouldEqual(InputHandler.INVALID_LOAN_AMOUNT); _quote.ValidationResult.IsValid.ShouldBeFalse(); SuccessorIsNotCalled(); }
public void It_is_invalid_if_the_first_parameter_is_csv_file_name() { _quote = QuoteModel.Create(new string[] { "1", "2" }); Execute(); _quote.ValidationResult.ErrorMessage.ShouldEqual(InputHandler.INVALID_CSV); _quote.ValidationResult.IsValid.ShouldBeFalse(); SuccessorIsNotCalled(); }
public void Then_if_more_than_2_arguments_are_in_the_quote_is_set_as_invalid() { _quote = QuoteModel.Create(new string[] { "file.csv", "1000", "Hello" }); Execute(); _quote.ValidationResult.IsValid.ShouldBeFalse(); _quote.ValidationResult.ErrorMessage.ShouldEqual(InputHandler.INVALID_PARAMETERS); SuccessorIsNotCalled(); }
public void It_is_invalid_if_loan_amount_is_not_multiple() { _quote = QuoteModel.Create(new string[] { "file.csv", (_minimumLoan + 1 + _multiplesOf).ToString() }); Execute(); _quote.ValidationResult.ErrorMessage.ShouldEqual(InputHandler.INVALID_LOAN_AMOUNT); _quote.ValidationResult.IsValid.ShouldBeFalse(); SuccessorIsNotCalled(); }
public QuoteModel Process(string[] args) { _inputHandler.SetSuccessor(_loanProviderReaderHandler); _loanProviderReaderHandler.SetSuccessor(_rateFinderHandler); _rateFinderHandler.SetSuccessor(_quoteCalculatorHandler); var quote = QuoteModel.Create(args); _inputHandler.HandleRequest(quote); return(quote); }
public void It_is_valid_successor_is_called() { var amount = _minimumLoan + _multiplesOf; _quote = QuoteModel.Create(new string[] { "file.csv", (amount).ToString() }); Execute(); _successor.Verify(h => h.HandleRequest(It.Is <QuoteModel>(v => v == _quote)), Times.Once); }
public void It_is_valid_if_the_params_are_correct() { var amount = _minimumLoan + _multiplesOf; _quote = QuoteModel.Create(new string[] { "file.csv", (amount).ToString() }); Execute(); _quote.ValidationResult.IsValid.ShouldBeTrue(); _quote.InputModel.FileName.ShouldEqual("file.csv"); _quote.InputModel.LoanAmount.ShouldEqual(amount); }
public void Init() { _quote = QuoteModel.Create(null); _quote.InputModel.SetFileName("file.csv"); }
public void Init() { _quote = QuoteModel.Create(null); }
public void Init() { _quote = QuoteModel.Create(null); _quote.SetQuote(Quote.Create(1000, 0.07D, 4444.77777, 33.55556)); }