Index: DeltaShell.DotSettings
===================================================================
diff -u -r482e2af47e9cb237f8e68f27337e621e1a9ec349 -rf3b4a403f57012040e904bb19f7d7bde6e35198c
--- DeltaShell.DotSettings (.../DeltaShell.DotSettings) (revision 482e2af47e9cb237f8e68f27337e621e1a9ec349)
+++ DeltaShell.DotSettings (.../DeltaShell.DotSettings) (revision f3b4a403f57012040e904bb19f7d7bde6e35198c)
@@ -522,5 +522,6 @@
<Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
True
True
+ True
True
True
\ No newline at end of file
Index: test/Common/DelftTools.Tests/DelftTools.Tests.csproj
===================================================================
diff -u -rba9f6c4d192cadbd063630ba508649ab22a6bf78 -rf3b4a403f57012040e904bb19f7d7bde6e35198c
--- test/Common/DelftTools.Tests/DelftTools.Tests.csproj (.../DelftTools.Tests.csproj) (revision ba9f6c4d192cadbd063630ba508649ab22a6bf78)
+++ test/Common/DelftTools.Tests/DelftTools.Tests.csproj (.../DelftTools.Tests.csproj) (revision f3b4a403f57012040e904bb19f7d7bde6e35198c)
@@ -179,6 +179,7 @@
True
Resources.resx
+
Index: test/Common/DelftTools.Tests/Shell/Core/DataItemInfoTest.cs
===================================================================
diff -u
--- test/Common/DelftTools.Tests/Shell/Core/DataItemInfoTest.cs (revision 0)
+++ test/Common/DelftTools.Tests/Shell/Core/DataItemInfoTest.cs (revision f3b4a403f57012040e904bb19f7d7bde6e35198c)
@@ -0,0 +1,149 @@
+using System.Drawing;
+
+using DelftTools.Shell.Core;
+using DelftTools.Tests.Properties;
+
+using NUnit.Framework;
+
+namespace DelftTools.Tests.Shell.Core
+{
+ [TestFixture]
+ public class DataItemInfoTest
+ {
+ [Test]
+ public void DefaultConstructor_NonGeneric_ExpectedValues()
+ {
+ // call
+ var info = new DataItemInfo();
+
+ // assert
+ Assert.IsNull(info.ValueType);
+ Assert.IsNull(info.Name);
+ Assert.IsNull(info.Category);
+ Assert.IsNull(info.Image);
+ Assert.IsNull(info.AdditionalOwnerCheck);
+ Assert.IsNull(info.CreateData);
+ Assert.IsNull(info.AddExampleData);
+ }
+
+ [Test]
+ public void DefaultConstructor_Generic_ExpectedValues()
+ {
+ // call
+ var info = new DataItemInfo();
+
+ // assert
+ Assert.AreEqual(typeof(double), info.ValueType);
+ Assert.IsNull(info.Name);
+ Assert.IsNull(info.Category);
+ Assert.IsNull(info.Image);
+ Assert.IsNull(info.AdditionalOwnerCheck);
+ Assert.IsNull(info.CreateData);
+ Assert.IsNull(info.AddExampleData);
+ }
+
+ [Test]
+ public void GetSetAutomaticProperties_NonGeneric_ExpectedBehavior()
+ {
+ // setup & call
+ bool addExampleDataCalled = false;
+ var info = new DataItemInfo
+ {
+ ValueType = typeof(double),
+ Name = "Some double",
+ Category = "Nice category",
+ Image = new Bitmap(Resources.alarm_clock_blue),
+ AdditionalOwnerCheck = o => true,
+ CreateData = o => 1.2,
+ AddExampleData = delegate { addExampleDataCalled = true; }
+ };
+ info.AddExampleData(null);
+
+ // assert
+ Assert.AreEqual(typeof(double), info.ValueType);
+ Assert.AreEqual("Some double", info.Name);
+ Assert.AreEqual("Nice category", info.Category);
+ Assert.IsNotNull(info.Image);
+ Assert.IsTrue(info.AdditionalOwnerCheck(null));
+ Assert.AreEqual(1.2, info.CreateData(null));
+ Assert.IsTrue(addExampleDataCalled);
+ }
+
+ [Test]
+ public void GetSetAutomaticProperties_Generic_ExpectedBehavior()
+ {
+ // setup & call
+ bool addExampleDataNotCalled = true;
+ var info = new DataItemInfo
+ {
+ Name = "Some integer",
+ Category = "Better category",
+ Image = new Bitmap(Resources.alarm_clock_blue),
+ AdditionalOwnerCheck = o => false,
+ CreateData = o => -1,
+ AddExampleData = delegate { addExampleDataNotCalled = false; }
+ };
+ info.AddExampleData(1);
+
+ // assert
+ Assert.AreEqual(typeof(int), info.ValueType);
+ Assert.AreEqual("Some integer", info.Name);
+ Assert.AreEqual("Better category", info.Category);
+ Assert.IsNotNull(info.Image);
+ Assert.IsFalse(info.AdditionalOwnerCheck(null));
+ Assert.AreEqual(-1, info.CreateData(null));
+ Assert.IsFalse(addExampleDataNotCalled);
+ }
+
+ [Test]
+ public void ImplicitConversion_FromGenericToNonGeneric_ShouldCopyValues()
+ {
+ // setup
+ bool addExampleDataCalled = false;
+ var info = new DataItemInfo
+ {
+ Name = "Some integer",
+ Category = "Better category",
+ Image = new Bitmap(Resources.alarm_clock_blue),
+ AdditionalOwnerCheck = o => false,
+ CreateData = o => -1,
+ AddExampleData = delegate { addExampleDataCalled = true; }
+ };
+
+ // call
+ var nonGenericInfo = (DataItemInfo)info;
+
+ // assert
+ Assert.AreEqual(info.ValueType, nonGenericInfo.ValueType);
+ Assert.AreEqual(info.Name, nonGenericInfo.Name);
+ Assert.AreEqual(info.Category, nonGenericInfo.Category);
+ Assert.AreEqual(info.AdditionalOwnerCheck(1), nonGenericInfo.AdditionalOwnerCheck(1));
+ Assert.AreEqual(info.CreateData(null), nonGenericInfo.CreateData(null));
+ nonGenericInfo.AddExampleData(1);
+ Assert.IsTrue(addExampleDataCalled);
+ }
+
+ [Test]
+ public void ImplicitConversion_FromGenericToNonGenericWithoutMethodsSet_MethodsShouldBeNull()
+ {
+ // setup
+ var info = new DataItemInfo
+ {
+ Name = "Some integer",
+ Category = "Better category",
+ Image = new Bitmap(Resources.alarm_clock_blue)
+ };
+
+ // call
+ var nonGenericInfo = (DataItemInfo)info;
+
+ // assert
+ Assert.AreEqual(info.ValueType, nonGenericInfo.ValueType);
+ Assert.AreEqual(info.Name, nonGenericInfo.Name);
+ Assert.AreEqual(info.Category, nonGenericInfo.Category);
+ Assert.IsNull(nonGenericInfo.AdditionalOwnerCheck);
+ Assert.IsNull(nonGenericInfo.CreateData);
+ Assert.IsNull(nonGenericInfo.AddExampleData);
+ }
+ }
+}
\ No newline at end of file