public void Ababa () { const string word = "ababa"; var automata = new LevTAutomataImitation (word, 1); foreach (string typo in FullNeighborhood.GenerateNeighbors1(word)) { Assert.True(automata.AcceptWord(typo)); } }
public void A () { var automata = new LevTAutomataImitation ("a", 1); Assert.True (automata.AcceptWord ("a")); Assert.True (automata.AcceptWord ("")); Assert.True (automata.AcceptWord ("b")); Assert.True (automata.AcceptWord ("ab")); Assert.True (automata.AcceptWord ("ba")); Assert.False (automata.AcceptWord ("abc")); Assert.False (automata.AcceptWord ("bac")); Assert.False (automata.AcceptWord ("bca")); Assert.False (automata.AcceptWord ("abcd")); }
public void Atlas () { var automata = new LevTAutomataImitation ("atlas", 2); Assert.True (automata.AcceptWord ("atlas")); Assert.True (automata.AcceptWord ("xatlxs")); Assert.False (automata.AcceptWord ("otter")); Assert.False (automata.AcceptWord ("")); Assert.True (automata.AcceptWord ("aaatlas")); Assert.False (automata.AcceptWord ("aaaatlas")); Assert.False (automata.AcceptWord ("last")); Assert.True (automata.AcceptWord ("latas")); Assert.True (automata.AcceptWord ("taals")); Assert.False (automata.AcceptWord ("taalss")); Assert.False (automata.AcceptWord ("taasl")); Assert.False (automata.AcceptWord ("salomon")); }
public void ExistngLetter () { var automata = new LevTAutomataImitation ("atlas", 2); //10010 Assert.AreEqual (18, automata.GetCharacteristicVector ('a', 0)); //00100 Assert.AreEqual (4, automata.GetCharacteristicVector ('a', 1)); //01000 Assert.AreEqual (8, automata.GetCharacteristicVector ('a', 2)); //10000 Assert.AreEqual (16, automata.GetCharacteristicVector ('a', 3)); //00000 Assert.AreEqual (0, automata.GetCharacteristicVector ('a', 4)); //00000 Assert.AreEqual (0, automata.GetCharacteristicVector ('a', 5)); //00000 Assert.AreEqual (0, automata.GetCharacteristicVector ('a', 6)); }
public void NonExistingLetter () { var automata = new LevTAutomataImitation ("atlas", 2); //00000 Assert.AreEqual (0, automata.GetCharacteristicVector ('x', 0)); //00000 Assert.AreEqual (0, automata.GetCharacteristicVector ('x', 1)); //00000 Assert.AreEqual (0, automata.GetCharacteristicVector ('x', 2)); //00000 Assert.AreEqual (0, automata.GetCharacteristicVector ('x', 3)); //00000 Assert.AreEqual (0, automata.GetCharacteristicVector ('x', 4)); //00000 Assert.AreEqual (0, automata.GetCharacteristicVector ('x', 5)); //00000 Assert.AreEqual (0, automata.GetCharacteristicVector ('x', 6)); }
public void Otter () { var automata = new LevTAutomataImitation ("otter", 2); Assert.True (automata.AcceptWord ("xotter")); Assert.True (automata.AcceptWord ("xyotter")); Assert.False (automata.AcceptWord ("xyzotter")); Assert.True (automata.AcceptWord ("oxtter")); Assert.True (automata.AcceptWord ("oxtyter")); Assert.False (automata.AcceptWord ("oxtyterz")); Assert.False (automata.AcceptWord ("")); Assert.True (automata.AcceptWord ("toter")); Assert.True (automata.AcceptWord ("toetr")); Assert.False (automata.AcceptWord ("toert")); Assert.True (automata.AcceptWord ("oter")); Assert.True (automata.AcceptWord ("ter")); Assert.False (automata.AcceptWord ("er")); Assert.False (automata.AcceptWord ("tre")); }
public void Abcde () { var automata = new LevTAutomataImitation ("abcde", 1); Assert.True (automata.AcceptWord ("aabcde")); Assert.False (automata.AcceptWord ("aaabcde")); Assert.False (automata.AcceptWord ("aaaabcde")); Assert.True (automata.AcceptWord ("abced")); Assert.False (automata.AcceptWord ("acbed")); Assert.False (automata.AcceptWord ("aacbed")); Assert.True (automata.AcceptWord ("abde")); Assert.False (automata.AcceptWord ("abd")); Assert.False (automata.AcceptWord ("ad")); Assert.False (automata.AcceptWord ("bd")); Assert.True (automata.AcceptWord ("xbcde")); Assert.False (automata.AcceptWord ("xbcxe")); Assert.False (automata.AcceptWord ("xxcdx")); Assert.False (automata.AcceptWord ("bacdx")); Assert.False (automata.AcceptWord ("bade")); Assert.False (automata.AcceptWord ("xbdce")); Assert.False (automata.AcceptWord ("xbdxe")); Assert.False (automata.AcceptWord ("xbdcx")); }
public void Array () { //Misspelled word string wordToSearch = "fulzy"; //Your dictionary string[] dictionaryAsArray = new string[] { "fuzzy", "fully", "funny", "fast"}; //Maximum Damerau-Levenstein distance const int editDistance = 2; //Constructing automaton LevTAutomataImitation automaton = new LevTAutomataImitation (wordToSearch, editDistance); //List of possible corrections IEnumerable<string> corrections = dictionaryAsArray.Where(str => automaton.AcceptWord(str)); Assert.AreEqual (3, corrections.Count()); }