public void TestAddAndRemoveNewDive() { // Tests the adding of a new dive, when it is the first dive of the diver Dive dive = new Dive(new DiveCode(3.1)); branch.AddNewDive(contestantList.ElementAt(0), dive); Dive diveToCheck = null; diveToCheck = branch.BranchContestants.ElementAt(0).DiveLists.ElementAt(0).ElementAt(0); Assert.AreEqual(dive, diveToCheck); // Tests the adding of a second jump of a diver on same branch Dive dive2 = new Dive(new DiveCode(2)); branch.AddNewDive(contestantList.ElementAt(0), dive2); diveToCheck = branch.BranchContestants.ElementAt(0).DiveLists.ElementAt(0).ElementAt(1); Assert.AreEqual(dive2, diveToCheck); // Tests adding a new dive on a new branch SubContestBranch branch2 = new SubContestBranch("testbranch2", contest, contestantList); Dive dive3 = new Dive(new DiveCode(3.0)); branch2.AddNewDive(contestantList.ElementAt(0), dive3); diveToCheck = branch2.BranchContestants.ElementAt(0).DiveLists.ElementAt(1).ElementAt(0); Assert.AreEqual(dive3, diveToCheck); // Tests removing of a dive that was added by mistake? Assert.IsTrue(branch.RemoveExistingDive(contestantList.ElementAt(0), dive2)); // Checks if the element we removed is still there // If ArgumentOutOfRangeException is triggered the test is valid try { contestantList.ElementAt(0).DiveLists.ElementAt(0).ElementAt(1); Assert.Fail(); } catch (ArgumentOutOfRangeException) { } // Tests removing of a dive that doesnt exist Assert.IsFalse(branch.RemoveExistingDive(contestantList.ElementAt(1), dive2)); }
public void TestFullContest() { DateTime endDate = new DateTime(2018, 2, 22); ContestInfo contestInfo = new ContestInfo("Svedala simhopps tävling", "Örebro", DateTime.Now, endDate, "Gustavsvik"); Judge judge1 = new Judge("Karl", "Mal"); Judge judge2 = new Judge("LAban", "Asda"); Judge judge3 = new Judge("Leg", "Shin"); Judge judge4 = new Judge("Handy", "Bandy"); Judge judge5 = new Judge("Sammy", "Rol"); JudgeList judgeList = new JudgeList(); judgeList.Add(judge1); judgeList.Add(judge2); judgeList.Add(judge3); judgeList.Add(judge4); judgeList.Add(judge5); Contestant kalle = new Contestant("kalle", "Cool"); Contestant pelle = new Contestant("pelle", "Holm"); Contestant lars = new Contestant("Lars", "Lerin"); Contestant anna = new Contestant("Anna", "Annasson"); ContestantList contestantList = new ContestantList(); contestantList.Add(kalle); contestantList.Add(pelle); contestantList.Add(lars); contestantList.Add(anna); // create the new Contest object Contest contest = new Contest(contestInfo, judgeList, contestantList); // create ContestantLists for a subcontest ContestantList branch1_Contestants = new ContestantList(); branch1_Contestants.Add(kalle); branch1_Contestants.Add(pelle); branch1_Contestants.Add(lars); SubContestBranch branch1 = new SubContestBranch("Deltävling 1", contest, branch1_Contestants); // create second subcontest ContestantList branch2_Contestants = new ContestantList(); branch2_Contestants.Add(kalle); branch2_Contestants.Add(pelle); branch2_Contestants.Add(anna); SubContestBranch branch2 = new SubContestBranch("Deltävling 2", contest, branch2_Contestants); // add the newly created subcontests to the contest contest.SubContestBranches.Add(branch1); contest.SubContestBranches.Add(branch2); // first dive of the subcontest Dive dive1Kalle = new Dive(new DiveCode(3.1)); // Scores come in from all the judges and is built into a full ScoreList ScoreList scoreListDive1Kalle = new ScoreList(); scoreListDive1Kalle.Add(new Score(8, judge1)); scoreListDive1Kalle.Add(new Score(5, judge2)); scoreListDive1Kalle.Add(new Score(8.5, judge3)); scoreListDive1Kalle.Add(new Score(7, judge4)); scoreListDive1Kalle.Add(new Score(9, judge5)); dive1Kalle.Scores = scoreListDive1Kalle; branch1.AddNewDive(kalle, dive1Kalle); // second dive Dive dive1Pelle = new Dive(new DiveCode(3.1)); // Scores come in from all the judges and is built into a full ScoreList ScoreList scoreListDive1Pelle = new ScoreList(); scoreListDive1Pelle.Add(new Score(8, judge1)); scoreListDive1Pelle.Add(new Score(5, judge2)); scoreListDive1Pelle.Add(new Score(8.5, judge3)); scoreListDive1Pelle.Add(new Score(7, judge4)); scoreListDive1Pelle.Add(new Score(6.5, judge5)); dive1Pelle.Scores = scoreListDive1Pelle; branch1.AddNewDive(pelle, dive1Pelle); // third dive Dive dive1Lars = new Dive(new DiveCode(3.1)); // Scores come in from all the judges and is built into a full ScoreList ScoreList scoreListDive1Lars = new ScoreList(); scoreListDive1Lars.Add(new Score(7.5, judge1)); scoreListDive1Lars.Add(new Score(9, judge2)); scoreListDive1Lars.Add(new Score(8.5, judge3)); scoreListDive1Lars.Add(new Score(7, judge4)); scoreListDive1Lars.Add(new Score(6.5, judge5)); dive1Lars.Scores = scoreListDive1Lars; branch1.AddNewDive(lars, dive1Lars); // first dive of second subcontest Dive dive2Kalle = new Dive(new DiveCode(2.8)); // Scores come in from all the judges and is built into a full ScoreList ScoreList scoreListDive2Kalle = new ScoreList(); scoreListDive2Kalle.Add(new Score(8, judge1)); scoreListDive2Kalle.Add(new Score(5, judge2)); scoreListDive2Kalle.Add(new Score(8.5, judge3)); scoreListDive2Kalle.Add(new Score(7, judge4)); scoreListDive2Kalle.Add(new Score(9, judge5)); dive2Kalle.Scores = scoreListDive1Kalle; branch2.AddNewDive(kalle, dive2Kalle); // second dive Dive dive2Pelle = new Dive(new DiveCode(2.9)); // Scores come in from all the judges and is built into a full ScoreList ScoreList scoreListDive2Pelle = new ScoreList(); scoreListDive2Pelle.Add(new Score(8, judge1)); scoreListDive2Pelle.Add(new Score(5, judge2)); scoreListDive2Pelle.Add(new Score(8, judge3)); scoreListDive2Pelle.Add(new Score(7, judge4)); scoreListDive2Pelle.Add(new Score(6.5, judge5)); dive2Pelle.Scores = scoreListDive1Pelle; branch2.AddNewDive(pelle, dive2Pelle); // third dive Dive dive1Anna = new Dive(new DiveCode(3.0)); // Scores come in from all the judges and is built into a full ScoreList ScoreList scoreListDive1Anna = new ScoreList(); scoreListDive1Anna.Add(new Score(7.5, judge1)); scoreListDive1Anna.Add(new Score(9, judge2)); scoreListDive1Anna.Add(new Score(8.5, judge3)); scoreListDive1Anna.Add(new Score(7, judge4)); scoreListDive1Anna.Add(new Score(6.5, judge5)); dive1Anna.Scores = scoreListDive1Anna; branch2.AddNewDive(anna, dive1Anna); Console.WriteLine("HEJ"); foreach (var subContest in contest.SubContestBranches) { int i = 1; foreach (var result in subContest.GenerateSubContestResult()) { Console.WriteLine(i + ". " + result.Key.FirstName + " Score: " + result.Value); i++; } } }
public Contest createTestContest() { DateTime endDate = new DateTime(2018, 2, 22); ContestInfo contestInfo = new ContestInfo("Svedala simhoppstävling", "Örebro", DateTime.Now, endDate, "Gustavsvik"); Judge judge1 = new Judge(1, "Karl", "Mal", 22, "*****@*****.**", "male", "891017-6653", "Pappersvägen 3"); Judge judge2 = new Judge(2, "Laban", "Asda", 45, "*****@*****.**", "male", "651011-6423", "Venavägen 8"); Judge judge3 = new Judge(3, "Leg", "Shin", 33, "*****@*****.**", "male", "821201-5434", "Storgatan 1"); Judge judge4 = new Judge(4, "Anna", "Pann", 29, "*****@*****.**", "female", "910413-4594", "Järnvägsgatan 33"); Judge judge5 = new Judge(5, "Sammy", "Rol", 38, "*****@*****.**", "female", "880623-5921", "Skolgatan 28"); JudgeList judgeList = new JudgeList(); judgeList.Add(judge1); judgeList.Add(judge2); judgeList.Add(judge3); judgeList.Add(judge4); judgeList.Add(judge5); Contestant kalle = new Contestant(6, "Kalle", "Cool", 35, "*****@*****.**", "male", "78345345-435", "Storgatan 3"); Contestant pelle = new Contestant(7, "Pelle", "Holm", 14, "*****@*****.**", "male", "04546387-1104", "Småttmisnöjdmedtillvaro gatan 25"); Contestant lars = new Contestant(8, "Lars", "Lerin", 50, "*****@*****.**", "male", "68345435-4352", "Brittmarie-gatan 89"); Contestant anna = new Contestant(9, "Anna", "Annasson", 28, "*****@*****.**", "female", "88376534534-3455", "Lokalgatan 8"); ContestantList contestantList = new ContestantList(); contestantList.Add(kalle); contestantList.Add(pelle); contestantList.Add(lars); contestantList.Add(anna); // create the new Contest object Contest contest = new Contest(contestInfo, judgeList, contestantList); // create ContestantLists for a subcontest ContestantList branch1_Contestants = new ContestantList(); branch1_Contestants.Add(kalle); branch1_Contestants.Add(pelle); branch1_Contestants.Add(lars); SubContestBranch branch1 = new SubContestBranch("Deltävling 1", contest, branch1_Contestants); // create second subcontest ContestantList branch2_Contestants = new ContestantList(); branch2_Contestants.Add(kalle); branch2_Contestants.Add(pelle); branch2_Contestants.Add(anna); SubContestBranch branch2 = new SubContestBranch("Deltävling 2", contest, branch2_Contestants); // add the newly created subcontests to the contest contest.SubContestBranches.Add(branch1); contest.SubContestBranches.Add(branch2); // first dive of the subcontest Dive dive1Kalle = new Dive(new DiveCode(3.1)); // Scores come in from all the judges and is built into a full ScoreList ScoreList scoreListDive1Kalle = new ScoreList(); scoreListDive1Kalle.Add(new Score(8, judge1)); scoreListDive1Kalle.Add(new Score(5, judge2)); scoreListDive1Kalle.Add(new Score(8.5, judge3)); scoreListDive1Kalle.Add(new Score(7, judge4)); scoreListDive1Kalle.Add(new Score(9, judge5)); dive1Kalle.Scores = scoreListDive1Kalle; branch1.AddNewDive(kalle, dive1Kalle); // second dive Dive dive1Pelle = new Dive(new DiveCode(3.1)); // Scores come in from all the judges and is built into a full ScoreList ScoreList scoreListDive1Pelle = new ScoreList(); scoreListDive1Pelle.Add(new Score(8, judge1)); scoreListDive1Pelle.Add(new Score(5, judge2)); scoreListDive1Pelle.Add(new Score(8.5, judge3)); scoreListDive1Pelle.Add(new Score(7, judge4)); scoreListDive1Pelle.Add(new Score(6.5, judge5)); dive1Pelle.Scores = scoreListDive1Pelle; branch1.AddNewDive(pelle, dive1Pelle); // third dive Dive dive1Lars = new Dive(new DiveCode(3.1)); // Scores come in from all the judges and is built into a full ScoreList ScoreList scoreListDive1Lars = new ScoreList(); scoreListDive1Lars.Add(new Score(7.5, judge1)); scoreListDive1Lars.Add(new Score(9, judge2)); scoreListDive1Lars.Add(new Score(8.5, judge3)); scoreListDive1Lars.Add(new Score(7, judge4)); scoreListDive1Lars.Add(new Score(6.5, judge5)); dive1Lars.Scores = scoreListDive1Lars; branch1.AddNewDive(lars, dive1Lars); // first dive of second subcontest Dive dive2Kalle = new Dive(new DiveCode(2.8)); // Scores come in from all the judges and is built into a full ScoreList ScoreList scoreListDive2Kalle = new ScoreList(); scoreListDive2Kalle.Add(new Score(8, judge1)); scoreListDive2Kalle.Add(new Score(5, judge2)); scoreListDive2Kalle.Add(new Score(8.5, judge3)); scoreListDive2Kalle.Add(new Score(7, judge4)); scoreListDive2Kalle.Add(new Score(9, judge5)); dive2Kalle.Scores = scoreListDive1Kalle; branch2.AddNewDive(kalle, dive2Kalle); // second dive Dive dive2Pelle = new Dive(new DiveCode(2.9)); // Scores come in from all the judges and is built into a full ScoreList ScoreList scoreListDive2Pelle = new ScoreList(); scoreListDive2Pelle.Add(new Score(8, judge1)); scoreListDive2Pelle.Add(new Score(5, judge2)); scoreListDive2Pelle.Add(new Score(8, judge3)); scoreListDive2Pelle.Add(new Score(7, judge4)); scoreListDive2Pelle.Add(new Score(6.5, judge5)); dive2Pelle.Scores = scoreListDive1Pelle; branch2.AddNewDive(pelle, dive2Pelle); // third dive Dive dive1Anna = new Dive(new DiveCode(3.0)); // Scores come in from all the judges and is built into a full ScoreList ScoreList scoreListDive1Anna = new ScoreList(); scoreListDive1Anna.Add(new Score(7.5, judge1)); scoreListDive1Anna.Add(new Score(9, judge2)); scoreListDive1Anna.Add(new Score(8.5, judge3)); scoreListDive1Anna.Add(new Score(7, judge4)); scoreListDive1Anna.Add(new Score(6.5, judge5)); dive1Anna.Scores = scoreListDive1Anna; branch2.AddNewDive(anna, dive1Anna); return(contest); }
public SubContestBranchTests() { contestantList.Add(kalle); contestantList.Add(pelle); branch = new SubContestBranch("testbranch", contest, contestantList); }
public void TestGenerateSubContestResult() { Contest contest = new Contest(); Contestant kalle = new Contestant("kalle", "Cool"); Contestant pelle = new Contestant("pelle", "Holm"); Contestant lars = new Contestant("Lars", "Lerin"); ContestantList contestantList = new ContestantList(); contestantList.Add(kalle); contestantList.Add(pelle); contestantList.Add(lars); SubContestBranch subContest = new SubContestBranch("Test", contest, contestantList); Dive dive = new Dive(new DiveCode(3.1)); Dive dive2 = new Dive(new DiveCode(2.1)); Dive dive3 = new Dive(new DiveCode(3.5)); Dive dive4 = new Dive(new DiveCode(2.5)); Dive dive5 = new Dive(new DiveCode(15.0)); ScoreList scoreListDive = new ScoreList(); scoreListDive.Add(new Score(8)); scoreListDive.Add(new Score(8.5)); scoreListDive.Add(new Score(6.5)); scoreListDive.Add(new Score(7)); scoreListDive.Add(new Score(9)); dive.Scores = scoreListDive; // 72.85 subContest.AddNewDive(kalle, dive); ScoreList scoreListDive2 = new ScoreList(); scoreListDive2.Add(new Score(6)); scoreListDive2.Add(new Score(7.5)); scoreListDive2.Add(new Score(6.5)); scoreListDive2.Add(new Score(7)); scoreListDive2.Add(new Score(9)); dive2.Scores = scoreListDive2; // 44.1 subContest.AddNewDive(pelle, dive2); ScoreList scoreListDive3 = new ScoreList(); scoreListDive3.Add(new Score(6)); scoreListDive3.Add(new Score(4.5)); scoreListDive3.Add(new Score(6.5)); scoreListDive3.Add(new Score(5)); scoreListDive3.Add(new Score(8)); dive3.Scores = scoreListDive3; subContest.AddNewDive(kalle, dive3); // 61.25 ScoreList scoreListDive4 = new ScoreList(); scoreListDive4.Add(new Score(6)); scoreListDive4.Add(new Score(7)); scoreListDive4.Add(new Score(8.5)); scoreListDive4.Add(new Score(5)); scoreListDive4.Add(new Score(8)); dive4.Scores = scoreListDive4; subContest.AddNewDive(pelle, dive4); // ScoreList scoreListDive5 = new ScoreList(); scoreListDive5.Add(new Score(6)); scoreListDive5.Add(new Score(7)); scoreListDive5.Add(new Score(8.5)); scoreListDive5.Add(new Score(5)); scoreListDive5.Add(new Score(8)); dive5.Scores = scoreListDive5; subContest.AddNewDive(lars, dive5); // // get the ResultDictionary containing pairs of contestant and a total score sum. ResultDictionary result = subContest.GenerateSubContestResult(); Assert.AreEqual(3, result.Count); foreach (var score in result) { Console.WriteLine(score.Key.FirstName + ": " + score.Value); } Assert.AreEqual(315, result.First().Value); Console.WriteLine(); // getting same data from our Contest object ResultDictionary r = contest.GetSubContestResultDictionary(subContest); Assert.AreEqual(3, r.Count); foreach (var score in r) { Console.WriteLine(score.Key.FirstName + ": " + score.Value); } Assert.AreEqual(315, r.First().Value); }