Exemple #1
0
        public void AbstractMethodTest()
        {
            IComputadorFactory computadorFactory = new WindowsFactory();
            var pcWindows = computadorFactory.CrearComputadorPC("2 GB", "500 GB", "2.4 Ghz");

            TestContext.WriteLine(pcWindows.GetType().Name);
            TestContext.WriteLine(pcWindows.ObtenerHDD());
            TestContext.WriteLine(pcWindows.ObtenerRam());
            TestContext.WriteLine(pcWindows.ObtenerCPU());

            var serverWindows = computadorFactory.CrearComputadorServidor("2 GB", "500 GB", "2.4 Ghz");

            TestContext.WriteLine(serverWindows.GetType().Name);
            TestContext.WriteLine(serverWindows.ObtenerHDD());
            TestContext.WriteLine(serverWindows.ObtenerRam());
            TestContext.WriteLine(serverWindows.ObtenerCPU());


            computadorFactory = new MacFactory();
            var pcMac = computadorFactory.CrearComputadorPC("2 GB", "500 GB", "2.4 Ghz");

            TestContext.WriteLine(pcMac.GetType().Name);
            TestContext.WriteLine(pcMac.ObtenerHDD());
            TestContext.WriteLine(pcMac.ObtenerRam());
            TestContext.WriteLine(pcMac.ObtenerCPU());

            var serverMac = computadorFactory.CrearComputadorServidor("2 GB", "500 GB", "2.4 Ghz");

            TestContext.WriteLine(serverMac.GetType().Name);
            TestContext.WriteLine(serverMac.ObtenerHDD());
            TestContext.WriteLine(serverMac.ObtenerRam());
            TestContext.WriteLine(serverMac.ObtenerCPU());

            computadorFactory = new LinuxFactory();
            var pcLinux = computadorFactory.CrearComputadorPC("2 GB", "500 GB", "2.4 Ghz");

            TestContext.WriteLine(pcLinux.GetType().Name);
            TestContext.WriteLine(pcLinux.ObtenerHDD());
            TestContext.WriteLine(pcLinux.ObtenerRam());
            TestContext.WriteLine(pcLinux.ObtenerCPU());

            var serverLinux = computadorFactory.CrearComputadorServidor("2 GB", "500 GB", "2.4 Ghz");

            TestContext.WriteLine(serverLinux.GetType().Name);
            TestContext.WriteLine(serverLinux.ObtenerHDD());
            TestContext.WriteLine(serverLinux.ObtenerRam());
            TestContext.WriteLine(serverLinux.ObtenerCPU());

            Assert.IsTrue(pcLinux is Pc);
            Assert.IsTrue(serverLinux is Server);
            Assert.IsTrue(pcWindows is Pc);
            Assert.IsTrue(serverWindows is Server);
            Assert.IsTrue(pcMac is Pc);
            Assert.IsTrue(serverMac is Server);
        }