public void AchievesTwoPercentAt50ThenFails50More_PercentageStaysAtTwo() { PersonSetting personSetting = new PersonSetting { RawName = "currentUser" }; List <BuildStatus> builds = new List <BuildStatus>(); builds.Add(new BuildStatus { RequestedBy = "currentUser", BuildStatusEnum = BuildStatusEnum.Broken }); for (int i = 0; i < 49; i++) { builds.Add(new BuildStatus { RequestedBy = "currentUser", BuildStatusEnum = BuildStatusEnum.Working }); } for (int i = 0; i < 50; i++) { builds.Add(new BuildStatus { RequestedBy = "currentUser", BuildStatusEnum = BuildStatusEnum.Broken }); } Assert.AreEqual(100, builds.Count); Assert.AreEqual(0.02, BuildRatio.CalculateLowestBuildRatioAfter50Builds(personSetting, builds)); }
public void Exactly100BuildsOneFailedLowestPercentageIsOnePercent() { PersonSetting personSetting = new PersonSetting { RawName = "currentUser" }; List <BuildStatus> builds = new List <BuildStatus>(); builds.Add(new BuildStatus { RequestedBy = "currentUser", BuildStatusEnum = BuildStatusEnum.Broken }); for (int i = 0; i < 99; i++) { builds.Add(new BuildStatus { RequestedBy = "currentUser", BuildStatusEnum = BuildStatusEnum.Working }); } Assert.AreEqual(100, builds.Count); Assert.AreEqual(0.01, BuildRatio.CalculateLowestBuildRatioAfter50Builds(personSetting, builds)); }
public void Exactly50BuildsOneFailed_ButFailedBuildIsSomeoneElse() { PersonSetting personSetting = new PersonSetting { RawName = "currentUser" }; List <BuildStatus> builds = new List <BuildStatus>(); builds.Add(new BuildStatus { RequestedBy = "someoneElse", BuildStatusEnum = BuildStatusEnum.Broken }); for (int i = 0; i < 49; i++) { builds.Add(new BuildStatus { RequestedBy = "currentUser", BuildStatusEnum = BuildStatusEnum.Working }); } Assert.AreEqual(50, builds.Count); Assert.IsNull(BuildRatio.CalculateLowestBuildRatioAfter50Builds(personSetting, builds)); }