예제 #1
0
        public void WorkerDronePicksUpRobotPart()
        {
            RobotPart   robotPart   = new MockedRobotPart(RobotPartCategory.Assembly);
            WorkerDrone workerDrone = new MockedWorkerDrone();

            workerDrone.PickUpRobotPart(robotPart);
            Assert.AreEqual(1, workerDrone.GetRobotPartCount());
        }
        public void WorkerDroneIdentifiesRobotPart()
        {
            var robotPart   = new MockedRobotPart(RobotPartCategory.Assembly);
            var workerDrone = new MockedWorkerDrone();

            workerDrone.IdentifyRobotPart(robotPart);
            Assert.IsInstanceOf <AssemblyRoomTransportMechanism>(workerDrone.TransportMechanism);

            robotPart = new MockedRobotPart(RobotPartCategory.Weapon);

            workerDrone.IdentifyRobotPart(robotPart);
            Assert.IsInstanceOf <ArmouryTransportMechanism>(workerDrone.TransportMechanism);
        }
예제 #3
0
        public void WorkerDroneIdentifiesRobotPart()
        {
            RobotPart robotPart   = new MockedAssembly();
            var       workerDrone = new MockedWorkerDrone();

            var transportMechanism = workerDrone.IdentifyRobotPart(robotPart);

            Assert.IsInstanceOf <AssemblyRoomTransportMechanism>(transportMechanism);

            robotPart = new MockedWeapon();

            transportMechanism = workerDrone.IdentifyRobotPart(robotPart);
            Assert.IsInstanceOf <ArmouryTransportMechanism>(transportMechanism);
        }
예제 #4
0
        public void WorkerDroneOffLoadsRobotParts()
        {
            WorkerDrone workerDrone = new MockedWorkerDrone();
            RobotPart   robotPart   = new MockedAssembly();

            workerDrone.PickUpRobotPart(robotPart);
            workerDrone.TransportRobotParts();

            Assert.AreEqual(1, workerDrone.GetRobotPartCount());
            robotPart = new MockedWeapon();

            workerDrone.PickUpRobotPart(robotPart);
            workerDrone.TransportRobotParts();

            Assert.AreEqual(1, workerDrone.GetRobotPartCount());
        }
예제 #5
0
        public void WorkerDroneReturnsToDeliveryBayAfterDeliveringRobotParts()
        {
            WorkerDrone workerDrone = new MockedWorkerDrone();

            var randomAssembly = new MockedAssembly();
            var randomWeapon   = new MockedWeapon();

            workerDrone.PickUpRobotPart(randomAssembly);
            workerDrone.PickUpRobotPart(randomWeapon);

            workerDrone.TransportRobotParts();
            Assert.True(workerDrone.GetTransportationMechanisms().Any());

            var transportMechanism = workerDrone.GetTransportationMechanisms().First();

            Assert.IsInstanceOf <DeliveryBayTransportMechanism>(transportMechanism);
        }
예제 #6
0
        public void WorkerDroneOffLoadsRobotParts()
        {
            WorkerDrone workerDrone = new MockedWorkerDrone();
            RobotPart   robotPart   = new MockedRobotPart(RobotPartCategory.Assembly);

            workerDrone.PickUpRobotPart(robotPart);
            var factoryRoom = workerDrone.TransportRobotParts();

            Assert.AreEqual(0, workerDrone.GetRobotPartCount());
            Assert.AreEqual(1, factoryRoom.GetRobotPartCount());
            Assert.IsInstanceOf <AssemblyRoom>(factoryRoom);

            robotPart = new MockedRobotPart(RobotPartCategory.Weapon);

            workerDrone.PickUpRobotPart(robotPart);
            factoryRoom = workerDrone.TransportRobotParts();

            Assert.AreEqual(0, workerDrone.GetRobotPartCount());
            Assert.AreEqual(1, factoryRoom.GetRobotPartCount());
            Assert.IsInstanceOf <Armoury>(factoryRoom);
        }