public DirectionAnimation WithActuator(LogicalBinaryStateActuator actuator)
        {
            if (actuator == null)
            {
                throw new ArgumentNullException(nameof(actuator));
            }

            _actuator = actuator;
            return(this);
        }
Ejemplo n.º 2
0
        public LogicalBinaryStateActuator RegisterLogicalActuator(IArea area, Enum id)
        {
            if (area == null)
            {
                throw new ArgumentNullException(nameof(area));
            }

            var actuator = new LogicalBinaryStateActuator(ComponentIdGenerator.Generate(area.Id, id), _timerService);

            area.AddComponent(actuator);

            return(actuator);
        }
Ejemplo n.º 3
0
        public void TurnOn_CombinedActuators()
        {
            var timer = new TestTimerService();

            var stateMachineFactory = new TestStateMachineFactory();
            var testActuator1       = stateMachineFactory.CreateTestStateMachineWithOnOffStates();
            var testActuator2       = stateMachineFactory.CreateTestStateMachineWithOnOffStates();
            var testActuator3       = stateMachineFactory.CreateTestStateMachineWithOnOffStates();

            var logicalActautor = new LogicalBinaryStateActuator(ComponentIdGenerator.EmptyId, timer);

            logicalActautor.WithActuator(testActuator1);
            logicalActautor.WithActuator(testActuator2);
            logicalActautor.WithActuator(testActuator3);

            logicalActautor.GetState().Equals(BinaryStateId.Off).ShouldBeEquivalentTo(true);

            logicalActautor.SetState(BinaryStateId.On);
            logicalActautor.GetState().Equals(BinaryStateId.On).ShouldBeEquivalentTo(true);

            logicalActautor.SetState(BinaryStateId.Off);
            logicalActautor.GetState().Equals(BinaryStateId.Off).ShouldBeEquivalentTo(true);
        }