public void TestObjectNurse_RemoveChild() { //init test objects UIATestObject childTestObject2 = new UIATestObject(); UIATestObject childTestObject3 = new UIATestObject(); _childTestObject.AddChild(_grandChildTestObject); _parentTestObject.AddChild(_childTestObject); _parentTestObject.AddChild(childTestObject2); _parentTestObject.AddChild(childTestObject3); //initialize nurse objects TestObjectNurse parentNurse = new TestObjectNurse(_parentTestObject); TestObjectNurse childNurse = parentNurse.AddChild(_childTestObject) as TestObjectNurse; TestObjectNurse childNurse2 = parentNurse.AddChild(childTestObject2) as TestObjectNurse; TestObjectNurse childNurse3 = parentNurse.AddChild(childTestObject3) as TestObjectNurse; Assert.AreEqual(3, parentNurse.Children.Count); parentNurse.RemoveChild(childTestObject2); Assert.AreEqual(2, parentNurse.Children.Count); parentNurse.RemoveChild(childNurse3); Assert.AreEqual(1, parentNurse.Children.Count); }
public void AppEnvironment_DumpRecyclingBin() { string modelFilePath = "TempModelFile.json"; try { AppEnvironment.CurrentModelFile = AppModelFile.Create(modelFilePath); //init test objects UIATestObject _parentTestObject = new UIATestObject(); UIATestObject _childTestObject = new UIATestObject(); UIATestObject childTestObject2 = new UIATestObject(); VirtualTestObject _grandChildTestObject = new VirtualTestObject(); CreatePicture(AppEnvironment.CurrentModelFile); //initialize nurse objects TestObjectNurse parentNurse = new TestObjectNurse(_parentTestObject); TestObjectNurse childNurse = parentNurse.AddChild(_childTestObject) as TestObjectNurse; TestObjectNurse childNurse2 = parentNurse.AddChild(childTestObject2) as TestObjectNurse; TestObjectNurse grandChildNurse = childNurse.AddChild(_grandChildTestObject) as TestObjectNurse; string imagePath1 = AppEnvironment.GetModelResourceFilePath("TestObjectNurseTest.png"); string imagePath2 = AppEnvironment.GetModelResourceFilePath("TestObjectNurseTest1.png"); Assert.IsTrue(File.Exists(imagePath1)); Assert.IsTrue(File.Exists(imagePath2)); childNurse2.ImageFile = "TestObjectNurseTest.png"; grandChildNurse.ImageFile = "TestObjectNurseTest1.png"; parentNurse.RemoveChild(childNurse); Assert.IsTrue(File.Exists(imagePath1)); parentNurse.RemoveChild(childNurse2); Assert.IsTrue(File.Exists(imagePath2)); AppEnvironment.DumpRecyclingBin(parentNurse); Assert.IsFalse(File.Exists(imagePath1)); Assert.IsFalse(File.Exists(imagePath2)); } finally { File.Delete("TestObjectNurseTest.png"); File.Delete("TestObjectNurseTest1.png"); } }
/// <summary> /// /// </summary> /// <param name="newControls"></param> /// <param name="parentNode"></param> /// <returns>return whether virtual controls are changed</returns> public static bool MergeVirtualControlsToTree(VirtualTestObject[] newControls, TreeNode parentNode) { TestObjectNurse parentNurse = TestObjectNurse.FromTreeNode(parentNode); //remove the previously attached nodes. List <ITestObject> oldControls = new List <ITestObject>(parentNurse.Children).FindAll(to => ((TestObjectNurse)to).TestObject is VirtualTestObject); if (oldControls.Count() == newControls.Count()) { int i = 0; foreach (TestObjectNurse oldControl in oldControls) { VirtualTestObject oldObject = (VirtualTestObject)oldControl.TestObject; VirtualTestObject newObject = newControls[i]; if (oldObject != newObject) { break; } ++i; } if (i == newControls.Count()) { return(false); //exactly the same, not update. } } foreach (ITestObject testObject in oldControls) { parentNurse.RemoveChild(testObject); } //Add new virtual nodes foreach (VirtualTestObject testObject in newControls) { parentNurse.AddChild(testObject); } return(true); }