예제 #1
0
        public void UnpackTest_CyborgAlwaysGetsHit10_CyborgBatteryChargeMustBe70()
        {
            // Arrange
            RobotCyborg rc = new RobotCyborg();

            rc.BatteryCharge = 80;
            var cargoMock = new Mock <Cargo>();
            int expected  = 70;

            // Act
            DecoratorToxic dt = new DecoratorToxic(cargoMock.Object);

            dt.Weight = 10;
            dt.Unpack(rc);
            int result = rc.BatteryCharge;

            // Assert
            Assert.AreEqual(expected, result);
        }
예제 #2
0
        public void CreateCargos()
        {
            //Cargos.Clear();
            //for (int i = 0; i < 3; i++)
            //{
            Cargo cargo = new CommonCargo();

            Random random = new Random(Guid.NewGuid().GetHashCode());
            int    chance = random.Next(1, 11);

            if (chance <= 2)
            {
                cargo = new DecoratorToxic(cargo);
            }
            else if (chance > 2 && chance <= 4)
            {
                cargo = new DecoratorEncoded(cargo);
            }
            Cargos.Add(cargo);
            //}
        }