diff --git a/ICD.Common.Utils.Tests/Attributes/AbstractIcdAttributeTest.cs b/ICD.Common.Utils.Tests/Attributes/AbstractIcdAttributeTest.cs new file mode 100644 index 0000000..2b5aec5 --- /dev/null +++ b/ICD.Common.Utils.Tests/Attributes/AbstractIcdAttributeTest.cs @@ -0,0 +1,6 @@ +namespace ICD.Common.Utils.Tests.Attributes +{ + public abstract class AbstractIcdAttributeTest + { + } +} diff --git a/ICD.Common.Utils.Tests/Attributes/KrangPluginAttributeTest.cs b/ICD.Common.Utils.Tests/Attributes/KrangPluginAttributeTest.cs new file mode 100644 index 0000000..7822902 --- /dev/null +++ b/ICD.Common.Utils.Tests/Attributes/KrangPluginAttributeTest.cs @@ -0,0 +1,9 @@ +using NUnit.Framework; + +namespace ICD.Common.Utils.Tests.Attributes +{ + [TestFixture] + public sealed class KrangPluginAttributeTest : AbstractIcdAttributeTest + { + } +} diff --git a/ICD.Common.Utils.Tests/Attributes/Rpc/RpcAttributeTest.cs b/ICD.Common.Utils.Tests/Attributes/Rpc/RpcAttributeTest.cs new file mode 100644 index 0000000..ef94b90 --- /dev/null +++ b/ICD.Common.Utils.Tests/Attributes/Rpc/RpcAttributeTest.cs @@ -0,0 +1,55 @@ +using System.Collections.Generic; +using System.Linq; +using ICD.Common.Utils.Attributes.Rpc; +using NUnit.Framework; + +namespace ICD.Common.Utils.Tests.Attributes.Rpc +{ + [TestFixture] + public sealed class RpcAttributeTest : AbstractIcdAttributeTest + { + private class TestClass + { + [Rpc("A")] + public int TestProperty { get; set; } + + [Rpc("A")] + public void TestMethod() + { + } + + [Rpc("B")] + public void TestMethod(int a) + { + } + + [Rpc("C")] + public void TestMethod(int a, string b) + { + } + } + + [Test] + public void GetMethodTest() + { + TestClass instance = new TestClass(); + + Assert.NotNull(RpcAttribute.GetMethod(instance, "A", new object[] { })); + Assert.Null(RpcAttribute.GetMethod(instance, "B", new object[] { })); + Assert.NotNull(RpcAttribute.GetMethod(instance, "B", new object[] { 1 })); + Assert.NotNull(RpcAttribute.GetMethod(instance, "C", new object[] { 1, null })); + Assert.NotNull(RpcAttribute.GetMethod(instance, "C", new object[] { 1, "test" })); + } + + [Test] + public void GetPropertyTest() + { + TestClass instance = new TestClass(); + + Assert.NotNull(RpcAttribute.GetProperty(instance, "A", "test")); + Assert.NotNull(RpcAttribute.GetProperty(instance, "A", null)); + Assert.Null(RpcAttribute.GetProperty(instance, "B", "test")); + Assert.Null(RpcAttribute.GetProperty(instance, "B", 1)); + } + } +} diff --git a/ICD.Common.Utils.Tests/EventArguments/GenericEventArgsTest.cs b/ICD.Common.Utils.Tests/EventArguments/GenericEventArgsTest.cs new file mode 100644 index 0000000..97fa828 --- /dev/null +++ b/ICD.Common.Utils.Tests/EventArguments/GenericEventArgsTest.cs @@ -0,0 +1,11 @@ +using ICD.Common.Utils.EventArguments; +using NUnit.Framework; + +namespace ICD.Common.Utils.Tests.EventArguments +{ + public abstract class GenericEventArgsTest + { + [Test] + public abstract void DataTest(); + } +}