public void GetNextOperatorTestSingleAnd()
        {
            IOperator expectedResult    = new And("hi", invertedIndex.Object);
            var       inputText         = "hi";
            var       operatorExtractor = new OperatorExtractor(inputText);
            var       testResult        = operatorExtractor.GetNextOperator(invertedIndex.Object);

            Assert.Equal(expectedResult, testResult);
        }
        public void GetNextOperatorTestSingleNot()
        {
            IOperator expectedResult    = new Not("hi");
            var       inputText         = "-hi";
            var       operatorExtractor = new OperatorExtractor(inputText);
            var       testResult        = operatorExtractor.GetNextOperator();

            Assert.Equal(expectedResult, testResult);
        }
        public void GetAllOperatorTest()
        {
            var expectedResult = new List <IOperator> {
                new Or("hi"),
                new And("hi"),
                new Not("hi")
            };
            var text = "hi +hi -hi";
            var operatorExtractor = new OperatorExtractor(text);
            var testResult        = OperatorExtractor.GetAllOperators(text);

            Assert.Equal(expectedResult, testResult);
        }
        static void Main(string[] args)
        {
            var dataPath      = "./../../../TestData/EnglishData";
            var fileReader    = new FileReader(dataPath);
            var invertedIndex = new InvertedIndex();
            var directoryData = fileReader.GetRawData();

            foreach (KeyValuePair <string, string> pair in directoryData)
            {
                invertedIndex.InsertDatas(Tokenizer.GetAllTokens(pair.Key, pair.Value));
            }
            IUserInterface ui            = new ConsoleUI();
            var            userInputText = ui.UserInput;
            var            operators     = OperatorExtractor.GetAllOperators(userInputText, invertedIndex);
            var            result        = new Searcher().RunOperators(operators);

            ui.ShowOutput(result);
        }