public void GetAllBetweenTest() { //| x1 x2 y1 | //|--+--[ ]--[OSR]--+--[/]----( )--| //| | y1 x3 | | //| +--[ ]---[ ]---+ | // Rung TestRung = new Rung(); var Y1 = new Coil(); Y1.Name = "1"; var X1 = new Contact(); X1.Name = "1"; var X2 = new Contact(); X2.Name = "2"; X2.IsInverted = true; var X3 = new Contact(); X3.Name = "2"; X3.IsInverted = true; var Y1C = new Contact(); Y1C.Name = "1"; Y1C.Type = Contact.ContactType.OutputPin; TestRung.Add(Y1); TestRung.InsertBefore(X2, Y1); TestRung.Add(X1); TestRung.InsertUnder(Y1C, X1); TestRung.InsertAfter(new OSR(), X1); TestRung.InsertAfter(X3, Y1C); Assert.AreEqual(TestRung.GetAllBetween(X1.LeftLide, X1.RightLide).Count, 1); Assert.AreEqual(TestRung.GetAllBetween(X1.LeftLide, X3.RightLide).Count, 4); Assert.AreEqual(TestRung.GetAllBetween(X1.LeftLide, X2.RightLide).Count, 5); Assert.AreEqual(TestRung.GetAllBetween(X1.LeftLide, Y1.RightLide).Count, 6); }