public void CalculateExpenses_ShouldInvokeReadFile_WhenReadLine() { //Arrange IList <CampingTrip> trips = new List <CampingTrip>(); var fileReader = new Mock <IFileReader>(); fileReader.Setup(x => x.ReadFile(It.IsAny <string>())).Returns(trips); //Act var expenseCalculator = new CampingTripExpenseCalculator(fileReader.Object); expenseCalculator.CalculateExpenses("anystring"); //Assert fileReader.Verify(m => m.ReadFile(It.IsAny <string>()), Times.Once()); }
static void Main(string[] args) { TextFileReader fileReader = new TextFileReader(); CampingTripExpenseCalculator expenseCalculator = new CampingTripExpenseCalculator(fileReader); Console.WriteLine("Enter Filename"); var lineRead = Console.ReadLine(); if (!string.IsNullOrEmpty(lineRead)) { expenseCalculator.CalculateExpenses(lineRead); Console.ReadLine(); } else { Console.WriteLine("Invalid Filename Entered"); } }