public void TestChangingReturnType() { // create the service object var plugin = new MyPluginImplementation(); // create the duck-typed wrapper var dPlugin = plugin.As <IConsumerImplementation>(); // check that the returned value for string. Assert.Equal("100", dPlugin.ReturnAString()); var items = dPlugin.ReturnAStringCollection(); Assert.NotNull(items); Assert.Equal(3, items.Count()); Assert.Equal("One", items.First()); Assert.Equal("Two", items.Skip(1).First()); Assert.Equal("Three", items.Skip(2).First()); var someObject = dPlugin.ReturnSomeObject(); Assert.NotNull(someObject); Assert.Equal("One", someObject.Name); var someObjects = dPlugin.ReturnSomeObjects(); Assert.NotNull(someObjects); Assert.Equal(3, someObjects.Count()); Assert.Equal("One", someObjects.First().Name); Assert.Equal("Two", someObjects.Skip(1).First().Name); Assert.Equal("Three", someObjects.Skip(2).First().Name); var moreObjects = dPlugin.ReturnSomeObjectsToArray(); Assert.NotNull(moreObjects); Assert.Equal(3, moreObjects.Length); Assert.Equal("Three", moreObjects[0].Name); Assert.Equal("Two", moreObjects[1].Name); Assert.Equal("One", moreObjects[2].Name); }
public void TestChangingReturnType() { // create the service object var plugin = new MyPluginImplementation(); // create the duck-typed wrapper var dPlugin = plugin.As<IConsumerImplementation>(); // check that the returned value for string. Assert.Equal("100", dPlugin.ReturnAString()); var items = dPlugin.ReturnAStringCollection(); Assert.NotNull(items); Assert.Equal(3, items.Count()); Assert.Equal("One", items.First()); Assert.Equal("Two", items.Skip(1).First()); Assert.Equal("Three", items.Skip(2).First()); var someObject = dPlugin.ReturnSomeObject(); Assert.NotNull(someObject); Assert.Equal("One", someObject.Name); var someObjects = dPlugin.ReturnSomeObjects(); Assert.NotNull(someObjects); Assert.Equal(3, someObjects.Count()); Assert.Equal("One", someObjects.First().Name); Assert.Equal("Two", someObjects.Skip(1).First().Name); Assert.Equal("Three", someObjects.Skip(2).First().Name); var moreObjects = dPlugin.ReturnSomeObjectsToArray(); Assert.NotNull(moreObjects); Assert.Equal(3, moreObjects.Length); Assert.Equal("Three", moreObjects[0].Name); Assert.Equal("Two", moreObjects[1].Name); Assert.Equal("One", moreObjects[2].Name); }