public void NextAndPrevInSelectionSeq() { var styles = new AssembledStyles(); var root = new RootBox(styles); Assert.That(root.NextInSelectionSequence(true), Is.Null); Assert.That(root.PreviousInSelectionSequence, Is.Null); var block = new BlockBox(styles, Color.Red, 6000, 6000); root.AddBox(block); Assert.That(root.NextInSelectionSequence(true), Is.EqualTo(block)); Assert.That(block.PreviousInSelectionSequence, Is.EqualTo(root)); var div = new DivBox(styles); root.AddBox(div); Assert.That(block.NextInSelectionSequence(true), Is.EqualTo(div)); Assert.That(div.PreviousInSelectionSequence, Is.EqualTo(block)); var divChild = new DivBox(styles); div.AddBox(divChild); var block2 = new BlockBox(styles, Color.Red, 6000, 6000); divChild.AddBox(block2); var block3 = new BlockBox(styles, Color.Red, 6000, 6000); divChild.AddBox(block3); var block4 = new BlockBox(styles, Color.Red, 6000, 6000); div.AddBox(block4); // up and forward Assert.That(block3.NextInSelectionSequence(true), Is.EqualTo(block4)); Assert.That(block4.PreviousInSelectionSequence, Is.EqualTo(block3)); // Can go back from a box to a previous empty group var emptyDiv = new DivBox(styles); root.AddBox(emptyDiv); var block5 = new BlockBox(styles, Color.Red, 6000, 6000); root.AddBox(block5); Assert.That(emptyDiv.NextInSelectionSequence(true), Is.EqualTo(block5)); Assert.That(block5.PreviousInSelectionSequence, Is.EqualTo(emptyDiv)); Assert.That(div.NextInSelectionSequence(true), Is.EqualTo(divChild)); Assert.That(div.NextInSelectionSequence(false), Is.EqualTo(emptyDiv)); }
public void NextAndPrevInSelectionSeq() { var styles = new AssembledStyles(); var root = new RootBox(styles); Assert.That(root.NextInSelectionSequence(true), Is.Null); Assert.That(root.PreviousInSelectionSequence, Is.Null); var block = new BlockBox(styles, Color.Red, 6000, 6000); root.AddBox(block); Assert.That(root.NextInSelectionSequence(true), Is.EqualTo(block)); Assert.That(block.PreviousInSelectionSequence, Is.EqualTo(root)); var div = new DivBox(styles); root.AddBox(div); Assert.That(block.NextInSelectionSequence(true), Is.EqualTo(div)); Assert.That(div.PreviousInSelectionSequence, Is.EqualTo(block)); var divChild = new DivBox(styles); div.AddBox(divChild); var block2 = new BlockBox(styles, Color.Red, 6000, 6000); divChild.AddBox(block2); var block3 = new BlockBox(styles, Color.Red, 6000, 6000); divChild.AddBox(block3); var block4 = new BlockBox(styles, Color.Red, 6000, 6000); div.AddBox(block4); // up and forward Assert.That(block3.NextInSelectionSequence(true), Is.EqualTo(block4)); Assert.That(block4.PreviousInSelectionSequence, Is.EqualTo(block3)); // Can go back from a box to a previous empty group var emptyDiv = new DivBox(styles); root.AddBox(emptyDiv); var block5 = new BlockBox(styles, Color.Red, 6000, 6000); root.AddBox(block5); Assert.That(emptyDiv.NextInSelectionSequence(true), Is.EqualTo(block5)); Assert.That(block5.PreviousInSelectionSequence, Is.EqualTo(emptyDiv)); Assert.That(div.NextInSelectionSequence(true), Is.EqualTo(divChild)); Assert.That(div.NextInSelectionSequence(false), Is.EqualTo(emptyDiv)); }