public void TestIndexDocWithTermsCanonical() { GlobalIndex globalIndex = new GlobalIndex(); Document document = new FileDocument("myFile"); ISet <string> terms = new HashSet <string>(); terms.Add("sewing machine"); terms.Add("presser foot"); globalIndex.IndexDocWithCanonicalTerms(document, terms); IDictionary <string, int> expectedTermIdMap = new Dictionary <string, int>(); expectedTermIdMap.Add("sewing machine", 0); expectedTermIdMap.Add("presser foot", 1); Assert.IsTrue(Comparators.DictionariesAreEqual(expectedTermIdMap, globalIndex.GetTermIdMap())); Assert.AreEqual(0, globalIndex.RetrieveCanonicalTerm("sewing machine")); Assert.AreEqual(1, globalIndex.RetrieveCanonicalTerm("presser foot")); ISet <string> actualTermsCanonical = new HashSet <string>(); actualTermsCanonical.UnionWith(globalIndex.GetCanonicalTerms()); ISet <string> expectedTermsCanonical = new HashSet <string>(); expectedTermsCanonical.Add("sewing machine"); expectedTermsCanonical.Add("presser foot"); Assert.IsTrue(Comparators.SetsAreEqual(expectedTermsCanonical, actualTermsCanonical)); ISet <string> expectedVariants = new HashSet <string>(); Assert.IsTrue(Comparators.SetsAreEqual(expectedVariants, globalIndex.RetrieveVariantsOfCanonicalTerm("string"))); Assert.AreEqual("sewing machine", globalIndex.RetrieveCanonicalTerm(0)); Assert.AreEqual("presser foot", globalIndex.RetrieveCanonicalTerm(1)); IDictionary <Document, int> expectedDocMap = new Dictionary <Document, int>(); expectedDocMap.Add(document, 0); Assert.IsTrue(Comparators.DictionariesAreEqual(expectedDocMap, globalIndex.GetDocMap())); ISet <Document> expectedDocuments = new HashSet <Document>(); expectedDocuments.Add(document); Assert.IsTrue(Comparators.SetsAreEqual(expectedDocuments, globalIndex.GetDocuments())); IDictionary <int, ISet <int> > expectedDocsToTerms = new Dictionary <int, ISet <int> >(); ISet <int> expectedTermIds = new HashSet <int>(); expectedTermIds.Add(0); expectedTermIds.Add(1); expectedDocsToTerms.Add(0, expectedTermIds); Assert.IsTrue(Comparators.DictionariesOfSetsAreEqual(expectedDocsToTerms, globalIndex.GetDocToTerms())); Assert.IsTrue(Comparators.SetsAreEqual(expectedTermIds, globalIndex.RetrieveCanonicalTermIdsInDoc(0))); Assert.IsTrue(Comparators.SetsAreEqual(expectedTermsCanonical, globalIndex.RetrieveCanonicalTermsInDoc(0))); Assert.IsTrue(Comparators.SetsAreEqual(expectedTermsCanonical, globalIndex.RetrieveCanonicalTermsInDoc(document))); }