Пример #1
0
        public void Qtd_de_magos__deve_ser_2()
        {
            Mago mago1 = MagoBuilder.Novo().Construir();
            Mago mago2 = MagoBuilder.Novo().Construir();

            Assert.Equal(expected: 2, actual: Mago.qtde);
        }
Пример #2
0
        public void AprenderMagia__deve_dar_erro__quando_magia_estiver_vazia()
        {
            Mago mago  = MagoBuilder.Novo().Construir();
            var  magia = string.Empty;

            Assert.Throws <ArgumentException>(() => mago.AprenderMagia(magia));
        }
Пример #3
0
        public void ReceberAtaque__deve_tirar_vida_do_personagem()
        {
            Personagem personagem = MagoBuilder.Novo().ComVida(100).Construir();

            personagem.ReceberAtaque(10);

            Assert.Equal(expected: 90, actual: personagem.vida);
        }
Пример #4
0
        public void ReceberAtaque__deve_matar_o_personagem__quando_o_ataque_ser_maior_ou_igual_a_vida(int dano)
        {
            Personagem personagem = MagoBuilder.Novo().ComVida(10).Construir();

            personagem.ReceberAtaque(dano);

            Assert.False(personagem.estaVivo);
        }
Пример #5
0
        public void AprenderMagia__deve_adicionar_magia_na_lista_de_magias()
        {
            Mago mago  = MagoBuilder.Novo().Construir();
            var  magia = "Magia Teste";

            mago.AprenderMagia(magia);

            Assert.Contains(mago.magias, m => m == magia);
        }
Пример #6
0
        static void Builder()
        {
            Console.WriteLine("\n---------------- PATRÓN BUILDER ----------------\n");

            Console.WriteLine("*** Bienvenido al menú de creación de personajes ***");
            Console.WriteLine("Por favor, seleccione su clase:");
            Console.WriteLine("1. Guerrero");
            Console.WriteLine("2. Mago");
            Console.WriteLine("3. Ninja");

            Console.Write("Ingrese una opción: ");
            var opcion = Convert.ToInt32(Console.ReadLine());

            IBuilder constructor = null;

            switch (opcion)
            {
            case 1:
                constructor = new GuerreroBuilder();
                break;

            case 2:
                constructor = new MagoBuilder();
                break;

            case 3:
                constructor = new NinjaBuilder();
                break;

            default:
                break;
            }
            ;

            Director director = new Director(constructor);

            Console.Write("Ingrese el nombre de la armadura: ");
            var armadura = Console.ReadLine();

            Console.Write("Ingrese el nombre del arma: ");
            var arma = Console.ReadLine();

            Console.Write("Ingrese el nombre del casco: ");
            var casco = Console.ReadLine();

            Console.Write("Ingrese el nombre de los guantes: ");
            var guantes = Console.ReadLine();

            Console.Write("Ingrese el nombre de las botas: ");
            var botas = Console.ReadLine();

            director.CrearPersonaje(armadura, arma, casco, guantes, botas);

            Console.WriteLine(constructor.ObtenerPersonaje().ToString());

            Console.ReadLine();
        }
Пример #7
0
        public void Attack__deve_retornar_dano_entre_0_e_300_somado_com_inteligencia_vezes_level()
        {
            Mago mago       = MagoBuilder.Novo().Construir();
            var  ataqueBase = mago.inteligencia * mago.level;
            var  ataque     = mago.Attack();

            Assert.True(ataque > 0);
            Assert.True(ataque >= ataqueBase);
            Assert.True(ataque <= (300 + ataqueBase));
        }
Пример #8
0
        public void TomarPocaoDeVida__deve_recuperar_toda_a_vida()
        {
            Personagem personagem = MagoBuilder.Novo().ComVida(100).Construir();

            personagem.ReceberAtaque(10);

            personagem.TomarPocaoDeVida();

            Assert.True(personagem.maxVida == personagem.vida);
        }
Пример #9
0
        public void ReceberAtaque__nao_deve_tirar_vida__quando_o_personagem_ja_esta_morto()
        {
            Personagem personagem = MagoBuilder.Novo().ComVida(10).Construir();

            personagem.ReceberAtaque(10);
            personagem.ReceberAtaque(2);


            Assert.True(personagem.vida >= 0);
        }
Пример #10
0
        public void LvlUp__deve_evoluir_atributos_sendo_mais_mana_e_inteligencia()
        {
            Mago mago         = MagoBuilder.Novo().Construir();
            Mago magoEvoluido = mago.Clone();

            magoEvoluido.LvlUp();

            Assert.True(magoEvoluido.vida == mago.vida + 1);
            Assert.True(magoEvoluido.forca == mago.forca + 1);
            Assert.True(magoEvoluido.level == mago.level + 1);

            Assert.True(magoEvoluido.mana == mago.mana + 2);
            Assert.True(magoEvoluido.inteligencia == mago.inteligencia + 2);
        }