Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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");
        }
Beispiel #4
0
        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");
        }
Beispiel #5
0
        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");
        }
Beispiel #6
0
        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");
        }
Beispiel #7
0
        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");
        }
Beispiel #8
0
        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'");
            }
        }
Beispiel #9
0
        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);
        }