public void ReIndexNode_Replaces_Old_Document() { Node node = GetNodeProvider().GetNodesForIndexing()[2]; LibrarySearchCriteria crit = new LibrarySearchCriteria() .MatchingWholeWords() .WithOptionalWords(node.Id) .IncludingExtendedElements() .IncludingAbstractElements() .AgainstTextFields(new LibrarySearchCriteria.SearchableTextField[] { LibrarySearchCriteria.SearchableTextField.ElementId }); ILibrarySearchResult result = _indexMgr.Search(crit); Assert.AreEqual(1, result.Count, "TEST SANITY: There should only be one result"); Assert.AreEqual(node.Label, result.Items[0].Label, "TEST SANITY: Node label should match the result label"); string oldLabel = node.Label; string newLabel = oldLabel + " UNIT TEST"; node.Label = newLabel; _indexMgr.ReIndexNode(node); ILibrarySearchResult result2 = _indexMgr.Search(crit); Assert.AreEqual(1, result2.Count, "There should only be one result"); Assert.AreEqual(newLabel, result2.Items[0].Label, "The result label should match the new node label"); //Reset the index for other tests node.Label = oldLabel; _indexMgr.ReIndexNode(node); }
public void Search() { LibrarySearchCriteria criteria = new LibrarySearchCriteria() .WithOptionalWords("Cash"); ILibrarySearchResult result = _indexMgr.Search(criteria); Assert.IsNotNull(result, "Search results should not be null"); Assert.AreEqual(143, result.Count); }
public void Path() { LibrarySearchCriteria criteria = new LibrarySearchCriteria() .WithRequiredWords("Hedging") .DescendingFrom("/Notes to the Financial Statements/usfr-pte_NotesFinancialStatementsAbstract/usfr-pte_GeneralNotesAbstract/usfr-pte_DerivativesHedgesNote"); ILibrarySearchResult result = _indexMgr.Search(criteria); Assert.AreEqual(30, result.Count, "Num results"); }
public void Search_With_No_Search_Fields_Selected_Returns_A_Zero_Hits_Result() { LibrarySearchCriteria crit = new LibrarySearchCriteria() .MatchingWholeWords() .WithOptionalWords("Joe") .IncludingExtendedElements() .AgainstTextFields(new LibrarySearchCriteria.SearchableTextField[] { }); ILibrarySearchResult result = _indexMgr.Search(crit); Assert.AreEqual(0, result.Count, "Num results"); }
public void Plural() { ILibrarySearchResult pluralResult = _indexMgr.Search( new LibrarySearchCriteria() .AgainstTextFields(new LibrarySearchCriteria.SearchableTextField[] { LibrarySearchCriteria.SearchableTextField.Labels }) .WithRequiredWords("Costs")); ILibrarySearchResult singularResult = _indexMgr.Search( new LibrarySearchCriteria() .AgainstTextFields(new LibrarySearchCriteria.SearchableTextField[] { LibrarySearchCriteria.SearchableTextField.Labels }) .WithRequiredWords("Cost")); Assert.AreEqual(pluralResult.Count, singularResult.Count, "Plural and Singular result hit numbers should be the same"); }
public void Search_Filters_BalanceType() { LibrarySearchCriteria criteria = new LibrarySearchCriteria() .WithOptionalWords("Cash") .AgainstTextFields(new LibrarySearchCriteria.SearchableTextField[] { LibrarySearchCriteria.SearchableTextField.Labels }) .WithBalanceTypes(new Element.BalanceType[] { Element.BalanceType.credit }); ILibrarySearchResult resultCredit = _indexMgr.Search(criteria); criteria = new LibrarySearchCriteria() .WithOptionalWords("Cash") .AgainstTextFields(new LibrarySearchCriteria.SearchableTextField[] { LibrarySearchCriteria.SearchableTextField.Labels }) .WithBalanceTypes(new Element.BalanceType[] { Element.BalanceType.debit }); ILibrarySearchResult resultDebit = _indexMgr.Search(criteria); Assert.AreEqual(4, resultCredit.Count, "hit count for credit balance type"); Assert.AreEqual(16, resultDebit.Count, "hit count for debit balance type"); }
public void Search_Filters_Extended() { //Bad test case...this taxonomy has no extended elements... LibrarySearchCriteria criteria = new LibrarySearchCriteria() .WithOptionalWords("Cash") .IncludingExtendedElements(); ILibrarySearchResult resultWith = _indexMgr.Search(criteria); criteria = new LibrarySearchCriteria() .WithOptionalWords("Cash") .ExcludingExtendedElements(); ILibrarySearchResult resultWithout = _indexMgr.Search(criteria); Assert.AreEqual(143, resultWith.Count, "hit count INCLUDING extended elements in results"); Assert.AreEqual(143, resultWithout.Count, "hit count EXCLUDING extended elements in results"); }
public void Search_Filters_RequiredWords() { LibrarySearchCriteria criteria = new LibrarySearchCriteria() .WithOptionalWords("Cash") .MatchingPartialWords() .WithRequiredWords("Dividend") .AgainstTextFields(new LibrarySearchCriteria.SearchableTextField[] { LibrarySearchCriteria.SearchableTextField.Labels }); ILibrarySearchResult result = _indexMgr.Search(criteria); Assert.IsNotNull(result, "Search results should not be null"); Assert.AreEqual(13, result.Count); foreach (ILibrarySearchResultItem hit in result.Items) { Assert.IsTrue(hit.Label.Contains("Cash"), "Hit with Label '" + hit.Label + "' does not contain 'Cash'"); Assert.IsTrue(hit.Label.Contains("Dividend"), "Hit with Label '" + hit.Label + "' does not contain 'Dividend'"); } }
public void AbstractElements() { LibrarySearchCriteria includingAbstractCriteria = new LibrarySearchCriteria() .WithOptionalWords("SalesRevenueGoodsNetAbstract") .MatchingPartialWords() .IncludingAbstractElements() .AgainstTextFields(new LibrarySearchCriteria.SearchableTextField[] { LibrarySearchCriteria.SearchableTextField.Labels }) .DescendingFrom("/124000 - Statement - Statement of Income (Including Gross Margin)"); ILibrarySearchResult resultWithAbstract = _indexMgr.Search(includingAbstractCriteria); Assert.IsNotNull(resultWithAbstract, "Search results (with abstract elements) should not be null"); Assert.AreEqual(1, resultWithAbstract.Count); LibrarySearchCriteria excludingAbstractCriteria = (includingAbstractCriteria.Clone() as LibrarySearchCriteria).ExcludingAbstractElements(); ILibrarySearchResult resultWithoutAbstract = _indexMgr.Search(excludingAbstractCriteria); Assert.IsNotNull(resultWithoutAbstract, "Search results (without abstract elements) should not be null"); Assert.AreEqual(0, resultWithoutAbstract.Count); }