public void ValidateFixedBranches3() { Setup(TestUtil.GetTestFile("relay\\relay.ppen")); // No Assignments. FixedBranchAssignments branchAssignments = new FixedBranchAssignments(); branchAssignments.AddBranchAssignment('D', 1); branchAssignments.AddBranchAssignment('D', 2); branchAssignments.AddBranchAssignment('E', 2); branchAssignments.AddBranchAssignment('E', 3); List <string> errors; RelayVariations relayVariations = new RelayVariations(eventDB, CourseId(4), new RelaySettings(1, 6)); FixedBranchAssignments result = relayVariations.ValidateFixedBranches(branchAssignments, out errors); FixedBranchAssignments expected = new FixedBranchAssignments(); expected.AddBranchAssignment('D', 1); expected.AddBranchAssignment('D', 2); expected.AddBranchAssignment('E', 3); Assert.AreEqual(1, errors.Count); Assert.AreEqual("Leg 3 is assigned to both branch 'D' and branch 'E'", errors[0]); Assert.AreEqual(expected, result); }
public void ValidateFixedBranches7() { Setup(TestUtil.GetTestFile("relay\\gaffle.ppen")); FixedBranchAssignments branchAssignments = new FixedBranchAssignments(); branchAssignments.AddBranchAssignment('D', 0); branchAssignments.AddBranchAssignment('H', 1); branchAssignments.AddBranchAssignment('I', 0); branchAssignments.AddBranchAssignment('I', 2); List <string> errors; RelayVariations relayVariations = new RelayVariations(eventDB, CourseId(4), new RelaySettings(10, 3)); FixedBranchAssignments result = relayVariations.ValidateFixedBranches(branchAssignments, out errors); FixedBranchAssignments expected = new FixedBranchAssignments(); branchAssignments.AddBranchAssignment('D', 0); branchAssignments.AddBranchAssignment('H', 1); branchAssignments.AddBranchAssignment('I', 2); Assert.AreEqual(1, errors.Count); Assert.AreEqual("Leg 1 never reaches branch 'I': it was assigned to go a different way in a containing fork.", errors[0]); Assert.AreEqual(expected, result); }
public void GenerateAssignment6() { Setup(TestUtil.GetTestFile("relay\\relay.ppen")); var teamAssignment = new RelayVariations(eventDB, CourseId(1), new RelaySettings(64, 5)); ValidateRelayVariationsTest(teamAssignment, "relay\\complexuneven"); }
public void GenerateAssignment8() { Setup(TestUtil.GetTestFile("relay\\harper.ppen")); var teamAssignment = new RelayVariations(eventDB, CourseId(4), new RelaySettings(201, 10, 3)); ValidateRelayVariationsTest(teamAssignment, "relay\\harper2"); }
public void GenerateAssignment5() { Setup(TestUtil.GetTestFile("relay\\relay.ppen")); var teamAssignment = new RelayVariations(eventDB, CourseId(7), new RelaySettings(64, 5)); ValidateRelayVariationsTest(teamAssignment, "relay\\nestedbranches"); }
public void GenerateAssignment2() { Setup(TestUtil.GetTestFile("relay\\relay.ppen")); var teamAssignment = new RelayVariations(eventDB, CourseId(5), new RelaySettings(64, 6)); ValidateRelayVariationsTest(teamAssignment, "relay\\threeloop"); }
void ValidateRelayVariationsTest(RelayVariations relayAsignment, string baselineName) { string baselineFileName = TestUtil.GetTestFile(baselineName + ".txt"); string tempFileName = TestUtil.GetTestFile(baselineName + "_temp.txt"); DumpAssignment(relayAsignment, tempFileName); TestUtil.CompareTextFileBaseline(tempFileName, baselineFileName); File.Delete(tempFileName); }
public void FixedBranches7() { Setup(TestUtil.GetTestFile("relay\\relay.ppen")); FixedBranchAssignments fixedBranchAssignments = new FixedBranchAssignments(); fixedBranchAssignments.AddBranchAssignment('B', 6); var teamAssignment = new RelayVariations(eventDB, CourseId(1), new RelaySettings(30, 7, fixedBranchAssignments)); ValidateRelayVariationsTest(teamAssignment, "relay\\complexfixed"); }
public void BranchWarnings4() { Setup(TestUtil.GetTestFile("relay\\relay.ppen")); var teamAssignment = new RelayVariations(eventDB, CourseId(7), 64, 5); var warnings = teamAssignment.GetBranchWarnings().ToArray(); Assert.AreEqual(1, warnings.Length); Assert.AreEqual(3, warnings[0].numMore); CollectionAssert.AreEquivalent(new[] { 'A' }, warnings[0].codeMore); Assert.AreEqual(2, warnings[0].numLess); CollectionAssert.AreEquivalent(new[] { 'B' }, warnings[0].codeLess); }
public void FixedBranches1() { Setup(TestUtil.GetTestFile("relay\\relay.ppen")); FixedBranchAssignments fixedBranchAssignments = new FixedBranchAssignments(); fixedBranchAssignments.AddBranchAssignment('A', 3); fixedBranchAssignments.AddBranchAssignment('A', 1); var teamAssignment = new RelayVariations(eventDB, CourseId(8), new RelaySettings(30, 5, fixedBranchAssignments)); ValidateRelayVariationsTest(teamAssignment, "relay\\twowayfixed"); }
public void BranchWarnings4() { Setup(TestUtil.GetTestFile("relay\\relay.ppen")); var teamAssignment = new RelayVariations(eventDB, CourseId(7), new RelaySettings(64, 5)); var warnings = teamAssignment.GetBranchWarnings().ToArray(); Assert.AreEqual(1, warnings.Length); Assert.AreEqual(3, warnings[0].numMore); CollectionAssert.AreEquivalent(new[] { 'A' }, warnings[0].codeMore); Assert.AreEqual(2, warnings[0].numLess); CollectionAssert.AreEquivalent(new[] { 'B' }, warnings[0].codeLess); }
public void ValidateFixedBranches5() { Setup(TestUtil.GetTestFile("relay\\gaffle.ppen")); // No Assignments. FixedBranchAssignments branchAssignments = new FixedBranchAssignments(); List <string> errors; RelayVariations relayVariations = new RelayVariations(eventDB, CourseId(4), new RelaySettings(10, 3)); FixedBranchAssignments result = relayVariations.ValidateFixedBranches(branchAssignments, out errors); Assert.AreEqual(0, errors.Count); Assert.AreEqual(branchAssignments, result); }
public void FixedBranches9() { Setup(TestUtil.GetTestFile("relay\\gaffle.ppen")); FixedBranchAssignments fixedBranchAssignments = new FixedBranchAssignments(); fixedBranchAssignments.AddBranchAssignment('D', 0); fixedBranchAssignments.AddBranchAssignment('H', 1); fixedBranchAssignments.AddBranchAssignment('I', 2); var teamAssignment = new RelayVariations(eventDB, CourseId(4), new RelaySettings(10, 3, fixedBranchAssignments)); ValidateRelayVariationsTest(teamAssignment, "relay\\fixedinnnerbranch"); }
public void ExportCsv2() { Setup(TestUtil.GetTestFile("relay\\relay.ppen")); string tempOutputFile = TestUtil.GetTestFile("relay\\doublebranch_temp.csv"); string baselineFile = TestUtil.GetTestFile("relay\\doublebranch_baseline2.csv"); var teamAssignment = new RelayVariations(eventDB, CourseId(4), new RelaySettings(101, 143, 6)); var csvWriter = new CsvWriter(); csvWriter.WriteCsv(tempOutputFile, teamAssignment); TestUtil.CompareTextFileBaseline(tempOutputFile, baselineFile); File.Delete(tempOutputFile); }
public void ExportXml2() { Dictionary <string, string> exceptions = ExportXmlVersion3.TestFileExceptionMap(); Setup(TestUtil.GetTestFile("relay\\relay.ppen")); string tempOutputFile = TestUtil.GetTestFile("relay\\doublebranch_temp.xml"); string baselineFile = TestUtil.GetTestFile("relay\\doublebranch_baseline2.xml"); var teamAssignment = new RelayVariations(eventDB, CourseId(4), new RelaySettings(101, 143, 6)); var xmlExporter = new ExportRelayVariations3(); xmlExporter.WriteFullXml(tempOutputFile, teamAssignment, eventDB, CourseId(4)); TestUtil.CompareTextFileBaseline(tempOutputFile, baselineFile, exceptions); File.Delete(tempOutputFile); }
public void PossiblePaths() { Setup(TestUtil.GetTestFile("relay\\relay.ppen")); var relays = new RelayVariations(eventDB, CourseId(3), new RelaySettings(1, 6)); Assert.AreEqual(2, relays.GetTotalPossiblePaths()); relays = new RelayVariations(eventDB, CourseId(4), new RelaySettings(1, 6)); Assert.AreEqual(6, relays.GetTotalPossiblePaths()); relays = new RelayVariations(eventDB, CourseId(5), new RelaySettings(1, 6)); Assert.AreEqual(6, relays.GetTotalPossiblePaths()); relays = new RelayVariations(eventDB, CourseId(1), new RelaySettings(1, 6)); Assert.AreEqual(37, relays.GetTotalPossiblePaths()); }
void DumpAssignment(RelayVariations relayAssignment, string fileName) { using (TextWriter writer = new StreamWriter(fileName)) { for (int team = relayAssignment.FirstTeamNumber; team <= relayAssignment.LastTeamNumber; ++team) { writer.Write("Team {0,3}: \t", team); for (int leg = 1; leg <= relayAssignment.NumberOfLegs; ++leg) { if (leg != 0) { writer.Write("\t"); } writer.Write("{0}", relayAssignment.GetVariation(team, leg).CodeString); } writer.WriteLine(); } } }
public void ValidateFixedBranches2() { Setup(TestUtil.GetTestFile("relay\\relay.ppen")); // No Assignments. FixedBranchAssignments branchAssignments = new FixedBranchAssignments(); branchAssignments.AddBranchAssignment('A', -1); branchAssignments.AddBranchAssignment('A', 4); List <string> errors; RelayVariations relayVariations = new RelayVariations(eventDB, CourseId(7), new RelaySettings(1, 4)); FixedBranchAssignments result = relayVariations.ValidateFixedBranches(branchAssignments, out errors); Assert.AreEqual(2, errors.Count); Assert.AreEqual("'0' is not a valid leg number for branch 'A'", errors[0]); Assert.AreEqual("'5' is not a valid leg number for branch 'A'", errors[1]); Assert.AreEqual(result, new FixedBranchAssignments()); }
public void GenerateAssignment3() { Setup(TestUtil.GetTestFile("relay\\relay.ppen")); var teamAssignment = new RelayVariations(eventDB, CourseId(4), 64, 6); ValidateRelayVariationsTest(teamAssignment, "relay\\doublebranch"); }
public void GenerateAssignment5() { Setup(TestUtil.GetTestFile("relay\\relay.ppen")); var teamAssignment = new RelayVariations(eventDB, CourseId(7), 64, 5); ValidateRelayVariationsTest(teamAssignment, "relay\\nestedbranches"); }
public void GenerateAssignment6() { Setup(TestUtil.GetTestFile("relay\\relay.ppen")); var teamAssignment = new RelayVariations(eventDB, CourseId(1), 64, 5); ValidateRelayVariationsTest(teamAssignment, "relay\\complexuneven"); }
public void PossiblePaths() { Setup(TestUtil.GetTestFile("relay\\relay.ppen")); var relays = new RelayVariations(eventDB, CourseId(3), 1, 6); Assert.AreEqual(2, relays.GetTotalPossiblePaths()); relays = new RelayVariations(eventDB, CourseId(4), 1, 6); Assert.AreEqual(6, relays.GetTotalPossiblePaths()); relays = new RelayVariations(eventDB, CourseId(5), 1, 6); Assert.AreEqual(6, relays.GetTotalPossiblePaths()); relays = new RelayVariations(eventDB, CourseId(1), 1, 6); Assert.AreEqual(37, relays.GetTotalPossiblePaths()); }
public void GenerateAssignment2() { Setup(TestUtil.GetTestFile("relay\\relay.ppen")); var teamAssignment = new RelayVariations(eventDB, CourseId(5), 64, 6); ValidateRelayVariationsTest(teamAssignment, "relay\\threeloop"); }
void DumpAssignment(RelayVariations relayAssignment, string fileName) { using (TextWriter writer = new StreamWriter(fileName)) { for (int team = 1; team <= relayAssignment.NumberOfTeams; ++team) { writer.Write("Team {0,3}: \t", team); for (int leg = 1; leg <= relayAssignment.NumberOfLegs; ++leg) { if (leg != 0) writer.Write("\t"); writer.Write("{0}", relayAssignment.GetVariation(team, leg).CodeString); } writer.WriteLine(); } } }
public void ExportXml() { Dictionary<string, string> exceptions = ExportXmlVersion3.TestFileExceptionMap(); Setup(TestUtil.GetTestFile("relay\\relay.ppen")); string tempOutputFile = TestUtil.GetTestFile("relay\\doublebranch_temp.xml"); string baselineFile = TestUtil.GetTestFile("relay\\doublebranch_baseline.xml"); var teamAssignment = new RelayVariations(eventDB, CourseId(4), 143, 6); var xmlExporter = new ExportRelayVariations3(); xmlExporter.WriteXml(tempOutputFile, teamAssignment, eventDB, CourseId(4)); TestUtil.CompareTextFileBaseline(tempOutputFile, baselineFile, exceptions); File.Delete(tempOutputFile); }
public void ExportCsv() { Setup(TestUtil.GetTestFile("relay\\relay.ppen")); string tempOutputFile = TestUtil.GetTestFile("relay\\doublebranch_temp.csv"); string baselineFile = TestUtil.GetTestFile("relay\\doublebranch_baseline.csv"); var teamAssignment = new RelayVariations(eventDB, CourseId(4), 143, 6); var csvWriter = new CsvWriter(); csvWriter.WriteCsv(tempOutputFile, teamAssignment); TestUtil.CompareTextFileBaseline(tempOutputFile, baselineFile); File.Delete(tempOutputFile); }