diff --git a/src/Tests/Moryx.Resources.Management.Tests/Mocks/ResourceWithGenericMethod.cs b/src/Tests/Moryx.Resources.Management.Tests/Mocks/ResourceWithGenericMethod.cs new file mode 100644 index 000000000..571dca5af --- /dev/null +++ b/src/Tests/Moryx.Resources.Management.Tests/Mocks/ResourceWithGenericMethod.cs @@ -0,0 +1,28 @@ +using Moryx.AbstractionLayer.Drivers; +using Moryx.AbstractionLayer.Drivers.InOut; +using Moryx.AbstractionLayer.Drivers.Message; +using Moryx.AbstractionLayer.Resources; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Moryx.Resources.Management.Tests +{ + public interface IGenericMethodCall : IResource + { + /// + /// Get channel using specialized API + /// + IList GenericMethod(string identifier); + } + + public class ResourceWithGenericMethod : Driver, IGenericMethodCall + { + public IList GenericMethod(string identifier) + { + throw new NotImplementedException(); + } + } +} diff --git a/src/Tests/Moryx.Resources.Management.Tests/TypeControllerTests.cs b/src/Tests/Moryx.Resources.Management.Tests/TypeControllerTests.cs index 912302047..1f9149242 100644 --- a/src/Tests/Moryx.Resources.Management.Tests/TypeControllerTests.cs +++ b/src/Tests/Moryx.Resources.Management.Tests/TypeControllerTests.cs @@ -207,6 +207,19 @@ public void AfterDisposeTheProxyIsDetached() Assert.Throws(() => proxy.MultiplyFoo(2)); } + [Test] + public void ProxyForGenericMethod() + { + // Arrange + var driver = new ResourceWithGenericMethod { Id = 2, Name = "Some other Resource" }; + + // Act + var proxy = (IGenericMethodCall)_typeController.GetProxy(driver); + + // Assert + Assert.IsNotNull(proxy); + } + [Test] public void ReplaceWithProxy() {