public void testImportValidData() { Jester dataCollector = new Jester(); Mock <FileContentImporter> mockImporter = new Mock <FileContentImporter>(); Ingester dataIngester = new Ingester(); dataIngester.Collector = dataCollector; dataIngester.Importer = mockImporter.Object; string[] data = new string[1]; DateTime expectedDate = new DateTime(2019, 10, 1); data[0] = "a,\"b,c\",1.0,2.0,3.0," + expectedDate + ",4.0"; string filePath = "abc.csv"; mockImporter.Setup(imp => imp.import(filePath)).Returns(data).Verifiable(); dataIngester.ingest(filePath); List <HistoricalPrecipitation> collector = dataCollector.PrecipitationHistory; Assert.IsNotEmpty(collector); Assert.IsTrue(collector.Count == 1); Assert.AreEqual(expectedDate, collector[0].RecordedDate); mockImporter.Verify(imp => imp.import(filePath), Times.Once); }
public void testImportNoData() { Jester dataCollector = new Jester(); Mock <FileContentImporter> mockImporter = new Mock <FileContentImporter>(); Ingester dataIngester = new Ingester(); dataIngester.Collector = dataCollector; dataIngester.Importer = mockImporter.Object; string[] data = new string[0]; string filePath = "abc.csv"; mockImporter.Setup(imp => imp.import(filePath)).Returns(data).Verifiable(); dataIngester.ingest(filePath); Assert.IsEmpty(dataCollector.PrecipitationHistory); mockImporter.Verify(imp => imp.import(filePath), Times.Once); }