Пример #1
0
        static void Main(string[] args)
        {
            #region instancias
            Carreta c1 = new Carreta(100);
            Carreta c2 = new Carreta(150);
            Carreta c3 = new Carreta(170);

            Avion a1 = new Avion(600, 1200);
            Avion a2 = new Avion(700, 2200);
            Avion a3 = new Avion(800, 3200);

            Deportivo d1 = new Deportivo(400, "exp123", 20);
            Deportivo d2 = new Deportivo(500, "ett155", 80);
            Deportivo d3 = new Deportivo(600, "dfs785", 70);

            Familiar f1 = new Familiar(250, "dsf456", 5);
            Familiar f2 = new Familiar(750, "xzc458", 4);
            Familiar f3 = new Familiar(850, "cfr894", 2);

            Privado p1 = new Privado(500, 4512, 517);
            Privado p2 = new Privado(700, 4782, 577);
            Privado p3 = new Privado(900, 4252, 587);

            Comercial co1 = new Comercial(457, 4787, 6);
            Comercial co2 = new Comercial(477, 4147, 5);
            Comercial co3 = new Comercial(487, 4967, 4);
            #endregion

            #region prueba impuestos
            Console.WriteLine("CARRETA HEREDA UNA SOLA INTERFACE");
            Console.WriteLine(c1.CalcularImpuesto());

            Console.WriteLine("\n<--------------------------------->\n");

            Console.WriteLine("AVION HEREDA LAS DOS INTERFACES, MUESTRO POR METODO ESTATICO");
            Console.WriteLine(GestionMetEstaticos.MostrarImpuestoAFIP(a1));
            Console.WriteLine(GestionMetEstaticos.MostrarImpuestoARBA(a2));

            Console.WriteLine("\n<--------------------------------->\n");

            Console.WriteLine("DEPORTIVO HEREDA TAMBIEN LAS DOS INTERFACES, MUESTRO POT METODO DE EXTENSION");

            Console.WriteLine(a1.MostrarImpAFIPMetodoExtension());
            Console.WriteLine(a2.MostrarImpARBAMetodoExtension());

            Console.WriteLine("\n<--------------------------------->\n");

            Console.WriteLine("MUESTRO UNO DE CADA PARA PROBAR TO STRING");

            Console.WriteLine(a1.ToString());
            Console.WriteLine(d1.ToString());
            Console.WriteLine(f1.ToString());
            Console.WriteLine(co1.ToString());
            Console.WriteLine(c1.ToString());
            Console.WriteLine(p1.ToString());

            Console.WriteLine("\n<--------------------------------->\n");

            Console.ReadKey();
            Console.Clear();
            #endregion

            #region prueba lista generica con excepciones

            Estacionamiento <Vehiculo> e = new Estacionamiento <Vehiculo>(3);

            try
            {
                if (e.Agregar(a1))
                {
                    Console.WriteLine("agregado ok");
                }
            }
            catch (ObjetoRepetidoExcepcion ex)
            {
                Console.WriteLine(ex.Message);
            }
            catch (ListaLLenaException ex)
            {
                Console.WriteLine(ex.Message);
            }

            try
            {
                if (!e.Agregar(a1))
                {
                    Console.WriteLine("agregado ok");
                }
            }
            catch (ObjetoRepetidoExcepcion ex)
            {
                Console.WriteLine(ex.Message);
            }
            catch (ListaLLenaException ex)
            {
                Console.WriteLine(ex.Message);
            }

            try
            {
                if (e.Agregar(f1))
                {
                    Console.WriteLine("agregado ok");
                }
            }
            catch (ObjetoRepetidoExcepcion ex)
            {
                Console.WriteLine(ex.Message);
            }
            catch (ListaLLenaException ex)
            {
                Console.WriteLine(ex.Message);
            }

            try
            {
                if (e.Agregar(f1))
                {
                    Console.WriteLine("agregado ok");
                }
            }
            catch (ObjetoRepetidoExcepcion ex)
            {
                Console.WriteLine(ex.Message);
            }
            catch (ListaLLenaException ex)
            {
                Console.WriteLine(ex.Message);
            }

            try
            {
                if (e.Agregar(d1))
                {
                    Console.WriteLine("agregado ok");
                }
            }
            catch (ObjetoRepetidoExcepcion ex)
            {
                Console.WriteLine(ex.Message);
            }
            catch (ListaLLenaException ex)
            {
                Console.WriteLine(ex.Message);
            }

            try
            {
                if (!e.Agregar(d2))
                {
                    Console.WriteLine("se lleno");
                }
            }
            catch (ObjetoRepetidoExcepcion ex)
            {
                Console.WriteLine(ex.Message);
            }
            catch (ListaLLenaException ex)
            {
                Console.WriteLine(ex.Message);
            }



            Console.WriteLine(e.ToString());

            Console.ReadKey();
            Console.Clear();
            #endregion


            #region prueba archivos xml bin

            // guardo lista
            e.guardar("archivo.xml", e.Lista);

            //creo una nueva lista
            List <Vehiculo> e2 = new List <Vehiculo>();

            //desderializo el xml generado antes y lo guardo en la nueva lista
            e.leer("archivo.xml", out e2);

            //guardo la lista nueva en un nuevo archivo, deberia ser igual al archivo anterior
            // si es igual deserializa y serializa bien!!!
            e.guardar("archivoII.xml", e2);


            Console.ReadKey();
            Console.Clear();
            #endregion
        }