public void TestAdd() { // Arrange var entity = new FakeModel { FirstProperty = "fake4", SecondProperty = 4 }; var index = 0; ReaderMock.Setup(reader => reader.ReadLine()) .Returns(() => file[index++]); ReaderMock.SetupGet(reader => reader.EndOfStream) .Returns(() => index >= file.Length ? true : false); var expectedEntityToCsv = EntityToCSV(file.Count() + 1, entity.FirstProperty, entity.SecondProperty); // Act TestedDataLayer.Add(entity); // Assert WriterMock.Verify(writer => writer.WriteLine(expectedEntityToCsv), Times.Once); }