public void MultipleBuildsSameSolution(params int[] buildTimeInMilliseconds) { var json = CreateBuildsJSON(buildTimeInMilliseconds.Select(b => CreateBuild(buildTimeInMilliseconds: b))); var buildTimes = new AnalyseBuildTimes().Calculate(json); Assert.That(buildTimes.Total == TimeSpan.FromMilliseconds(buildTimeInMilliseconds.Sum())); }
public void OneBuildTimeTotal(int singleBuildTimeInMilliseconds) { var json = CreateBuildsJSON(CreateBuildJSON(CreateBuild(buildTimeInMilliseconds: singleBuildTimeInMilliseconds))); var buildTimes = new AnalyseBuildTimes().Calculate(json); Assert.That(buildTimes.Total == TimeSpan.FromMilliseconds(singleBuildTimeInMilliseconds)); }
public void IgnoreNullSolutionNames() { const string json = @"[{ 'Start': '2016-01-22T18:53:33.6172723+00:00', 'Time': 2, 'Solution': { } }]"; var buildTimes = new AnalyseBuildTimes().Calculate(json); Assert.AreEqual(0, buildTimes.AvailableSolutions.Count()); }
public void AvailableMonths() { var solutionbuilds = CreateBuilds( CreateBuild(buildDateTime: JANUARY1()) , CreateBuild(buildDateTime: JANUARY31()) , CreateBuild(buildDateTime: MARCH()) ); var json = CreateBuildsJSON(solutionbuilds); var buildTimes = new AnalyseBuildTimes().Calculate(json); var expected = CreateSolutionMonths(CreateSolutionMonth(JANUARY1()), CreateSolutionMonth(MARCH())); CollectionAssert.AreEqual(expected, buildTimes.AvailableMonths); }
public void MultipleBuildsMultipleSolutions() { var solutionbuilds = CreateBuilds( CreateBuild("BuildMonitor", 1) , CreateBuild("Cedd", 2) , CreateBuild("BuildMonitor", 982734789) , CreateBuild("Cedd", 83468) ); var json = CreateBuildsJSON(solutionbuilds); var buildTimes = new AnalyseBuildTimes().Calculate(json); foreach (var solution in solutionbuilds.Select(s => s.Solution).Distinct()) { Assert.That(buildTimes.Solution(solution) == TimeSpan.FromMilliseconds(solutionbuilds.Where(s => s.Solution == solution).Sum(s => s.BuildTimeInMilliseconds))); } }
public void AvailableSolutions() { const string CEDD = "Cedd"; const string BUILDMONITOR = "BuildMonitor"; var solutionbuilds = CreateBuilds( CreateBuild(solution: CEDD) , CreateBuild(solution: BUILDMONITOR) , CreateBuild(solution: CEDD) ); var json = CreateBuildsJSON(solutionbuilds); var buildTimes = new AnalyseBuildTimes().Calculate(json); var expected = new List <string>() { CEDD, BUILDMONITOR }; CollectionAssert.AreEqual(expected, buildTimes.AvailableSolutions); }
public void MultipleBuildsMultipleMonthsMultipleSolutions() { var solutionbuilds = CreateBuilds( CreateBuild("BuildMonitor", 1, JANUARY1()) , CreateBuild("Cedd", 2, JANUARY31()) , CreateBuild("BuildMonitor", 982734789, FEBRUARY()) , CreateBuild("Cedd", 83468, MARCH()) ); var json = CreateBuildsJSON(solutionbuilds); //act var buildTimes = new AnalyseBuildTimes().Calculate(json); // assert var solutionMonths = solutionbuilds.Select(s => new SolutionMonth(solution: s.Solution, month: s.BuildDateTime.Month, year: s.BuildDateTime.Year)).Distinct(); foreach (var solutionMonth in solutionMonths) { Assert.That(buildTimes.SolutionMonth(solutionMonth.Solution, solutionMonth.Month, solutionMonth.Year) == TimeSpan.FromMilliseconds(solutionbuilds.Where(s => s.Solution == solutionMonth.Solution && s.BuildDateTime.Month == solutionMonth.Month && s.BuildDateTime.Year == solutionMonth.Year).Sum(s => s.BuildTimeInMilliseconds))); } }