public void GetSingleAnalyzedCharacter_CorrectFrequency(char character, string sourceText, decimal expectedFrequency, int decimalPlaceDelta) { var frequencyAnalyser = new CharFrequencyAnalyzer(); var actual = frequencyAnalyser.GetSingleAnalyzedCharacter(character, sourceText); Assert.AreEqual(expectedFrequency, decimal.Round(actual.Frequency, decimalPlaceDelta)); }
public void GetAllAnalyzedCharacters_OccurenceCount_IsEqualToSourceTextLength(string sourceText) { var frequencyAnalyser = new CharFrequencyAnalyzer(); var analyzedCharacters = frequencyAnalyser.GetAllAnalyzedCharacters(sourceText); var totalOccurenceCount = analyzedCharacters.Sum(analyzedCharacter => analyzedCharacter.OccurenceCount); Assert.AreEqual(sourceText.Length, totalOccurenceCount); }
public void GetSingleAnalyzedCharacter_NoContent_ThrowsArgumentOutOfRange(char character, string sourceText) { var frequencyAnalyser = new CharFrequencyAnalyzer(); Assert.Throws <ArgumentOutOfRangeException>(() => { frequencyAnalyser.GetSingleAnalyzedCharacter(character, sourceText); }); }
public void GetSingleAnalyzedCharacter_HasContent_IsEqualToExpectedLength(char character, string sourceText, int expectedCount) { var frequencyAnalyser = new CharFrequencyAnalyzer(); var analyzedCharacter = frequencyAnalyser.GetSingleAnalyzedCharacter(character, sourceText); if (analyzedCharacter.OccurenceCount < 0) { Assert.Fail("Negative character occurence count"); } Assert.AreEqual(expectedCount, analyzedCharacter.OccurenceCount); }
public void GGetAllAnalyzedCharacters_FindsAllUniqueCharacters(string sourceText, char[] uniqueCharacters) { var frequencyAnalyser = new CharFrequencyAnalyzer(); var analyzedCharacters = frequencyAnalyser.GetAllAnalyzedCharacters(sourceText).ToArray(); Assert.AreEqual(uniqueCharacters.Length, analyzedCharacters.Count()); foreach (var uniqueCharacter in uniqueCharacters) { if (!analyzedCharacters.Any(ac => ac.Character.Equals(uniqueCharacter))) { Assert.Fail($"Character: '{uniqueCharacter}' was not found in the output set."); } } Assert.Pass(); }
public void GetMultipleAnalyzedCharacters_HasContent_AllCharactersPresent(char[] characters, string sourceText) { var frequencyAnalyser = new CharFrequencyAnalyzer(); var analyzedCharacters = frequencyAnalyser.GetMultipleAnalyzedCharacters(characters, sourceText).ToArray(); Assert.AreEqual(characters.Length, analyzedCharacters.Length); foreach (var character in characters) { if (!analyzedCharacters.Any(ac => ac.Character.Equals(character))) { Assert.Fail($"Character '{character}' was not found in the analyzed set."); } } Assert.Pass(); }
public void GetAllAnalyzedCharacters_EmptyInput_ThrowsArgumentNullException() { var frequencyAnalyzer = new CharFrequencyAnalyzer(); Assert.Throws <ArgumentNullException>(() => { frequencyAnalyzer.GetAllAnalyzedCharacters(string.Empty); }); }