public void TestKGramRetrieval()
        {
            ITokenProcessor processor    = new NormalTokenProcessor();
            List <string>   vocabularies = new List <string> {
                "aPpLe", "apPreciation", "Approachable"
            };

            for (int i = 0; i < vocabularies.Count; i++)
            {
                vocabularies[i] = processor.ProcessToken(vocabularies[i])[0];
            }

            DiskKGram kGram = new DiskKGram("./");

            kGram.buildKGram(new HashSet <string>(vocabularies));
            Assert.Equal(new List <string> {
                "apple", "appreciation", "approachable"
            }, kGram.getVocabularies("$ap"));
            kGram.Clear();
        }
 /// <summary>
 /// Construct a wildcard literal
 /// </summary>
 /// <param name="token"> Pre-processed token</param>
 /// <param name="kGram"> KGram for lookup</param>
 public WildcardLiteral(string token, DiskKGram kGram)
 {
     this.token   = token;
     this.kGram   = kGram;
     this.stemmer = new EnglishPorter2Stemmer();
 }