示例#1
0
        public void ToStringTest()
        {
            IPart      part      = new ArsenalPart("Arsenal", 2, 2, 2);
            IAssembler assembler = new VehicleAssembler();

            assembler.AddArsenalPart(part);
            assembler.AddArsenalPart(part);
            assembler.AddEndurancePart(new EndurancePart("22", 22, 22, 22));
            assembler.AddShellPart(new ShellPart("ss", 22, 22, 22));

            IVehicle vehicle = new Revenger("Revenger", 22, 22, 22, 22, 22, assembler);

            string actual    = vehicle.ToString();
            string excpected = "Revenger - Revenger\r\nTotal Weight: 70.000\r\nTotal Price: 70.000\r\nAttack: 26\r\nDefense: 44\r\nHitPoints: 44\r\nParts: None";

            Assert.That(() => actual, Is.EqualTo(excpected));
        }
示例#2
0
        public void TestAddingMethods()
        {
            IPart      part      = new ArsenalPart("Arsenal", 2, 2, 2);
            IAssembler assembler = new VehicleAssembler();

            assembler.AddArsenalPart(part);
            assembler.AddArsenalPart(part);

            IVehicle vehicle = new Revenger("Revenger", 22, 22, 22, 22, 22, assembler);

            vehicle.AddArsenalPart(part);

            Assert.That(() => assembler.ArsenalParts.Count, Is.EqualTo(3));

            vehicle.AddEndurancePart(new EndurancePart("Endurance", 2, 2, 2));
            Assert.That(() => assembler.EnduranceParts.Count, Is.EqualTo(1));

            vehicle.AddShellPart(new ShellPart("Shell", 2, 2, 2));
            Assert.That(() => assembler.ShellParts.Count, Is.EqualTo(1));
        }
示例#3
0
        public void TestPartsCollection()
        {
            IPart      part      = new ArsenalPart("Arsenal", 2, 2, 2);
            IAssembler assembler = new VehicleAssembler();

            assembler.AddArsenalPart(part);
            assembler.AddArsenalPart(part);
            assembler.AddEndurancePart(new EndurancePart("22", 22, 22, 22));
            assembler.AddShellPart(new ShellPart("ss", 22, 22, 22));

            IVehicle vehicle = new Revenger("Revenger", 22, 22, 22, 22, 22, assembler);

            int count = 0;

            foreach (var item in vehicle.Parts)
            {
                count++;
            }

            Assert.That(() => count, Is.EqualTo(4));
        }
示例#4
0
        public void TotalAttackShouldReturnCorrectValue()
        {
            var        arsenalPart = new ArsenalPart("model", 10, 10, 100);
            IAssembler assembler   = new VehicleAssembler();

            assembler.AddArsenalPart(arsenalPart);

            IVehicle v = new Revenger("revenger", 10, 10, 10, 10, 10, assembler);

            var expectedVehicleTotal = v.Attack + assembler.TotalAttackModification;

            var actualVehicleTotal = v.TotalAttack;

            Assert.AreEqual(expectedVehicleTotal, actualVehicleTotal);
        }
示例#5
0
        public void TotalWeightShouldReturnCorrectValue()
        {
            var        arsenalPart = new ArsenalPart("model", 100, 10, 10);
            IAssembler assembler   = new VehicleAssembler();

            assembler.AddArsenalPart(arsenalPart);
            var assemblerTotalWeight = assembler.TotalWeight;

            IVehicle v = new Revenger("revenger", 10, 10, 10, 10, 10, assembler);

            var expectedVehicleTotalWeight = v.Weight + assemblerTotalWeight;

            var actualVehicleTotalWeigth = v.TotalWeight;

            Assert.AreEqual(expectedVehicleTotalWeight, actualVehicleTotalWeigth);
        }
示例#6
0
        public void TotalPriceShouldReturnCorrectValue()
        {
            var        arsenalPart = new ArsenalPart("model", 10, 110, 10);
            IAssembler assembler   = new VehicleAssembler();

            assembler.AddArsenalPart(arsenalPart);
            var assemblerTotalPrice = assembler.TotalPrice;

            IVehicle v = new Revenger("revenger", 10, 10, 10, 10, 10, assembler);

            var expectedVehicleTotalPrice = v.Price + assemblerTotalPrice;

            var actualVehicleTotalPrice = v.TotalPrice;

            Assert.AreEqual(expectedVehicleTotalPrice, actualVehicleTotalPrice);
        }
示例#7
0
        public void PartsPropertyShouldReturnCollectionWithAllTypesOfParts()
        {
            var        part1     = new EndurancePart("model", 10, 10, 10);
            var        part2     = new ShellPart("model", 10, 10, 10);
            var        part3     = new ArsenalPart("model", 10, 10, 10);
            IAssembler assembler = new VehicleAssembler();

            assembler.AddEndurancePart(part1);
            assembler.AddShellPart(part2);
            assembler.AddArsenalPart(part3);

            IVehicle v = new Revenger("revenger", 10, 10, 10, 10, 10, assembler);

            var expectedCount = 3;
            var actualCount   = v.Parts.Count();

            Assert.AreEqual(expectedCount, actualCount);
        }
        public void TotalHitpointsTest()
        {
            var type = typeof(BaseVehicle);
            //string model,double weight,decimal price, int attack,int defense,int hitPoints, IAssembler assembler
            string           model     = "testModel";
            double           weight    = 23;
            decimal          price     = 23m;
            int              attack    = 23;
            int              defense   = 23;
            int              hitPoints = 23;
            VehicleAssembler assembler = new VehicleAssembler();
            ArsenalPart      part      = new ArsenalPart(model, weight, price, attack);

            assembler.AddArsenalPart(part);
            var  revenger       = new Revenger(model, weight, price, attack, defense, hitPoints, assembler);
            int  expectedResult = 23;
            long actualResult   = revenger.TotalHitPoints;

            Assert.AreEqual(expectedResult, actualResult);
        }
示例#9
0
        public void TestTheTotalProps()
        {
            IAssembler assembler = new VehicleAssembler();

            assembler.AddArsenalPart(new ArsenalPart("Arsenal", 1, 1, 1));
            assembler.AddEndurancePart(new EndurancePart("Endurence", 2, 2, 2));
            assembler.AddShellPart(new ShellPart("Shell", 3, 3, 3));
            IVehicle revenger = new Revenger("Revenger", 4, 4, 4, 4, 4, assembler);
            IVehicle vanguard = new Vanguard("Vanguard", 4, 4, 4, 4, 4, assembler);


            Assert.That(() => revenger.TotalWeight, Is.EqualTo(10));
            Assert.That(() => revenger.TotalPrice, Is.EqualTo(10));
            Assert.That(() => revenger.TotalHitPoints, Is.EqualTo(6));
            Assert.That(() => revenger.TotalDefense, Is.EqualTo(7));
            Assert.That(() => revenger.TotalAttack, Is.EqualTo(5));

            Assert.That(() => vanguard.TotalWeight, Is.EqualTo(10));
            Assert.That(() => vanguard.TotalPrice, Is.EqualTo(10));
            Assert.That(() => vanguard.TotalHitPoints, Is.EqualTo(6));
            Assert.That(() => vanguard.TotalDefense, Is.EqualTo(7));
            Assert.That(() => vanguard.TotalAttack, Is.EqualTo(5));
        }