Esempio n. 1
0
        static void Main(string[] args)
        {
            var parser = new TextParser();
            var textLines = File.ReadAllLines(args[0]);
            var textWords = textLines.Select(parser.SplitToWords).Select(dummy =>  dummy.ToList()).ToList();
            var invertIndex = parser.BuildInvertIndex(textWords);

            var queriesLines = File.ReadAllLines(args[1]);
            var queriesWords = queriesLines.Select(line => parser.SplitToWords(line)).ToList();

            var finder = new Finder();
            var replies = queriesWords.Select(querie => finder.Find(invertIndex, querie)).ToList();

            Printer.PrintResult(replies, ",", 20);
        }
Esempio n. 2
0
        public void FindTest1()
        {
            var invertIndex = new Dictionary<string, List<int>>()
            {
                {"foo", new List<int>() {0, 1}},
                {"bar", new List<int>() {0, 1}},
                {"bazz", new List<int>() {1}},
                {"foobar", new List<int>() {2}}
            };

            var finder = new Finder();
            var request = new string[] {"foo", "foo", "foo", "foo"};
            var actual = finder.Find(invertIndex, request);

            var expected = new List<int>(){0, 1};
            Assert.IsTrue(expected.SequenceEqual(actual));
        }