Index: src/Plugins/Wti/Wti.Forms/NodePresenters/WtiProjectNodePresenter.cs =================================================================== diff -u -ra4ac4e49268888b50f6f9606a1b8dd8225e1b24f -rde830d165e579ad499b766e36eb280aac8820653 --- src/Plugins/Wti/Wti.Forms/NodePresenters/WtiProjectNodePresenter.cs (.../WtiProjectNodePresenter.cs) (revision a4ac4e49268888b50f6f9606a1b8dd8225e1b24f) +++ src/Plugins/Wti/Wti.Forms/NodePresenters/WtiProjectNodePresenter.cs (.../WtiProjectNodePresenter.cs) (revision de830d165e579ad499b766e36eb280aac8820653) @@ -3,6 +3,7 @@ using System.ComponentModel; using DelftTools.Controls; +using DelftTools.Shell.Core; using DelftTools.Utils.Collections; using Wti.Data; @@ -102,6 +103,12 @@ public bool RemoveNodeData(object parentNodeData, object nodeData) { + var parentProject = (Project)parentNodeData; + var wtiProject = (WtiProject)nodeData; + + parentProject.Items.Remove(wtiProject); + parentProject.NotifyObservers(); + return true; } } Index: src/Plugins/Wti/Wti.Forms/Wti.Forms.csproj =================================================================== diff -u -ra4ac4e49268888b50f6f9606a1b8dd8225e1b24f -rde830d165e579ad499b766e36eb280aac8820653 --- src/Plugins/Wti/Wti.Forms/Wti.Forms.csproj (.../Wti.Forms.csproj) (revision a4ac4e49268888b50f6f9606a1b8dd8225e1b24f) +++ src/Plugins/Wti/Wti.Forms/Wti.Forms.csproj (.../Wti.Forms.csproj) (revision de830d165e579ad499b766e36eb280aac8820653) @@ -68,6 +68,10 @@ {9a2d67e6-26ac-4d17-b11a-2b4372f2f572} DelftTools.Controls + + {82b61d20-fd4b-49be-9252-5bf6e3ee4666} + DelftTools.Shell.Core + {30e4c2ae-719e-4d70-9fa9-668a9767fbfa} DelftTools.Shell.Gui Index: test/Plugins/Wti/Wti.Forms.Test/NodePresenters/WtiProjectNodePresenterTest.cs =================================================================== diff -u -ra4ac4e49268888b50f6f9606a1b8dd8225e1b24f -rde830d165e579ad499b766e36eb280aac8820653 --- test/Plugins/Wti/Wti.Forms.Test/NodePresenters/WtiProjectNodePresenterTest.cs (.../WtiProjectNodePresenterTest.cs) (revision a4ac4e49268888b50f6f9606a1b8dd8225e1b24f) +++ test/Plugins/Wti/Wti.Forms.Test/NodePresenters/WtiProjectNodePresenterTest.cs (.../WtiProjectNodePresenterTest.cs) (revision de830d165e579ad499b766e36eb280aac8820653) @@ -1,6 +1,7 @@ using System.ComponentModel; using DelftTools.Controls; +using DelftTools.Shell.Core; using DelftTools.Utils.Collections; using NUnit.Framework; @@ -311,22 +312,22 @@ } [Test] - public void RemoveNodeData_Always_ReturnTrue() + public void RemoveNodeData_ProjectWithWtiProject_ReturnTrueAndRemoveWtiProject() { // setup - var mocks = new MockRepository(); - var dataMock = mocks.StrictMock(); - var nodeMock = mocks.StrictMock(); - mocks.ReplayAll(); + var wtiProject = new WtiProject(); + var project = new Project(); + project.Items.Add(wtiProject); + var nodePresenter = new WtiProjectNodePresenter(); // call - bool removalSuccesful = nodePresenter.RemoveNodeData(dataMock, nodeMock); + bool removalSuccesful = nodePresenter.RemoveNodeData(project, wtiProject); // assert Assert.IsTrue(removalSuccesful); - mocks.VerifyAll(); // Expect no calls on arguments + CollectionAssert.DoesNotContain(project.Items, wtiProject); } } } \ No newline at end of file Index: test/Plugins/Wti/Wti.Forms.Test/Wti.Forms.Test.csproj =================================================================== diff -u -ra4ac4e49268888b50f6f9606a1b8dd8225e1b24f -rde830d165e579ad499b766e36eb280aac8820653 --- test/Plugins/Wti/Wti.Forms.Test/Wti.Forms.Test.csproj (.../Wti.Forms.Test.csproj) (revision a4ac4e49268888b50f6f9606a1b8dd8225e1b24f) +++ test/Plugins/Wti/Wti.Forms.Test/Wti.Forms.Test.csproj (.../Wti.Forms.Test.csproj) (revision de830d165e579ad499b766e36eb280aac8820653) @@ -68,6 +68,10 @@ {9a2d67e6-26ac-4d17-b11a-2b4372f2f572} DelftTools.Controls + + {82b61d20-fd4b-49be-9252-5bf6e3ee4666} + DelftTools.Shell.Core + {30e4c2ae-719e-4d70-9fa9-668a9767fbfa} DelftTools.Shell.Gui