public void AlgoTest_IsFullMatchBicupsidGraph_False_NotFullMatch()
        {
            var graph  = Factory.BuildBicupsidGraph(new StringReader(Test4));
            var result = Algo.IsFullMatchBicupsidGraph(graph);

            Assert.IsFalse(result.Item1);
            Assert.AreEqual(2, result.Item2.First().Item1);
        }
 static void Main(string[] args)
 {
     using (var reader = new StreamReader("in.txt"))
     {
         var graph  = Factory.BuildBicupsidGraph(reader);
         var result = Algo.IsFullMatchBicupsidGraph(graph);
         var writer = new StreamWriter("out.txt");
         Reporter.Report(writer, result.Item1, result.Item2);
         writer.Flush();
         writer.Dispose();
     }
 }
        public void AlgoTest_IsFullMatchBicupsidGraph_True_1()
        {
            var graph    = Factory.BuildBicupsidGraph(new StringReader(Test2));
            var result   = Algo.IsFullMatchBicupsidGraph(graph);
            var expected = new[]
            {
                Tuple.Create(1, 1),
                Tuple.Create(2, 3),
                Tuple.Create(3, 2),
            };

            Assert.IsTrue(result.Item1, "Is full match");
            Assert.IsTrue(result.Item2.SequenceEqual(expected));
        }