Пример #1
0
        static void Main(string[] args)
        {
            ConfigureContainer();

            var      calc     = Container.Resolve <ICalculable>();
            Ejercito ejercito = new Ejercito(calc, 30000);

            DivisionFactory caballeriaFactory = DivisionFactory.GetDivision(Division.Caballeria);
            DivisionFactory infanteriaFactory = DivisionFactory.GetDivision(Division.Infanteria);
            DivisionFactory artilleriaFactory = DivisionFactory.GetDivision(Division.Artilleria);

            ejercito.AddUnidad(caballeriaFactory.GetSubdivision(Subdivision.Caballeria_TransporteMX7899));
            ejercito.AddUnidad(caballeriaFactory.GetSubdivision(Subdivision.Caballeria_TanqueAtaqueSombrasVB98));
            ejercito.AddUnidad(caballeriaFactory.GetSubdivision(Subdivision.Caballeria_TransporteTAXIN66));
            ejercito.AddUnidad(infanteriaFactory.GetSubdivision(Subdivision.Infanteria_InfanteriaBasica));
            ejercito.AddUnidad(infanteriaFactory.GetSubdivision(Subdivision.Infanteria_Ametrallador));
            ejercito.AddUnidad(infanteriaFactory.GetSubdivision(Subdivision.Infanteria_Sanitario));
            ejercito.AddUnidad(artilleriaFactory.GetSubdivision(Subdivision.Artilleria_CanonAntiaereo));
            ejercito.AddUnidad(artilleriaFactory.GetSubdivision(Subdivision.Artilleria_TorpederoMovil));
            ejercito.AddUnidad(artilleriaFactory.GetSubdivision(Subdivision.Artilleria_Canon));

            Console.WriteLine("Numero de Unidades: " + ejercito.CounterUnidades());
            Console.WriteLine("Fondo: " + ejercito.GetFondoDisponible());
            Console.WriteLine("Potencia de Fuego Total: " + ejercito.PotenciaDeFuego());
            Console.WriteLine("Blindaje Total: " + ejercito.Blindaje());
            Console.WriteLine("Capacidad de Movimiento: " + ejercito.Movimiento());
            Console.WriteLine("Precio: " + ejercito.Precio());
            Console.WriteLine("Capacidad Militar: " + ejercito.CapacidadMilitar());
        }
Пример #2
0
        public void HaveInfiniteFundsWhenNoFundParamIsProvided()
        {
            // Arrange
            var ejercito = new Ejercito(_defaultCalc);

            _infanteriaBasica.Precio = double.MaxValue;

            // Act
            ejercito.AddUnidad(_infanteriaBasica);

            // Assert
            Assert.AreEqual(double.PositiveInfinity, ejercito.GetFondoDisponible());
        }
Пример #3
0
        public void CalculateTheNumberOfUnits()
        {
            // Arrange
            _ejercito.AddUnidad(_transporteMX7899);
            _ejercito.AddUnidad(_tanqueAtaqueSombrasVB98);
            _ejercito.AddUnidad(_transporteTAXIN66);

            _ejercito.AddUnidad(_infanteriaBasica);
            _ejercito.AddUnidad(_ametrallador);
            _ejercito.AddUnidad(_sanitario);

            _ejercito.AddUnidad(_canonAntiaereo);
            _ejercito.AddUnidad(_torpederoMovil);
            _ejercito.AddUnidad(_canon);

            // Act
            int actual   = _ejercito.CounterUnidades();
            int expected = 9;

            // Asert
            Assert.AreEqual(expected, actual);
        }