Пример #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));
        }
Пример #2
0
        public void GenericInterfaceTest()
        {
            GenericClass <int>     o     = new GenericClass <int>();
            GenericInterface <int> duck  = DuckTyping.Implement <GenericInterface <int> > (o);
            TestInterface2         duck2 = DuckTyping.Implement <TestInterface2> (o);

            Assert.AreEqual(40, duck.Method(40));
            Assert.AreEqual(40, duck2.Method(40));

            int value;

            duck2.I2Method(33, out value);
            Assert.AreEqual(35, value);
        }
Пример #3
0
 public int doit(TestInterface ti, TestInterface2 ti2, TestInterface3 ti3)
 {
     return(ti.overrideme() * 2 + ti2.overrideme2() + ti3.overrideme3());
 }
Пример #4
0
 public TestClass4(TestInterface2 testInterface2)
 {
 }
Пример #5
0
 public TestInterface1Impl3(TestInterface2 ti2)
 {
     obj = ti2;
 }