Exemplo n.º 1
0
        public void CreateGraphUnrelatedHistoryTest()
        {
            using var repository = new UnrelatedHistoryRepositoryMock().CreateRepository("./");
            var graph = LogGraph.CreateGraph(repository,
                                             new List <RefSelection>
            {
                new RefSelection("master", "master", true),
            });
            var g = graph.ToList();

            Assert.AreEqual(5, g.Count);

            var node = g[0];

            Assert.AreEqual("Working tree", node.MessageShort);
            Assert.IsFalse(node.IsMerge);
            AssertFromToCount(node, 0, 1);
            Assert.IsTrue(node.Directions[0].Next.Contains(0));
            Assert.AreEqual(0, node.Branches.Count);

            node = g[1];
            Assert.AreEqual("MessageShort 3", node.MessageShort);
            Assert.IsFalse(node.IsMerge);
            AssertFromToCount(node, 1, 1);
            Assert.IsTrue(node.Directions.First().Next.Contains(0));
            Assert.AreEqual(1, node.Branches.Count);
            Assert.AreEqual("master", node.Branches.First().CanonicalName);

            node = g[2];
            Assert.AreEqual("MessageShort 2", node.MessageShort);
            Assert.IsTrue(node.IsMerge);
            AssertFromToCount(node, 1, 2);
            Assert.IsTrue(node.Directions.First().Next.Contains(0));
            Assert.IsTrue(node.Directions.First().Next.Contains(1));

            node = g[3];
            Assert.AreEqual("MessageShort 1", node.MessageShort);
            Assert.IsFalse(node.IsMerge);
            AssertFromToCount(node, 2, 1);
            Assert.IsTrue(node.Directions[0].Next.Contains(0));

            node = g[4];
            Assert.AreEqual("MessageShort 0", node.MessageShort);
            Assert.IsFalse(node.IsMerge);
            AssertFromToCount(node, 1, 0);

            AssertGraphConsistency(g);
        }
Exemplo n.º 2
0
        public void CreateGraphReusedColumnTest()
        {
            using var repository = new ReusedColumnRepositoryMock().CreateRepository("./");
            var graph = LogGraph.CreateGraph(repository,
                                             new List <RefSelection>
            {
                new RefSelection("master", "master", true),
            });
            var g = graph.ToList();

            Assert.AreEqual(10, g.Count);

            var node = g[0];

            Assert.AreEqual("Working tree", node.MessageShort);
            Assert.IsFalse(node.IsMerge);
            AssertFromToCount(node, 0, 1);
            Assert.IsTrue(node.Directions[0].Next.Contains(0));
            Assert.AreEqual(0, node.Branches.Count);

            node = g[1];
            Assert.AreEqual("MessageShort 8", node.MessageShort);
            Assert.IsFalse(node.IsMerge);
            AssertFromToCount(node, 1, 1);
            Assert.IsTrue(node.Directions[0].Next.Contains(0));
            Assert.AreEqual(1, node.Branches.Count);
            Assert.AreEqual("master", node.Branches.First().CanonicalName);

            node = g[2];
            Assert.AreEqual("MessageShort 7", node.MessageShort);
            Assert.IsTrue(node.IsMerge);
            AssertFromToCount(node, 1, 2);
            Assert.IsTrue(node.Directions[0].Next.Contains(0));
            Assert.IsTrue(node.Directions[0].Next.Contains(1));

            node = g[3];
            Assert.AreEqual("MessageShort 6", node.MessageShort);
            Assert.IsTrue(node.IsMerge);
            AssertFromToCount(node, 2, 3);
            Assert.IsTrue(node.Directions[0].Next.Contains(0));
            Assert.IsTrue(node.Directions[1].Next.Contains(1));
            Assert.IsTrue(node.Directions[1].Next.Contains(2));

            node = g[4];
            Assert.AreEqual("MessageShort 5", node.MessageShort);
            Assert.IsFalse(node.IsMerge);
            AssertFromToCount(node, 3, 3);
            Assert.IsTrue(node.Directions[0].Next.Contains(0));
            Assert.IsTrue(node.Directions[1].Next.Contains(1));
            Assert.IsTrue(node.Directions[2].Next.Contains(2));

            node = g[5];
            Assert.AreEqual("MessageShort 4", node.MessageShort);
            Assert.IsFalse(node.IsMerge);
            AssertFromToCount(node, 3, 3);
            Assert.IsTrue(node.Directions[0].Next.Contains(0));
            Assert.IsTrue(node.Directions[1].Next.Contains(0));
            Assert.IsTrue(node.Directions[2].Next.Contains(2));

            node = g[6];
            Assert.AreEqual("MessageShort 3", node.MessageShort);
            Assert.IsTrue(node.IsMerge);
            AssertFromToCount(node, 3, 3);
            Assert.IsTrue(node.Directions[0].Next.Contains(0));
            Assert.IsTrue(node.Directions[0].Next.Contains(1));
            Assert.IsTrue(node.Directions[2].Next.Contains(2));

            node = g[7];
            Assert.AreEqual("MessageShort 2", node.MessageShort);
            Assert.IsFalse(node.IsMerge);
            AssertFromToCount(node, 3, 3);
            Assert.IsTrue(node.Directions[0].Next.Contains(0));
            Assert.IsTrue(node.Directions[1].Next.Contains(1));
            Assert.IsTrue(node.Directions[2].Next.Contains(0));

            node = g[8];
            Assert.AreEqual("MessageShort 1", node.MessageShort);
            Assert.IsFalse(node.IsMerge);
            AssertFromToCount(node, 3, 2);
            Assert.IsTrue(node.Directions[0].Next.Contains(0));
            Assert.IsTrue(node.Directions[1].Next.Contains(0));

            node = g[9];
            Assert.AreEqual("MessageShort 0", node.MessageShort);
            Assert.IsFalse(node.IsMerge);
            AssertFromToCount(node, 2, 0);

            AssertGraphConsistency(g);
        }