Пример #1
0
 public List <string> Filter(List <string> inputList, IProgramDatabase database)
 {
     if (inputList == null || inputList.Count == 0)
     {
         return(new List <string>());
     }
     database.TryGetTokenDocumentIDs(Token, out var tokenDocumentIDs);
     inputList.RemoveAll(item => tokenDocumentIDs.Contains(item));
     return(inputList);
 }
Пример #2
0
 public List <string> Filter(List <string> inputList, IProgramDatabase database)
 {
     if (inputList == null || inputList.Count == 0)
     {
         return(new List <string>());
     }
     if (database.TryGetTokenDocumentIDs(Token, out var tokenDocumentIDs))
     {
         return(inputList.Intersect(tokenDocumentIDs).ToList());
     }
     return(new List <string>());
 }
 public List <string> Filter(List <string> inputList, IProgramDatabase database)
 {
     if (inputList == null)
     {
         inputList = new List <string>();
     }
     if (database.TryGetTokenDocumentIDs(Token, out var tokenDocuments))
     {
         inputList = inputList.Union(tokenDocuments).ToList();
     }
     return(inputList);
 }
        /// <summary>
        /// Run given operators and make result.
        /// </summary>
        /// <param name="operators"> List of operators orderd by priority. </param>
        /// <param name="database"> The database of pgogram. </param>
        /// <returns> List of document ids. </returns>
        public List <string> RunOperators(List <IOperator> operators, IProgramDatabase database)
        {
            var result             = new List <string>();
            var firstOperatorIsAnd = operators.ElementAt(0) is And;

            for (int i = 0; i < operators.Count; i++)
            {
                IOperator op = operators.ElementAt(i);
                if (firstOperatorIsAnd)
                {
                    op = new Or(op.Token);
                    firstOperatorIsAnd = false;
                }
                result = op.Filter(result, database);
            }
            return(result);
        }
Пример #5
0
        public SearcherTests()
        {
            var mockedDatabase = new Mock <IProgramDatabase>();

            mockedDatabase = GeneralFunctions.SetupDatabaseTryGetTokenDocumentIDs(
                mockedDatabase,
                "test",
                new List <string> {
                "file1", "file2"
            },
                true
                );
            mockedDatabase = GeneralFunctions.SetupDatabaseTryGetTokenDocumentIDs(
                mockedDatabase,
                "test2",
                new List <string> {
                "file1", "file3"
            },
                true
                );
            database = mockedDatabase.Object;
            searcher = new Searcher();
        }