Beispiel #1
0
        public void Test()
        {
            TestInterface  duck  = DuckTyping.Implement <TestInterface> (new TestClass());
            TestInterface  same  = DuckTyping.Implement <TestInterface> (duck);
            TestInterface2 duck2 = DuckTyping.Implement <TestInterface2>(same);

            Assert.AreSame(duck, same);

            int value;

            duck.Method(33, out value);

            Assert.AreEqual(33, value);
            Assert.AreEqual(42, duck.Method(40));
            Assert.AreEqual(22, duck.Prop);

            duck.Event += duck_Event;

            duck.CallEvent();

            Assert.AreEqual(55, eventValue);

            duck2.I2Method(33, out value);

            Assert.AreEqual(33, value);
            Assert.AreEqual(42, duck2.Method(40));
        }