public GivenADailyCodeChurnProcessor() { this.loggerMock = new Mock <ILogger>(); this.fileSystemMock = new Mock <IFileSystem>(); this.parserMock = new Mock <IJsonListParser <DailyCodeChurn> >(); this.exclusionsProcessorMock = new Mock <IExclusionsProcessor>(); this.inclusionsProcessorMock = new Mock <IInclusionsProcessor>(); this.jsonExporter = new Mock <IJsonExporter>(); this.commandLineArgs = new DailyCodeChurnCommandLineArgs() { InputDir = "inputDir", FilePrefixToRemove = "filePrefix/", OutputFile = "OutputFile" }; SetupFileSystem(); SetupParser(); this.exclusionsProcessorMock.Setup(m => m.IsExcluded("file1line1")).Returns(true); this.exclusionsProcessorMock.Setup(m => m.IsExcluded("file1line2")).Returns(false); this.exclusionsProcessorMock.Setup(m => m.IsExcluded("file2line1")).Returns(false); this.exclusionsProcessorMock.Setup(m => m.IsExcluded("file2line2")).Returns(false); this.inclusionsProcessorMock.Setup(m => m.IsIncluded("file1line1")).Returns(true); this.inclusionsProcessorMock.Setup(m => m.IsIncluded("file1line2")).Returns(true); this.inclusionsProcessorMock.Setup(m => m.IsIncluded("file2line1")).Returns(true); this.inclusionsProcessorMock.Setup(m => m.IsIncluded("file2line2")).Returns(true); this.inclusionsProcessorMock.Setup(m => m.IsIncluded("file2line3")).Returns(false); this.inclusionsProcessorMock.Setup(m => m.IsIncluded("file3line1")).Returns(true); this.processor = new DailyCodeChurnProcessor(fileSystemMock.Object, parserMock.Object, loggerMock.Object, exclusionsProcessorMock.Object, inclusionsProcessorMock.Object, jsonExporter.Object); }
private static int RunDailyCodeChurn(DailyCodeChurnCommandLineArgs a) { var fileSystem = new FileSystem(); var jsonParser = new JsonListParser <DailyCodeChurn>(new FileStreamFactory()); var logger = new ConsoleLoggerWithTimestamp(); var exclusionsProcessor = new ExclusionsProcessor(a.Exclusions); var inclusionsProcessor = new InclusionsProcessor(a.Inclusions); var jsonExporter = new JsonExporter(new FileStreamFactory()); var processor = new DailyCodeChurnProcessor(fileSystem, jsonParser, logger, exclusionsProcessor, inclusionsProcessor, jsonExporter); processor.Process(a); return(0); }