Beispiel #1
0
        public void Should_be_able_to_parse_the_input(string input)
        {
            using (var linesReader = new FakeLinesReader(input))
            {
                var queries = InputParser.Parse(linesReader);

                Assert.Equal(2, queries.Count);

                var items  = queries.Items.ToArray();
                var query1 = items[0];
                var query2 = items[1];

                Assert.Equal(4, query1.NumberOfNodes);
                Assert.Equal(2, query1.NumberOfEdges);
                Assert.Equal(1, query1.StartingNode);

                Assert.Equal(1, query1.Edges[0].LeftNode);
                Assert.Equal(2, query1.Edges[0].RightNode);

                Assert.Equal(1, query1.Edges[1].LeftNode);
                Assert.Equal(3, query1.Edges[1].RightNode);

                //**************************
                Assert.Equal(3, query2.NumberOfNodes);
                Assert.Equal(1, query2.NumberOfEdges);
                Assert.Equal(2, query2.StartingNode);

                Assert.Equal(2, query2.Edges[0].LeftNode);
                Assert.Equal(3, query2.Edges[0].RightNode);
            }
        }
Beispiel #2
0
        public void Should_treat_queries_and_give_expected_result(string input)
        {
            using (var linesReader = new FakeLinesReader(input))
            {
                var queries = InputParser.Parse(linesReader);
                var output  = QueriesTreater.Treat(queries);

                Assert.Equal("6 6 -1", output[0]);
                Assert.Equal("-1 6", output[1]);
            }
        }
Beispiel #3
0
        public void Should_treat_big_queries()
        {
            const string input = ShortestReachInAGraphTestData.Input;

            using (var linesReader = new FakeLinesReader(input))
            {
                var queries = InputParser.Parse(linesReader);
                var output  = QueriesTreater.Treat(queries);

                Assert.Equal(ShortestReachInAGraphTestData.Output1, output[0]);
                Assert.Equal(ShortestReachInAGraphTestData.Output2, output[1]);
            }
        }