Пример #1
0
        public void FindAdjacentWords()
        {
            IEnumerable <String> results = testCharacterTrieUtilities.FindAdjacentWords(trieRoot, "time");

            Assert.AreEqual(0, results.Count());


            CharacterTrieBuilder builder = new CharacterTrieBuilder();

            builder.AddWord(trieRoot, "limb", true);
            builder.AddWord(trieRoot, "line", true);
            builder.AddWord(trieRoot, "lime", true);
            builder.AddWord(trieRoot, "time", true);
            builder.AddWord(trieRoot, "timo", true);
            builder.AddWord(trieRoot, "tame", true);
            builder.AddWord(trieRoot, "tile", true);
            builder.AddWord(trieRoot, "timer", true);
            builder.AddWord(trieRoot, "timers", true);
            builder.AddWord(trieRoot, "tamer", true);
            builder.AddWord(trieRoot, "lines", true);
            builder.AddWord(trieRoot, "liner", true);
            builder.AddWord(trieRoot, "tim", true);

            results = testCharacterTrieUtilities.FindAdjacentWords(trieRoot, "time");

            Assert.AreEqual(4, results.Count());
            Assert.IsTrue(results.Contains("lime"));
            Assert.IsTrue(results.Contains("tame"));
            Assert.IsTrue(results.Contains("tile"));
            Assert.IsTrue(results.Contains("timo"));
        }
        public void SetUp()
        {
            mockery                          = new Mockery();
            mockStreamReader                 = mockery.NewMock <IStreamReader>();
            allWordsTrieRoot                 = new Dictionary <Char, TrieNode <Char> >();
            allWords                         = new HashSet <String>();
            fromCharacterFrequencies         = new FrequencyTable <Char>();
            characterSubstitutionFrequencies = new FrequencyTable <CharacterSubstitution>();
            List <String> testWords = new List <String>()
            {
                "read",
                "bead",
                "fail",
                "dead",
                "road",
                "reed",
                "calm",
                "real",
                "rear"
            };
            Func <String, Boolean> wordFilterFunction   = new Func <String, Boolean>((inputString) => { return(true); });
            CharacterTrieBuilder   characterTrieBuilder = new CharacterTrieBuilder();

            using (mockery.Ordered)
            {
                foreach (String currentTestWord in testWords)
                {
                    Expect.Once.On(mockStreamReader).GetProperty("EndOfStream").Will(Return.Value(false));
                    Expect.Once.On(mockStreamReader).Method("ReadLine").WithNoArguments().Will(Return.Value(currentTestWord));
                }
                Expect.Once.On(mockStreamReader).GetProperty("EndOfStream").Will(Return.Value(true));
                Expect.Once.On(mockStreamReader).Method("Dispose").WithNoArguments();
            }
            dataStructureUtilities.PopulateAdjacentWordDataStructures(mockStreamReader, characterTrieBuilder, wordFilterFunction, allWordsTrieRoot, allWords, fromCharacterFrequencies, characterSubstitutionFrequencies);
            mockery.ClearExpectation(mockStreamReader);
            testCandidateWordPriorityCalculator = new CandidateWordPriorityCalculator(20, 1, 1, 1, 1, allWordsTrieRoot, fromCharacterFrequencies, characterSubstitutionFrequencies);
        }
Пример #3
0
 public void SetUp()
 {
     testCharacterTrieBuilder = new CharacterTrieBuilder();
     trieRoot = new Dictionary <Char, TrieNode <Char> >();
 }