예제 #1
0
        public void KartComPilotoProfissionalComRodasDeDragaoEMotorTem16DeVelocidade()
        {
            var piloto = new Corredor("Mario", NivelDeHabilidade.Profissional);
            var kart   = new Kart(piloto);

            kart.Equipar(new PneusDeCouroDeDragao());
            kart.Equipar(new MotorABaseDeLava());
            Assert.AreEqual(16, kart.Velocidade);
            Assert.AreEqual(piloto, kart.Piloto);
        }
예제 #2
0
        public void KartCorredorNoobTem2EquipamentosETemVelocidadeIgualA11()
        {
            var corredor = new Corredor("Nego Drama", Habilidade.Noob);
            var kart     = new Kart(corredor);
            var pneus    = new PneusDeCouroDeDragao();
            var motor    = new MotorABaseDeLava();

            kart.Equipar(pneus);
            kart.Equipar(motor);
            Assert.AreEqual(11, kart.Velocidade);
        }
예제 #3
0
        public void SomarVelocidadeKartComCorredorProfissionalECom2PneusDeCouroDeDragao()
        {
            Corredor             corredor = new Corredor("Airton Senna", NivelHabilidade.Profissional);
            Kart                 kart     = new Kart(corredor);
            PneusDeCouroDeDragao pneu1    = new PneusDeCouroDeDragao();
            PneusDeCouroDeDragao pneu2    = new PneusDeCouroDeDragao();

            kart.Equipar(pneu1);
            kart.Equipar(pneu2);

            Assert.AreEqual(15, kart.Velocidade);
        }
예제 #4
0
        public void SomarVelocidadeKartComCorredorNoobECom1PneuDeCouroDeDragaoE1MotorABaseDeLava()
        {
            Corredor             corredor = new Corredor("Airton Senna", NivelHabilidade.Noob);
            Kart                 kart     = new Kart(corredor);
            PneusDeCouroDeDragao pneu     = new PneusDeCouroDeDragao();
            MotorABaseDeLava     motor    = new MotorABaseDeLava();

            kart.Equipar(pneu);
            kart.Equipar(motor);

            Assert.AreEqual(11, kart.Velocidade);
        }
예제 #5
0
        public void KartCorredorProfissionalTem3EquipamentosETemVelocidadeIgual21()
        {
            var corredor = new Corredor("Nego Drama", Habilidade.Profissional);
            var kart     = new Kart(corredor);
            var pneus    = new PneusDeCouroDeDragao();
            var motor    = new MotorABaseDeLava();
            var foguete  = new FogueteDePlutonio(2);

            kart.Equipar(foguete);
            kart.Equipar(pneus);
            kart.Equipar(motor);
            Assert.AreEqual(21, kart.Velocidade);
        }
예제 #6
0
        public void KartNasceComCorredorEEquipaPneusDeCouroDeDragaoEMotorABaseDeLava()
        {
            var corredor = new Corredor("Joao", NivelDeHabilidade.PROFISSIONAL);
            var kart     = new Kart(corredor);
            var pneus    = new PneusDeCouroDeDragao();
            var motor    = new MotorABaseDeLava();

            kart.Equipar(pneus);
            kart.Equipar(motor);

            Assert.AreEqual(corredor, kart.Corredor);
            Assert.AreEqual(2, kart.Equipamentos.Count);
            Assert.AreEqual(16, kart.Velocidade);
        }
예제 #7
0
        public void KartTemUmCorredorProfissionalEUmaListaDeEquipamentosComMotorDeLavaEPneuDeCoroDeDragao()
        {
            //Arrange
            var corredor = new Corredor("Mário", Habilidade.Profissional);
            var kart     = new Kart(corredor);

            //Act
            kart.Equipar(new MotorDeLava());
            kart.Equipar(new PneusDeCouroDeDragao());

            //Assert
            Assert.AreEqual(16, kart.Velocidade);
            Assert.IsTrue(kart.Equipamentos.Count == 2);
        }
예제 #8
0
        public void SomarVelocidadeKartComCorredorMedianoECom3PneusDeCouroDeDragao()
        {
            Corredor             corredor = new Corredor("Airton Senna", NivelHabilidade.Mediano);
            Kart                 kart     = new Kart(corredor);
            PneusDeCouroDeDragao pneu1    = new PneusDeCouroDeDragao();
            PneusDeCouroDeDragao pneu2    = new PneusDeCouroDeDragao();
            PneusDeCouroDeDragao pneu3    = new PneusDeCouroDeDragao();

            kart.Equipar(pneu1);
            kart.Equipar(pneu2);
            kart.Equipar(pneu3);

            Assert.AreEqual(14, kart.Velocidade);
        }
