public void WhenBuilding1DayShouldComputeDatesCorrectly() { var args = new SonarGenericMetricsCommandLineArgs(); args.EndDate = new DateTime(2018, 9, 17, 11, 00, 00); args.Generate1Day = "true"; var converters = builder.Build(args); AssertAllMeasureConverters(converters, "_1d", new DateTime(2018, 9, 16, 00, 00, 00), new DateTime(2018, 9, 17, 00, 00, 00)); }
public void WhenBuildingWithoutEndDateShouldUseSystemDate() { var args = new SonarGenericMetricsCommandLineArgs(); args.EndDate = null; args.Generate1Day = "true"; var converters = builder.Build(args); AssertAllMeasureConverters(converters, "_1d", new DateTime(2018, 9, 16, 00, 00, 00), new DateTime(2018, 9, 17, 00, 00, 00)); }
private static int RunSonarGenericMetrics(SonarGenericMetricsCommandLineArgs a) { var fileSystem = new FileSystem(); var jsonParser = new JsonListParser <DailyCodeChurn>(new FileStreamFactory()); var converters = new MeasureConverterListBuilder(new EnvironmentImpl()).Build(a); var jsonExporter = new JsonExporter(new FileStreamFactory()); var processor = new SonarGenericMetricsProcessor(fileSystem, jsonParser, converters, jsonExporter, new ConsoleLoggerWithTimestamp()); processor.Process(a); return(0); }
public GivenASonarGenericMetricsProcessor() { this.commandLineArgs = new SonarGenericMetricsCommandLineArgs(); this.commandLineArgs.InputDir = "inputDir"; this.fileSystemMock = new Mock <IFileSystem>(); this.parserMock = new Mock <IJsonListParser <DailyCodeChurn> >(); var file1Mock = new Mock <IFile>(); file1Mock.Setup(m => m.FileName).Returns("file1"); var file2Mock = new Mock <IFile>(); file2Mock.Setup(m => m.FileName).Returns("file2"); var filesMock = new List <IFile>() { file1Mock.Object, file2Mock.Object }; this.fileSystemMock.Setup(m => m.GetFiles(this.commandLineArgs.InputDir, "*.json")).Returns(filesMock); measureConverter1Mock = new Mock <IMeasureConverter>(); measureConverter2Mock = new Mock <IMeasureConverter>(); this.measureConverters = new List <IMeasureConverter>() { measureConverter1Mock.Object, measureConverter2Mock.Object }; this.dailyCodeChurn1 = new List <DailyCodeChurn>() { new DailyCodeChurn(), new DailyCodeChurn() }; this.dailyCodeChurn2 = new List <DailyCodeChurn>() { new DailyCodeChurn() }; this.parserMock.Setup(m => m.ParseFile("file1")).Returns(dailyCodeChurn1); this.parserMock.Setup(m => m.ParseFile("file2")).Returns(dailyCodeChurn2); this.jsonExporterMock = new Mock <IJsonExporter>(); this.processor = new SonarGenericMetricsProcessor(this.fileSystemMock.Object, this.parserMock.Object, this.measureConverters, this.jsonExporterMock.Object, new Mock <ILogger>().Object); }
public void WhenBuildingShouldCreateMeasureConverters() { var args = new SonarGenericMetricsCommandLineArgs(); args.EndDate = new DateTime(2018, 9, 17, 11, 00, 00); args.Generate1Day = "true"; args.Generate1Year = "true"; args.Generate30Days = "true"; args.Generate3Months = "true"; args.Generate6Months = "true"; args.Generate7Days = "true"; var converters = builder.Build(args); Assert.Equal(37, converters.Count); }