public void can_store_and_find_a_lender() { //set up var newLender = new Lender("Tom", 0.109, 450); //act _marketRepository.Store(newLender); //assert var storedLender = _marketRepository.FindBy(x => x.Name == newLender.Name).FirstOrDefault(); storedLender.Name.Should().Be(newLender.Name); storedLender.Available.Should().Be(newLender.Available); storedLender.Available.Should().Be(newLender.Available); }
/// <inheritdoc /> public List<Lender> GetLendersFromDocument(string marketLocation) { var lenders = new List<Lender>(); using (var textReader = new StreamReader(marketLocation)) { //This CsvReader could be injected however I have chosen to leave it here //as the implementation for a CsvReader and taking it out //means the API isn't as nice/easy to follow. It would be easy to switch up //and inject it or write another implemetation of the service. using (var csvReader = new CsvReader(textReader)) { while (csvReader.Read()) { var name = csvReader.GetSafeValue<string>(0, "Could not load name from Document"); var rate = csvReader.GetSafeValue<double>(1, 0); var available = csvReader.GetSafeValue<decimal>(2, 0); var lender = new Lender(name, rate, available); lenders.Add(lender); } } } return lenders; }
///<inheritdoc /> public void Store(Lender lender) { _lenders.Add(lender); }