Esempio n. 1
0
 private void checkLight(float time)
 {
     if (stopLight != null)
     {
         Stoplight stopScript = (Stoplight)stopLight.GetComponent("Stoplight");
         if (stopScript.stop)
         {
             if (ProximityTester.proximityTest(stoplightProximityRange, this.transform.position, stopLight.transform.position))
             {
                 //car stops in place until light is go
                 if (!hasLogged)
                 {
                     Debug.Log("stop");
                 }
                 hasLogged = true;
             }
             else
             {
                 checkCarCollision(time);
             }
         }
         else
         {
             checkCarCollision(time);
         }
     }
     else
     {
         checkCarCollision(time);
     }
 }
Esempio n. 2
0
        public void ShouldTransitionGreenToYellow()
        {
            Stoplight light = new Stoplight();

            light.Next();

            Assert.AreEqual(Stoplight.Yellow, light.CurrentColor);
        }
Esempio n. 3
0
        public void ShouldTransitionYellowToRed()
        {
            Stoplight light = new Stoplight();

            light.Next();
            light.Next();

            Assert.AreEqual(Stoplight.Red, light.CurrentColor);
        }
Esempio n. 4
0
        public void ShouldTransitionRedToGreen()
        {
            Stoplight light = new Stoplight();

            light.Next();
            light.Next();
            light.Next();

            Assert.AreEqual(Stoplight.Green, light.CurrentColor);
        }
Esempio n. 5
0
        public void ShouldLogMessageOnChange()
        {
            Stoplight  light  = new Stoplight();
            MockLogger logger = new MockLogger();

            light.Logger = logger;

            light.Next();

            Assert.IsNotNull(logger.LastMessage);
            Assert.IsTrue(logger.LastMessage.StartsWith("LIGHT CHANGED TO"));
        }
        void ICommandRunner.Run(string[] args, Stoplight stoplight)
        {
            Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);

            _stoplight = stoplight ?? new Stoplight();

            //TODO: figure out how to load the service config before the service is running.
            //      CanStop and CanPauseAndContinue can only be set before the service starts
            //      but we can't get the current service until there's a process id.  ARG!!!!
            CanStop = true;

            Run(this);

            Log.Debug("Run(this) completed");
        }
        void ICommandRunner.Run(string[] args, Stoplight stoplight)
        {
            Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);

            _stoplight = stoplight ?? new Stoplight();

            //TODO: figure out how to load the service config before the service is running.
            //      CanStop and CanPauseAndContinue can only be set before the service starts
            //      but we can't get the current service until there's a process id.  ARG!!!!
            CanStop = true;

            Run(this);

            Log.Debug("Run(this) completed");
        }
Esempio n. 8
0
        public void ShouldRaiseChangedEventOnTransition()
        {
            bool            eventFired = false;
            StoplightColors newColor   = StoplightColors.Green;
            Stoplight       light      = new Stoplight();

            light.Changed += delegate(object sender, LightChangedEventArgs e)
            {
                eventFired = true;
                newColor   = e.CurrentColor;
            };

            light.Next();
            Assert.IsTrue(eventFired);
            Assert.AreEqual(Stoplight.Yellow, newColor);
        }
Esempio n. 9
0
        public void SetView(IStoplightView view)
        {
            this.view                = view;
            view.PropertyChanged    += OnViewPropertyChanged;
            view.UpdateClicked      += OnViewUpdateClicked;
            view.ForceChangeClicked += OnViewForceChangeClicked;

            Schedule.ChangeLight += delegate { Stoplight.Next(); };

            Stoplight.Changed += OnStoplightChanged;

            view.GreenDuration  = "3000";
            view.YellowDuration = "500";
            view.RedDuration    = "5000";
            view.CurrentColor   = Color.Green;

            Schedule.Update(TimeSpan.FromMilliseconds(3000),
                            TimeSpan.FromMilliseconds(500),
                            TimeSpan.FromMilliseconds(5000));
            Schedule.Start();
        }
Esempio n. 10
0
 public void OnScheduledLightChange(object sender, EventArgs e)
 {
     Stoplight.Next();
 }
Esempio n. 11
0
        //search through the queue to see if the light we want to put in the queue is already in the queue
        private bool SearchQueueForOneOrThree(Stoplight stoplight)
        {
            foreach (Stoplight oStoplight in qNextLightUp)
            {
                if (oStoplight == stoplight)
                    return true;              
            }

            return false;
        }
Esempio n. 12
0
        //puts light next on the queue if it isn't already in the queue
        private void EnqueueLight(Stoplight stoplight)
        {
            bool IsFoundInQueue;
            
            //if the queue is not empty
            if (qNextLightUp.Count != 0)
            {
                if (stoplight == LightTwo || stoplight == LightFour)               
                    //search through the queue to see if lights two or four are already in the queue
                    IsFoundInQueue = SearchQueueForTwoOrFour();
                else
                    //search through the queue to see if the light we want to put in the queue is already in the queue
                    IsFoundInQueue = SearchQueueForOneOrThree(stoplight);

                //if the light is not already in the queue, put the light in the queue
                if (IsFoundInQueue == false)
                    qNextLightUp.Enqueue(stoplight);
            }
            else   //if the queue is empty
                qNextLightUp.Enqueue(stoplight);
        }
Esempio n. 13
0
        public void ShouldInitializeToGreen()
        {
            Stoplight light = new Stoplight();

            Assert.AreEqual(Stoplight.Green, light.CurrentColor);
        }