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