Esempio n. 1
0
        public async Task Override_Virtual_Method()
        {
            ExecitedDuck source = new ExecitedDuck();
            IDuck        target = source.As <IDuck>();

            Assert.Equal(await source.WalkAsync(), await target.WalkAsync());
            Assert.Same(source, target.GetSource <ExecitedDuck>());
        }
Esempio n. 2
0
        public async void Polymorphism_For_Override_Method()
        {
            Duck  duck   = new ExecitedDuck();
            IDuck target = duck.As <IDuck>();

            Assert.Equal(await duck.WalkAsync(), await target.WalkAsync());
            Assert.Same(duck, target.GetSource <Duck>());
            Assert.Same(duck, target.GetSource <ExecitedDuck>());
        }
Esempio n. 3
0
        public void Hide_Base_Using_New()
        {
            ExecitedDuck source = new ExecitedDuck();
            IDuck        target = source.As <IDuck>();

            Assert.Equal(source.Quack(), target.Quack());
            Assert.Same(source, target.GetSource <Duck>());
            Assert.Same(source, target.GetSource <ExecitedDuck>());
        }