using System.Collections.Generic; using NUnit.Framework; [TestFixture] public class WordCountTest { [Ignore] [Test] public void Count_one_word() { var counts = new Dictionary { { "word", 1 } }; Assert.That(Phrase.WordCount("word"), Is.EqualTo(counts)); } [Ignore] [Test] public void Count_one_of_each() { var counts = new Dictionary { { "one", 1 }, { "of", 1 }, { "each", 1 } }; Assert.That(Phrase.WordCount("one of each"), Is.EqualTo(counts)); } [Ignore] [Test] public void Count_multiple_occurrences() { var counts = new Dictionary { { "one", 1 }, { "fish", 4 }, { "two", 1 }, { "red", 1 }, { "blue", 1 }, }; Assert.That(Phrase.WordCount("one fish two fish red fish blue fish"), Is.EqualTo(counts)); } [Ignore] [Test] public void Count_everything_just_once() { var counts = new Dictionary { { "all", 2 }, { "the", 2 }, { "kings", 2 }, { "horses", 1 }, { "and", 1 }, { "men", 1 }, }; Assert.That(Phrase.WordCount("all the kings horses and all the kings men"), Is.EqualTo(counts)); } [Ignore] [Test] public void Ignore_punctuation() { var counts = new Dictionary { { "car", 1 }, { "carpet", 1 }, { "as", 1 }, { "java", 1 }, { "javascript", 1 }, }; Assert.That(Phrase.WordCount("car : carpet as java : javascript!!&@$%^&"), Is.EqualTo(counts)); } [Ignore] [Test] public void Handles_cramped_list() { var counts = new Dictionary { { "one", 1 }, { "two", 1 }, { "three", 1 }, }; Assert.That(Phrase.WordCount("one,two,three"), Is.EqualTo(counts)); } [Ignore] [Test] public void Include_numbers() { var counts = new Dictionary { { "testing", 2 }, { "1", 1 }, { "2", 1 }, }; Assert.That(Phrase.WordCount("testing, 1, 2 testing"), Is.EqualTo(counts)); } [Ignore] [Test] public void Normalize_case() { var counts = new Dictionary { { "go", 3 }, }; Assert.That(Phrase.WordCount("go Go GO"), Is.EqualTo(counts)); } [Ignore] [Test] public void With_apostrophes() { var counts = new Dictionary { { "first", 1 }, { "don't", 2 }, { "laugh", 1 }, { "then", 1 }, { "cry", 1 }, }; Assert.That(Phrase.WordCount("First: don't laugh. Then: don't cry."), Is.EqualTo(counts)); } [Ignore] [Test] public void With_free_standing_apostrophes() { var counts = new Dictionary { { "go", 3 }, }; Assert.That(Phrase.WordCount("go ' Go '' GO"), Is.EqualTo(counts)); } [Ignore] [Test] public void With_apostrophes_as_quotes() { var counts = new Dictionary { { "she", 1 }, { "said", 1 }, { "let's", 1 }, { "meet", 1 }, { "at", 1 }, { "twelve", 1 }, { "o'clock", 1 }, }; Assert.That(Phrase.WordCount("She said, 'let's meet at twelve o'clock'"), Is.EqualTo(counts)); } }