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); }
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)); }