public void TestMiddle() { string target = "ABRACADABRA"; var kmp = new KMPAutomata("CADA"); int index = kmp.Find(target, 0); Assert.IsTrue(index == 4); }
public void TestFirst() { string target = "CADAABRAABRA"; var kmp = new KMPAutomata("CADA"); int index = kmp.Find(target, 0); Assert.IsTrue(index == 0); }
public void TestMultipleMaches() { string text = "CADRABRACADRBARACADR"; string pattern = "CADR"; var om = new KMPAutomata(pattern); var list = om.FindAll(text, 0).ToArray(); Assert.IsTrue(list.Count() == 3); Assert.IsTrue(list[0] == 0); Assert.IsTrue(list[1] == 8); Assert.IsTrue(list[2] == 16); }