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>()); }
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>()); }
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>()); }