예제 #9
0
        public void KartTemUmCorredorProfissionalComUltraPackEPneusDeCouroQueAtingeVelocide14()
        {
            //Arrange
            var habilidade = Habilidade.Profissional;
            var corredor   = new Corredor("Mário", habilidade);
            var kart       = new Kart(corredor);

            //Act
            kart.Equipar(new UltraPack(new MotorDeLava()));
            kart.Equipar(new PneusDeCouroDeDragao());

            //Arrange
            Assert.AreEqual(17, kart.Velocidade);
        }
예제 #10
0
        public void KartCorredorMedianoTemVelocidadeIgualA10()
        {
            var corredor = new Corredor("Nego Drama", Habilidade.Mediano);
            var kart     = new Kart(corredor);
            var pneus    = new PneusDeCouroDeDragao();

            kart.Equipar(pneus);
            Assert.AreEqual(10, kart.Velocidade);
        }
예제 #11
0
        public void KartComPilotoMedianoEMotorTem11DeVelocidade()
        {
            var piloto = new Corredor("Mario", NivelDeHabilidade.Mediano);
            var kart   = new Kart(piloto);

            kart.Equipar(new MotorABaseDeLava());
            Assert.AreEqual(11, kart.Velocidade);
            Assert.AreEqual(piloto, kart.Piloto);
        }
예제 #12
0
        public void CorredorSoRecebeBonusDaUltraPack()
        {
            var piloto = new Corredor("Mario", NivelDeHabilidade.Profissional);  // 6 velocidade
            var kart   = new Kart(piloto);                                       // 3 velocidade
            var pack   = new UltraPack(new UltraPack(new FogueteDePlutonio(5))); // 8 velocidade

            kart.Equipar(pack);                                                  // 1 de velocidade profissional
            Assert.AreEqual(18, kart.Velocidade);                                // 6 + 3 + 1 + 8 = 18
        }
예제 #13
0
        public void KartCorredorProfissionalTemVelocidadeIgualA12()
        {
            var corredor = new Corredor("Nego Drama", Habilidade.Profissional);
            var kart     = new Kart(corredor);
            var pneus    = new PneusDeCouroDeDragao();

            kart.Equipar(pneus);
            Assert.AreEqual(12, kart.Velocidade);
        }
예제 #14
0
        public void FogueteDePlutonioNivel4CorredorMediano()
        {
            Corredor          corredor = new Corredor("Ayrton Senna", NivelHabilidade.Mediano);
            Kart              kart     = new Kart(corredor);
            FogueteDePlutonio foguete  = new FogueteDePlutonio(4);

            kart.Equipar(foguete);

            Assert.AreEqual(12, kart.Velocidade);
        }
예제 #15
0
        public void FogueteDePlutonioNivel2CorredorNoob()
        {
            Corredor          corredor = new Corredor("Ayrton Senna", NivelHabilidade.Noob);
            Kart              kart     = new Kart(corredor);
            FogueteDePlutonio foguete  = new FogueteDePlutonio(2);

            kart.Equipar(foguete);

            Assert.AreEqual(8, kart.Velocidade);
        }
예제 #16
0
        public void SomarVelocidadeKartComCorredorProfissionalECom2PneusDeCouroDeDragaoE3MotorABaseDeLava()
        {
            Corredor             corredor = new Corredor("Airton Senna", NivelHabilidade.Profissional);
            Kart                 kart     = new Kart(corredor);
            PneusDeCouroDeDragao pneu1    = new PneusDeCouroDeDragao();
            PneusDeCouroDeDragao pneu2    = new PneusDeCouroDeDragao();

            MotorABaseDeLava motor1 = new MotorABaseDeLava();
            MotorABaseDeLava motor2 = new MotorABaseDeLava();
            MotorABaseDeLava motor3 = new MotorABaseDeLava();

            kart.Equipar(pneu1);
            kart.Equipar(pneu2);
            kart.Equipar(motor1);
            kart.Equipar(motor2);
            kart.Equipar(motor3);

            Assert.AreEqual(27, kart.Velocidade);
        }
예제 #17
0
        public void KartNasceComCorredorEEquipaMotorABaseDeLava()
        {
            var corredor = new Corredor("Joao", NivelDeHabilidade.NOOB);
            var kart     = new Kart(corredor);
            var motor    = new MotorABaseDeLava();

            kart.Equipar(motor);

            Assert.AreEqual(corredor, kart.Corredor);
            Assert.AreEqual(1, kart.Equipamentos.Count);
            Assert.AreEqual(9, kart.Velocidade);
        }
예제 #18
0
        public void KartNasceComCorredorEEquipaPneusDeCouroDeDragao()
        {
            var corredor = new Corredor("Joao", NivelDeHabilidade.MEDIANO);
            var kart     = new Kart(corredor);
            var pneus    = new PneusDeCouroDeDragao();

            kart.Equipar(pneus);

            Assert.AreEqual(corredor, kart.Corredor);
            Assert.AreEqual(1, kart.Equipamentos.Count);
            Assert.AreEqual(10, kart.Velocidade);
        }
