Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }