public void ValidateProcessFilesInDirectoryWithValidPath() { var caulfieldParserMock = new Mock <IFeedDataParser>(); caulfieldParserMock.Setup(x => x.ParseHorseData(It.IsAny <string>())).Returns(new List <Horse> { new Horse { Name = "Test1", Price = 1 } }); var wolferhamptonParserMock = new Mock <IFeedDataParser>(); wolferhamptonParserMock.Setup(x => x.ParseHorseData(It.IsAny <string>())).Returns(new List <Horse> { new Horse { Name = "Test2", Price = 2 } }); var strategy = new FeedDataParserStrategy(caulfieldParserMock.Object, wolferhamptonParserMock.Object); var inputFolderPath = Path.Combine(Directory.GetCurrentDirectory(), "TestFeedDataFiles"); Assert.True(Directory.Exists(inputFolderPath)); Assert.True(Directory.EnumerateFiles(inputFolderPath, "*.xml").Any()); Assert.True(Directory.EnumerateFiles(inputFolderPath, "*.json").Any()); var horses = strategy.ProcessFilesInDirectory(inputFolderPath); Assert.Equal("Test1", horses.First().Name); }
public void ValidateProcessFilesInDirectoryWithInvalidPath() { var caulfieldParserMock = new Mock <IFeedDataParser>(); var wolferhamptonParserMock = new Mock <IFeedDataParser>(); var strategy = new FeedDataParserStrategy(caulfieldParserMock.Object, wolferhamptonParserMock.Object); Assert.Throws <ArgumentException>(() => strategy.ProcessFilesInDirectory("sometestjkhkasf")); }