Index: DeltaShell.sln =================================================================== diff -u -r91692bb0416bdff85f51b10a3c151d67721d9319 -r2d9d348cd9b43f459552620c44bc54d13d522006 --- DeltaShell.sln (.../DeltaShell.sln) (revision 91692bb0416bdff85f51b10a3c151d67721d9319) +++ DeltaShell.sln (.../DeltaShell.sln) (revision 2d9d348cd9b43f459552620c44bc54d13d522006) @@ -157,6 +157,8 @@ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wti.Controller", "src\Plugins\Wti\Wti.Controller\Wti.Controller.csproj", "{10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wti.Controller.Test", "test\Plugins\Wti\Wti.Controller.Test\Wti.Controller.Test.csproj", "{D783543B-46A1-4848-A812-AF5A5259ED7E}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution CreateInstaller|32bit = CreateInstaller|32bit @@ -1574,30 +1576,54 @@ {3CCB05DB-C7B3-4EF7-B41D-22B6D2A3774E}.Release|Mixed Platforms.ActiveCfg = Release|x86 {3CCB05DB-C7B3-4EF7-B41D-22B6D2A3774E}.Release|x64.ActiveCfg = Release|x86 {3CCB05DB-C7B3-4EF7-B41D-22B6D2A3774E}.Release|x86.ActiveCfg = Release|x86 - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.CreateInstaller|32bit.ActiveCfg = Release|Any CPU - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.CreateInstaller|64bit.ActiveCfg = Release|Any CPU - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.CreateInstaller|Any CPU.ActiveCfg = Release|Any CPU - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.CreateInstaller|Any CPU.Build.0 = Release|Any CPU - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.CreateInstaller|Mixed Platforms.ActiveCfg = Release|Any CPU - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.CreateInstaller|Mixed Platforms.Build.0 = Release|Any CPU - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.CreateInstaller|x64.ActiveCfg = Release|Any CPU - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.CreateInstaller|x86.ActiveCfg = Release|Any CPU - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Debug|32bit.ActiveCfg = Debug|Any CPU - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Debug|64bit.ActiveCfg = Debug|Any CPU - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Debug|x64.ActiveCfg = Debug|Any CPU - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Debug|x86.ActiveCfg = Debug|Any CPU - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Release|32bit.ActiveCfg = Release|Any CPU - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Release|64bit.ActiveCfg = Release|Any CPU - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Release|Any CPU.Build.0 = Release|Any CPU - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Release|x64.ActiveCfg = Release|Any CPU - {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Release|x86.ActiveCfg = Release|Any CPU + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.CreateInstaller|32bit.ActiveCfg = Release|x86 + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.CreateInstaller|64bit.ActiveCfg = Release|x86 + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.CreateInstaller|Any CPU.ActiveCfg = Release|x86 + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.CreateInstaller|Mixed Platforms.ActiveCfg = Release|x86 + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.CreateInstaller|Mixed Platforms.Build.0 = Release|x86 + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.CreateInstaller|x64.ActiveCfg = Release|x86 + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.CreateInstaller|x86.ActiveCfg = Release|x86 + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.CreateInstaller|x86.Build.0 = Release|x86 + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Debug|32bit.ActiveCfg = Debug|x86 + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Debug|64bit.ActiveCfg = Debug|x86 + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Debug|Any CPU.ActiveCfg = Debug|x86 + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Debug|x64.ActiveCfg = Debug|x86 + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Debug|x86.ActiveCfg = Debug|x86 + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Debug|x86.Build.0 = Debug|x86 + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Release|32bit.ActiveCfg = Release|x86 + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Release|64bit.ActiveCfg = Release|x86 + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Release|Any CPU.ActiveCfg = Release|x86 + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Release|Mixed Platforms.Build.0 = Release|x86 + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Release|x64.ActiveCfg = Release|x86 + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Release|x86.ActiveCfg = Release|x86 + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Release|x86.Build.0 = Release|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.CreateInstaller|32bit.ActiveCfg = Release|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.CreateInstaller|64bit.ActiveCfg = Release|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.CreateInstaller|Any CPU.ActiveCfg = Release|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.CreateInstaller|Mixed Platforms.ActiveCfg = Release|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.CreateInstaller|Mixed Platforms.Build.0 = Release|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.CreateInstaller|x64.ActiveCfg = Release|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.CreateInstaller|x86.ActiveCfg = Release|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.CreateInstaller|x86.Build.0 = Release|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.Debug|32bit.ActiveCfg = Debug|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.Debug|64bit.ActiveCfg = Debug|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.Debug|Any CPU.ActiveCfg = Debug|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.Debug|x64.ActiveCfg = Debug|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.Debug|x86.ActiveCfg = Debug|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.Debug|x86.Build.0 = Debug|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.Release|32bit.ActiveCfg = Release|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.Release|64bit.ActiveCfg = Release|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.Release|Any CPU.ActiveCfg = Release|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.Release|Mixed Platforms.Build.0 = Release|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.Release|x64.ActiveCfg = Release|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.Release|x86.ActiveCfg = Release|x86 + {D783543B-46A1-4848-A812-AF5A5259ED7E}.Release|x86.Build.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1659,6 +1685,7 @@ {E4B0E068-F1A3-47BA-965F-0EC1E78E530A} = {BC862348-6B4E-49EA-9099-2E5BE6DC183A} {9A5C8069-520E-49D3-AA62-E8FB19614A27} = {BC862348-6B4E-49EA-9099-2E5BE6DC183A} {19EB1C52-D90B-40F2-A7AF-364CC5D89F68} = {BC862348-6B4E-49EA-9099-2E5BE6DC183A} + {D783543B-46A1-4848-A812-AF5A5259ED7E} = {BC862348-6B4E-49EA-9099-2E5BE6DC183A} {3CCB05DB-C7B3-4EF7-B41D-22B6D2A3774E} = {C4E268AD-A25B-4F47-8F92-E5137FDF7CC7} EndGlobalSection GlobalSection(TextTemplating) = postSolution Index: src/Plugins/Wti/Wti.Controller/PipingContextMenuStrip.cs =================================================================== diff -u --- src/Plugins/Wti/Wti.Controller/PipingContextMenuStrip.cs (revision 0) +++ src/Plugins/Wti/Wti.Controller/PipingContextMenuStrip.cs (revision 2d9d348cd9b43f459552620c44bc54d13d522006) @@ -0,0 +1,59 @@ +using System; +using System.Windows.Forms; +using Wti.Calculation.Piping; +using Wti.Data; + +namespace Wti.Controller +{ + internal class PipingContextMenuStrip : ContextMenuStrip + { + private PipingData pipingData; + + public PipingContextMenuStrip(PipingData pipingData) + { + this.pipingData = pipingData; + var menuItem = new ToolStripButton("Bereken"); + menuItem.Click += menuItem_Click; + Items.Add(menuItem); + } + + public sealed override ToolStripItemCollection Items + { + get + { + return base.Items; + } + } + + private void menuItem_Click(object sender, EventArgs e) + { + var input = new PipingCalculationInput( + 0.0, + 0.0, + 0.0, + pipingData.AssessmentLevel, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0, + 0.0 + ); + var pipingCalculation = new PipingCalculation(input); + pipingCalculation.Calculate(); + } + } +} \ No newline at end of file Index: src/Plugins/Wti/Wti.Controller/PipingDataNodeController.cs =================================================================== diff -u -r91692bb0416bdff85f51b10a3c151d67721d9319 -r2d9d348cd9b43f459552620c44bc54d13d522006 --- src/Plugins/Wti/Wti.Controller/PipingDataNodeController.cs (.../PipingDataNodeController.cs) (revision 91692bb0416bdff85f51b10a3c151d67721d9319) +++ src/Plugins/Wti/Wti.Controller/PipingDataNodeController.cs (.../PipingDataNodeController.cs) (revision 2d9d348cd9b43f459552620c44bc54d13d522006) @@ -1,8 +1,5 @@ -using System; -using System.Windows.Forms; -using DelftTools.Controls; +using DelftTools.Controls; using DelftTools.Controls.Swf; -using Wti.Calculation.Piping; using Wti.Data; using Wti.Forms.NodePresenters; @@ -32,56 +29,4 @@ return contextMenuAdapter; } } - - public class PipingContextMenuStrip : ContextMenuStrip - { - private PipingData pipingData; - - public PipingContextMenuStrip(PipingData pipingData) - { - this.pipingData = pipingData; - var menuItem = new ToolStripButton("Bereken"); - menuItem.Click += menuItem_Click; - Items.Add(menuItem); - } - - public sealed override ToolStripItemCollection Items - { - get - { - return base.Items; - } - } - - private void menuItem_Click(object sender, EventArgs e) - { - var input = new PipingCalculationInput( - 0.0, - 0.0, - 0.0, - pipingData.AssessmentLevel, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0, - 0.0 - ); - var pipingCalculation = new PipingCalculation(input); - pipingCalculation.Calculate(); - } - } } \ No newline at end of file Index: src/Plugins/Wti/Wti.Controller/Properties/AssemblyInfo.cs =================================================================== diff -u -r91692bb0416bdff85f51b10a3c151d67721d9319 -r2d9d348cd9b43f459552620c44bc54d13d522006 --- src/Plugins/Wti/Wti.Controller/Properties/AssemblyInfo.cs (.../AssemblyInfo.cs) (revision 91692bb0416bdff85f51b10a3c151d67721d9319) +++ src/Plugins/Wti/Wti.Controller/Properties/AssemblyInfo.cs (.../AssemblyInfo.cs) (revision 2d9d348cd9b43f459552620c44bc54d13d522006) @@ -34,3 +34,5 @@ // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")] + +[assembly: InternalsVisibleTo("Wti.Controller.Test")] \ No newline at end of file Index: src/Plugins/Wti/Wti.Controller/Wti.Controller.csproj =================================================================== diff -u -r91692bb0416bdff85f51b10a3c151d67721d9319 -r2d9d348cd9b43f459552620c44bc54d13d522006 --- src/Plugins/Wti/Wti.Controller/Wti.Controller.csproj (.../Wti.Controller.csproj) (revision 91692bb0416bdff85f51b10a3c151d67721d9319) +++ src/Plugins/Wti/Wti.Controller/Wti.Controller.csproj (.../Wti.Controller.csproj) (revision 2d9d348cd9b43f459552620c44bc54d13d522006) @@ -12,22 +12,23 @@ v4.0 512 - + true - full - false - bin\Debug\ + bin\x86\Debug\ DEBUG;TRACE + full + x86 prompt - 4 + MinimumRecommendedRules.ruleset - - pdbonly - true - bin\Release\ + + bin\x86\Release\ TRACE + true + pdbonly + x86 prompt - 4 + MinimumRecommendedRules.ruleset @@ -42,9 +43,10 @@ - + Component + Index: test/Plugins/Wti/Wti.Controller.Test/PipingContextMenuStripTest.cs =================================================================== diff -u --- test/Plugins/Wti/Wti.Controller.Test/PipingContextMenuStripTest.cs (revision 0) +++ test/Plugins/Wti/Wti.Controller.Test/PipingContextMenuStripTest.cs (revision 2d9d348cd9b43f459552620c44bc54d13d522006) @@ -0,0 +1,33 @@ +using System; +using NUnit.Framework; +using Wti.Data; + +namespace Wti.Controller.Test +{ + public class PipingContextMenuStripTest + { + [Test] + public void GivenSomeData_WhenPipingContextMenuStripConstructedBasedOnThisData_ThenOneMenuItemIsAdded() + { + PipingData someData = null; + var actual = new PipingContextMenuStrip(someData); + Assert.That(actual.Items, Has.Some.Not.Null); + } + + [Test] + public void GivenPipingContextMenuStripConstructedWithNull_WhenClickingCalculateMenuItem_ThenNullReferenceExceptionIsThrown() + { + var pipingContextMenu = new PipingContextMenuStrip(null); + TestDelegate actual = () => pipingContextMenu.Items[0].PerformClick(); + Assert.That(actual, Throws.InstanceOf()); + } + + [Test] + public void GivenPipingContextMenuStripConstructedWithPipingData_WhenClickingCalculateMenuItem_ThenNoNullReferenceExceptions() + { + var pipingContextMenu = new PipingContextMenuStrip(new PipingData()); + TestDelegate actual = () => pipingContextMenu.Items[0].PerformClick(); + Assert.That(actual, Throws.Exception.Not.InstanceOf()); + } + } +} \ No newline at end of file Index: test/Plugins/Wti/Wti.Controller.Test/PipingDataNodeControllerTest.cs =================================================================== diff -u --- test/Plugins/Wti/Wti.Controller.Test/PipingDataNodeControllerTest.cs (revision 0) +++ test/Plugins/Wti/Wti.Controller.Test/PipingDataNodeControllerTest.cs (revision 2d9d348cd9b43f459552620c44bc54d13d522006) @@ -0,0 +1,40 @@ +using System; +using DelftTools.Controls; +using DelftTools.Controls.Swf; +using NUnit.Framework; +using Wti.Data; +using Wti.Forms.NodePresenters; + +namespace Wti.Controller.Test +{ + public class PipingDataNodeControllerTest + { + [Test] + public void GivenDefaultPipingDataNodeController_WhenObtainingTheNodePresenter_ThenANodePresenterInstanceIsReturned() + { + PipingDataNodePresenter actual = new PipingDataNodeController().NodePresenter; + Assert.That(actual, Is.Not.Null); + Assert.That(actual, Is.InstanceOf()); + } + + [Test] + public void GivenAnObject_WhenObtainingAContextMenuBasedOnObject_ThenACastExceptionIsThrown() + { + object someData = new object(); + var pipingDataNodeController = new PipingDataNodeController(); + TestDelegate actual = () => pipingDataNodeController.GetContextMenu(someData); + Assert.That(actual, Throws.InstanceOf()); + } + + [Test] + public void GivenPipingData_WhenObtainingAContextMenuBasedOnThePipingData_ThenAContextMenuAdapterWithAPipingContextMenuIsReturned() + { + var pipingData = new PipingData(); + var pipingDataNodeController = new PipingDataNodeController(); + IMenuItem actual = pipingDataNodeController.GetContextMenu(pipingData); + Assert.That(actual, Is.Not.Null); + Assert.That(actual, Is.InstanceOf()); + Assert.That(((MenuItemContextMenuStripAdapter)actual).ContextMenuStrip, Is.InstanceOf()); + } + } +} Index: test/Plugins/Wti/Wti.Controller.Test/Properties/AssemblyInfo.cs =================================================================== diff -u --- test/Plugins/Wti/Wti.Controller.Test/Properties/AssemblyInfo.cs (revision 0) +++ test/Plugins/Wti/Wti.Controller.Test/Properties/AssemblyInfo.cs (revision 2d9d348cd9b43f459552620c44bc54d13d522006) @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Wti.Controller.Test")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("Wti.Controller.Test")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("2533df4d-d679-4225-90b8-ce6e8bc73ea8")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] Index: test/Plugins/Wti/Wti.Controller.Test/Wti.Controller.Test.csproj =================================================================== diff -u --- test/Plugins/Wti/Wti.Controller.Test/Wti.Controller.Test.csproj (revision 0) +++ test/Plugins/Wti/Wti.Controller.Test/Wti.Controller.Test.csproj (revision 2d9d348cd9b43f459552620c44bc54d13d522006) @@ -0,0 +1,85 @@ + + + + + Debug + AnyCPU + {D783543B-46A1-4848-A812-AF5A5259ED7E} + Library + Properties + Wti.Controller.Test + Wti.Controller.Test + v4.0 + 512 + + + true + bin\x86\Debug\ + DEBUG;TRACE + full + x86 + prompt + MinimumRecommendedRules.ruleset + + + bin\x86\Release\ + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + + + + ..\..\..\..\lib\nunit.framework.dll + + + + + + + + + + + + + + + + + + {3DBD23CE-5C4A-4A49-B51C-B268CB2B510E} + DelftTools.Controls.Swf + + + {9A2D67E6-26AC-4D17-B11A-2B4372F2F572} + DelftTools.Controls + + + {82b61d20-fd4b-49be-9252-5bf6e3ee4666} + DelftTools.Shell.Core + + + {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5} + Wti.Controller + + + {CE994CC9-6F6A-48AC-B4BE-02C30A21F4DB} + Wti.Data + + + {7cd038e1-e111-4969-aced-22c5bd2974e1} + Wti.Forms + + + + + \ No newline at end of file