public void SplitAtColisions_Cake1Test() { var vNode = new VNode("a", "", 0, 16, new VNode[] { new VNode("b", new string('x', 16), 0, 16), }, new VNode[] { new VNode("c", "", 4, 8), }, new VNode[] { new VNode("d", "", 6, 4), } ); VNodeColisionResolver.SplitAtColisions(vNode); var layers = vNode.VLayers; Assert.AreEqual(3, layers.Count); AssertLayerNodeRanges(layers[2], (6, 10)); AssertLayerNodeRanges(layers[1], (4, 6), (6, 10), (10, 12)); AssertLayerNodeRanges(layers[0], (0, 4), (4, 6), (6, 10), (10, 12), (12, 16)); }
public void SplitAtColisions_Cake2Test() { var vNode = new VNode("a", "", 0, 16, new VNode[] { new VNode("b", new string('x', 16), 0, 16), }, new VNode[] { new VNode("c", "", 2, 5), new VNode("c", "", 9, 5) }, new VNode[] { new VNode("d", "", 4, 8), }, new VNode[] { new VNode("d", "", 7, 2), } ); VNodeColisionResolver.SplitAtColisions(vNode); var layers = vNode.VLayers; Assert.AreEqual(4, layers.Count); AssertLayerNodeRanges(layers[3], (7, 9)); AssertLayerNodeRanges(layers[2], (4, 7), (7, 9), (9, 12)); AssertLayerNodeRanges(layers[1], (2, 4), (4, 7), (9, 12), (12, 14)); AssertLayerNodeRanges(layers[0], (0, 2), (2, 4), (4, 7), (7, 9), (9, 12), (12, 14), (14, 16)); }