public void ApplicationListReorderWithRenameTest() { var d = CreateOrderedGenData(6); Assert.IsFalse(d.Changed, "Class creation should not change Changed flag"); var c = new Class(d) { GenObject = d.Root.SubClass[0][0] }; c.SubClassList[5].Name = "SubClass7"; d.Changed = false; // Verify initial subclass order Assert.IsFalse(d.Changed, "Class creation should not change Changed flag"); CheckOrder(c, "123457", "Verify initial subclass order"); MoveItem(c, ListMove.Up, 5, "123475", true, "Move last subclass up one place"); MoveItem(c, ListMove.ToTop, 5, "512347", true, "Move last subclass to top"); MoveItem(c, ListMove.ToTop, 1, "152347", true, "Move second subclass to top"); MoveItem(c, ListMove.ToBottom, 0, "523471", true, "Move first subclass to bottom"); MoveItem(c, ListMove.ToTop, 0, "523471", false, "Move first subclass to top (should have no effect)"); MoveItem(c, ListMove.ToBottom, 5, "523471", false, "Move last subclass to bottom (should have no effect)"); MoveItem(c, ListMove.Up, 0, "523471", false, "Move first subclass up (should have no effect)"); MoveItem(c, ListMove.Down, 5, "523471", false, "Move last subclass down (should have no effect)"); MoveItem(c, ListMove.Down, 0, "253471", true, "Move first subclass down"); MoveItem(c, ListMove.Down, 1, "235471", true, "Move second subclass down"); MoveItem(c, ListMove.Up, 1, "325471", true, "Move second subclass up"); MoveItem(c, ListMove.ToBottom, 1, "354712", true, "Move second subclass to bottom"); }
private static void MoveItem(Class c, ListMove move, int itemIndex, string order, bool changedExpected, string action) { c.GenObject.GenDataBase.Changed = false; c.SubClassList.Move(move, itemIndex); Assert.AreEqual(changedExpected, c.GenObject.GenDataBase.Changed, "Data changed flag"); CheckOrder(c, order, action); }
public void ApplicationItemRemoveTest() { var d = CreateOrderedGenData(6); var c = new Class(d) { GenObject = d.Root.SubClass[0][0] }; CheckOrder(c, "123456", "Verify initial subclass order"); var item = c.SubClassList[3]; Assert.AreEqual("SubClass4", item.Name); c.SubClassList.Remove(item); CheckOrder(c, "12356", "Verify items remaining after object is removed"); }
private static void CheckOrder(Class c, string order, string action) { Assert.AreEqual(order.Length, c.SubClassList.Count, action + " the number of items in the list"); Assert.AreEqual(order.Length, ((GenObject)c.GenObject).SubClass[0].Count, action + " the number of items in the GenObject subclass list"); for (var i = 0; i < c.SubClassList.Count; i++) { Assert.AreEqual("SubClass" + order[i], c.SubClassList[i].Name, action + " in list - item " + (i + 1)); } for (var i = 0; i < c.SubClassList.Count; i++) { Assert.AreEqual(i, c.SubClassList.IndexOf("SubClass" + order[i]), action + " in list - item " + (i + 1)); } for (var i = 0; i < ((GenObject)c.GenObject).SubClass[0].Count; i++) { Assert.AreEqual("SubClass" + order[i], ((GenObject)c.GenObject).SubClass[0][i].Attributes[0], action + " in GenObject.SubClass - item " + (i + 1)); } }