public void ProvidedTipObject_InitializedCorrectly() { //prepare var tips = new CandidateNameElectionGainPairs { theFirstPlaceTip, theSecondPlaceTip, theThirdPlaceTip }; //act var sut = new ProvidedTip(tipperName, tips); //assert Assert.That(sut.TipperName, Is.EqualTo(tipperName), "Tipper name is not as expected."); Assert.That(sut.Tips[0].CandidateName, Is.EqualTo(candidateOnFirstPosition), "Candidate on first position not as expected."); Assert.That(sut.Tips[1].CandidateName, Is.EqualTo(candidateOnSecondPosition), "Candidate on second position not as expected."); Assert.That(sut.Tips[2].CandidateName, Is.EqualTo(candidateOnThirdPosition), "Candidate on third position not as expected."); Assert.That(sut.Tips[0].ElectionGainInPercent, Is.EqualTo(firstPositionPercent), "Candidate on first position percent not as expected."); Assert.That(sut.Tips[1].ElectionGainInPercent, Is.EqualTo(secondPositionPercent), "Candidate on second position percent not as expected."); Assert.That(sut.Tips[2].ElectionGainInPercent, Is.EqualTo(thirdPositionPercent), "Candidate on third position percent not as expected."); }
public void GetEnumerator_DoesNotThrowException() { //prepare var sut = new CandidateNameElectionGainPairs(); //assert Assert.IsFalse(sut.Any()); }
public ProvidedTip(string tipperName, CandidateNameElectionGainPairs tips) { TipperName = tipperName; if (tips.Count > MaximumCountOfTippedPlaces) { throw new ArgumentException($"Maximum {MaximumCountOfTippedPlaces} tipped places are allowed.", nameof(tips)); } this.Tips = tips; }
public void ReturnsInstanceOfListOfElectionResult() { //prepare var sut = new CandidateNameElectionGainPairs(); //assert Assert.That(sut, Is.InstanceOf(typeof(List <CandidateNameElectionGainPair>))); Assert.That(sut, Is.InstanceOf <List <CandidateNameElectionGainPair> >()); Assert.IsInstanceOf <List <CandidateNameElectionGainPair> >(sut); }
public void ReturnsInstanceOfIList() { //prepare var sut = new CandidateNameElectionGainPairs(); //assert Assert.That(sut, Is.InstanceOf(typeof(IList))); Assert.That(sut, Is.InstanceOf <IList>()); Assert.IsInstanceOf <IList>(sut); }
public void Read_ReturnsCandidateNameElectionGainPairsObject() { //prepare var inputFileNameFullPath = FilePathProvider.ProvideFullPathToFile("TestResults.json", inputDataDirectoryName); var sut = new ElectionResultsReader(inputFileNameFullPath); //act CandidateNameElectionGainPairs candidateNameElectionGainPairs = sut.Read(); //assert Assert.That(candidateNameElectionGainPairs, Is.TypeOf <CandidateNameElectionGainPairs>()); }
public void MaximumSixTipsAllowed() { //prepare var tips = new CandidateNameElectionGainPairs { theFirstPlaceTip, theSecondPlaceTip, theThirdPlaceTip, theFourthPlaceTip, theFifthPlaceTip, theSixthPlaceTip, new CandidateNameElectionGainPair("FourthCandidate", 10.0) }; //act Assert.Throws <ArgumentException>(() => new ProvidedTip(tipperName, tips)); }
public void Read_ReadOutValuesFitWithValuesInFile() { //prepare var inputFileNameFullPath = FilePathProvider.ProvideFullPathToFile("TestResults.json", inputDataDirectoryName); var sut = new ElectionResultsReader(inputFileNameFullPath); //act CandidateNameElectionGainPairs candidateNameElectionGainPairs = sut.Read(); //assert Assert.That(candidateNameElectionGainPairs[0].CandidateName, Is.EqualTo("TestCandidate1")); Assert.That(candidateNameElectionGainPairs[1].CandidateName, Is.EqualTo("TestCandidate2")); Assert.That(candidateNameElectionGainPairs[2].CandidateName, Is.EqualTo("TestCandidate3")); Assert.That(candidateNameElectionGainPairs[0].ElectionGainInPercent, Is.EqualTo(40)); Assert.That(candidateNameElectionGainPairs[1].ElectionGainInPercent, Is.EqualTo(30)); Assert.That(candidateNameElectionGainPairs[2].ElectionGainInPercent, Is.EqualTo(20)); }
public void Read_ReturnedThreeCandidateNameElectionGainPairs() { //prepare var inputFileNameFullPath = FilePathProvider.ProvideFullPathToFile("TestResults.json", inputDataDirectoryName); var sut = new ElectionResultsReader(inputFileNameFullPath); //act CandidateNameElectionGainPairs candidateNameElectionGainPairs = sut.Read(); foreach (var candidateNameElectionGainPair in candidateNameElectionGainPairs) { Console.Error.WriteLine($"candidate name: {candidateNameElectionGainPair.CandidateName}"); Console.Error.WriteLine($"result in percent : {candidateNameElectionGainPair.ElectionGainInPercent}"); } //assert Assert.That(candidateNameElectionGainPairs.Count, Is.EqualTo(3)); }
public ScoreCounter(CandidateNameElectionGainPairs electionResults, int bonusForCorrectPlace) { this.electionResults = electionResults; this.bonusForCorrectPlaceTip = bonusForCorrectPlace; }