예제 #1
0
        static void Main(string[] args)
        {
            // Pato Bravo
            MallardDuck md = new MallardDuck();

            md.Display();
            md.Swim();
            md.Fly();
            md.Quack();
            System.Console.WriteLine("\n");

            // Pato Cabeça-vermelha
            RedHeadDuck rhd = new RedHeadDuck();

            rhd.Display();
            rhd.Swim();
            rhd.Fly();
            rhd.Quack();
            System.Console.WriteLine("\n");

            // Pato de Borracha
            RubberDuck rd = new RubberDuck();

            rhd.Display();
            rhd.Swim();
            rd.Quack(); // Chia invés de grasnar
            System.Console.WriteLine("\n");

            Console.ReadKey();
        }
예제 #2
0
        public void DuckSquackTest()
        {
            const string rightQuack  = "Squack";
            string       quackToTest = _rd.Quack();
            bool         areEquals   = rightQuack == quackToTest;

            Assert.IsTrue(areEquals, "La papera non fa" + rightQuack);
        }
예제 #3
0
파일: UnitTest1.cs 프로젝트: sdenisen/.net
        public void CheckRubberDuck()
        {
            var wd = new RubberDuck();

            wd.Show();
            wd.Fly();
            wd.Quack();
            wd.Swim();
        }
예제 #4
0
        public void TestRubberDuckQuack()
        {
            Duck   duck = new RubberDuck();
            string text = "Squee, squee!\r\n";

            using (var consoleOutput = new ConsoleOutput())
            {
                duck.Quack();
                Assert.AreEqual(text, consoleOutput.GetOutput());
            }
            Assert.AreEqual(currentConsoleOut, Console.Out);
        }
예제 #5
0
        static void Main(string[] args)
        {
            Duck duckMallard = new MallardDuck("José");
            Duck duckRedhead = new RedheadDuck("Jaum");
            Duck rubberDuck  = new RubberDuck("Pedro");

            duckMallard.Display();
            duckMallard.Quack();
            duckMallard.Swin();
            duckMallard.Fly();

            duckRedhead.Display();
            duckRedhead.Quack();
            duckRedhead.Swin();
            duckRedhead.Fly();

            rubberDuck.Display();
            rubberDuck.Quack();
            rubberDuck.Swin();
            rubberDuck.Fly();
        }
예제 #6
0
        static void Main(string[] args)
        {
            Duck exp1 = new Duck();

            Console.WriteLine("Я живая утка:\n");
            exp1.Fly();
            exp1.Swim();
            exp1.Quack();
            WoodenDuck exp2 = new WoodenDuck();

            Console.WriteLine("\nЯ деревянная утка:\n");
            exp2.Fly();
            exp2.Swim();
            exp2.Quack();
            RubberDuck exp3 = new RubberDuck();

            Console.WriteLine("\nЯ резиновая утка:\n");
            exp3.Fly();
            exp3.Swim();
            exp3.Quack();
            Console.ReadLine();
        }
예제 #7
0
파일: interfaces.cs 프로젝트: JeroenBL/demo
        public static void Main(string[] args)
        {
            // First approach (DI and base class of type duck)
            Console.WriteLine("First approach using base class");

            Console.WriteLine("WildDuck using base class");
            var wildDuck = new WildDuck();

            wildDuck.Fly();
            wildDuck.Quack();
            Console.WriteLine("");

            Console.WriteLine("MountainDuck using base class");
            var mountainDuck = new MountainDuck();

            mountainDuck.Fly();
            mountainDuck.Quack();
            Console.WriteLine("");

            Console.WriteLine("RubberDuck using base class");
            var RubberDuck = new RubberDuck();

            RubberDuck.Fly();
            RubberDuck.Quack();
            Console.WriteLine("");

            //
            // Better approach
            Console.WriteLine("Better approach using interfaces");
            //

            // Create fly behaviours
            IFlyable flyingNormal = new FlyingNormal();
            IFlyable flyingHigh   = new FlyingHigh();
            IFlyable wontFly      = new WontFly();

            // Create quack behaviours
            IQuackable quackingLoud = new QuackingLoud();
            IQuackable squeek       = new Squeak();

            // Create wildDuck (flying normal, quacking loud)
            Console.WriteLine("WildDuck-Interface (flying normal, quacking loud");
            var betterWildDuck = new BetterDuckClass(flyingNormal, quackingLoud);

            betterWildDuck.Fly();
            betterWildDuck.Quack();
            Console.WriteLine("");

            // Create mountainDuck (flying high, quacking loud)
            Console.WriteLine("MountainDuck-Interface (flying high, quacking loud");
            var betterMountainDuck = new BetterDuckClass(flyingHigh, quackingLoud);

            betterMountainDuck.Fly();
            betterMountainDuck.Quack();
            Console.WriteLine("");

            // Create rubberDuck (won't fly, squeeks)
            Console.WriteLine("RubberDuck-Interface (won't fly, squeeks");
            var betterRubberDuck = new BetterDuckClass(null, squeek);

            betterRubberDuck.Quack();
            Console.WriteLine("");
        }