public void TestBringTo() { var p = new SimpleRect(); var c0 = new SimpleRect(); var c1 = new SimpleRect(); var c2 = new SimpleRect(); c0.Parent = p; c1.Parent = p; c2.Parent = p; Assert.AreEqual(3, p.Children.Count); Assert.AreEqual(c0, p.Children[0]); Assert.AreEqual(c1, p.Children[1]); Assert.AreEqual(c2, p.Children[2]); c0.BringToFront(1); Assert.AreEqual(3, p.Children.Count); Assert.AreEqual(c1, p.Children[0]); Assert.AreEqual(c0, p.Children[1]); Assert.AreEqual(c2, p.Children[2]); c1.BringToFront(2); Assert.AreEqual(3, p.Children.Count); Assert.AreEqual(c0, p.Children[0]); Assert.AreEqual(c2, p.Children[1]); Assert.AreEqual(c1, p.Children[2]); c0.BringToFront(3); Assert.AreEqual(3, p.Children.Count); Assert.AreEqual(c2, p.Children[0]); Assert.AreEqual(c1, p.Children[1]); Assert.AreEqual(c0, p.Children[2]); c0.BringToBack(1); Assert.AreEqual(3, p.Children.Count); Assert.AreEqual(c2, p.Children[0]); Assert.AreEqual(c0, p.Children[1]); Assert.AreEqual(c1, p.Children[2]); c1.BringToBack(2); Assert.AreEqual(3, p.Children.Count); Assert.AreEqual(c1, p.Children[0]); Assert.AreEqual(c2, p.Children[1]); Assert.AreEqual(c0, p.Children[2]); c0.BringToBack(3); Assert.AreEqual(3, p.Children.Count); Assert.AreEqual(c0, p.Children[0]); Assert.AreEqual(c1, p.Children[1]); Assert.AreEqual(c2, p.Children[2]); c0.BringToFrontMost(); Assert.AreEqual(3, p.Children.Count); Assert.AreEqual(c1, p.Children[0]); Assert.AreEqual(c2, p.Children[1]); Assert.AreEqual(c0, p.Children[2]); c0.BringToBackMost(); Assert.AreEqual(3, p.Children.Count); Assert.AreEqual(c0, p.Children[0]); Assert.AreEqual(c1, p.Children[1]); Assert.AreEqual(c2, p.Children[2]); }