예제 #19
0
        public void KartComPilotoProfissioanlComSkyFusionComPilotoProfissionalEFogueteNivel5Tem21DeVelocidade()
        {
            var piloto  = new Corredor("Mario", NivelDeHabilidade.Profissional);
            var kart    = new SkyFusion(piloto);
            var foguete = new FogueteDePlutonio(5);

            kart.Equipar(foguete);
            var kartComFusion = new Kart(piloto);

            kartComFusion.Equipar(kart);
            Assert.AreEqual(31, kartComFusion.Velocidade);
        }
예제 #20
0
        public void KartTemUmCorredorMedianoEUmaListaDeEquipamentos()
        {
            //Arrange
            var corredor = new Corredor("Mário", Habilidade.Mediano);

            //Act
            var kart = new Kart(corredor);

            kart.Equipar(new PneusDeCouroDeDragao());

            //Assert
            Assert.AreEqual(10, kart.Velocidade);
        }
예제 #21
0
        public void KartTemUmCorredorProfissionalEUmaListaDeEquipamentosComMotorDeLava()
        {
            //Arrange
            var corredor = new Corredor("Mário", Habilidade.Profissional);

            //Act
            var kart = new Kart(corredor);

            kart.Equipar(new MotorDeLava());

            //Assert
            Assert.AreEqual(13, kart.Velocidade);
        }
예제 #22
0
        public void KartTemUmCorredorMedianoComUltraPackQueAtingeVelocide12()
        {
            //Arrange
            var habilidade = Habilidade.Mediano;
            var corredor   = new Corredor("Mário", habilidade);
            var kart       = new Kart(corredor);

            //Act
            kart.Equipar(new UltraPack(new MotorDeLava()));

            //Arrange
            Assert.AreEqual(12, kart.Velocidade);
        }
예제 #23
0
        public void KartEquipadoComUltraPackQuePossuiPneusDeCouroDeDragao()
        {
            var corredor     = new Corredor("Juca", NivelDeHabilidade.MEDIANO);
            var kart         = new Kart(corredor);
            var equipInterno = new PneusDeCouroDeDragao();
            var equip        = new UltraPack(equipInterno);

            kart.Equipar(equip);

            Assert.AreEqual(1, kart.Equipamentos.Count);
            UltraPack ultrapack = (UltraPack)kart.Equipamentos[0];

            Assert.AreEqual(equip, ultrapack);
            Assert.AreEqual(equipInterno, ultrapack.EquipamentoInterno);
            Assert.AreEqual(3, ultrapack.Bonus);
            Assert.AreEqual(11, kart.Velocidade);
        }
예제 #24
0
        public void KartEquipadoComUltraPackQuePossuiUltraPack()
        {
            var corredor    = new Corredor("Juca", NivelDeHabilidade.MEDIANO);
            var kart        = new Kart(corredor);
            var equipNivel3 = new PneusDeCouroDeDragao();
            var equipNivel2 = new UltraPack(equipNivel3);
            var equipNivel1 = new UltraPack(equipNivel2);

            kart.Equipar(equipNivel1);

            Assert.AreEqual(1, kart.Equipamentos.Count);
            UltraPack ultrapackExterno = (UltraPack)kart.Equipamentos[0];
            UltraPack ultrapackInterno = (UltraPack)ultrapackExterno.EquipamentoInterno;

            Assert.AreEqual(equipNivel1, ultrapackExterno);
            Assert.AreEqual(equipNivel2, ultrapackInterno);
            Assert.AreEqual(equipNivel3, ultrapackInterno.EquipamentoInterno);
            Assert.AreEqual(4, ultrapackExterno.Bonus);
            Assert.AreEqual(12, kart.Velocidade);
        }
예제 #25
0
        public void SomarVelocidadeKartComCorredorMedianoECom5PneusDeCouroDeDragaoE2MotorABaseDeLava()
        {
            Corredor             corredor = new Corredor("Airton Senna", NivelHabilidade.Mediano);
            Kart                 kart     = new Kart(corredor);
            PneusDeCouroDeDragao pneu1    = new PneusDeCouroDeDragao();
            PneusDeCouroDeDragao pneu2    = new PneusDeCouroDeDragao();
            PneusDeCouroDeDragao pneu3    = new PneusDeCouroDeDragao();
            PneusDeCouroDeDragao pneu4    = new PneusDeCouroDeDragao();
            PneusDeCouroDeDragao pneu5    = new PneusDeCouroDeDragao();
            MotorABaseDeLava     motor1   = new MotorABaseDeLava();
            MotorABaseDeLava     motor2   = new MotorABaseDeLava();

            kart.Equipar(pneu1);
            kart.Equipar(pneu2);
            kart.Equipar(pneu3);
            kart.Equipar(pneu4);
            kart.Equipar(pneu5);
            kart.Equipar(motor1);
            kart.Equipar(motor2);

            Assert.AreEqual(24, kart.Velocidade);
        }