コード例 #1
0
        public void Ensure_Car_Is_Successfully_Added_To_Cache()
        {
            Dictionary <int, CarDetails> allCars = new Dictionary <int, CarDetails>();

            CarCoordinatesHandler testEngine = new CarCoordinatesHandler(_fakeMqttClient.Object, allCars);

            testEngine.Process(ExampleCarCoordinates);

            Assert.AreEqual(FirstCarAddedPayload, JsonConvert.SerializeObject(allCars[CarIndex]));
        }
コード例 #2
0
        public void Update_Rank()
        {
            CarDetails carDetails = JsonConvert.DeserializeObject <CarDetails>(ExamplePayload);
            Dictionary <int, CarDetails> allCars = new Dictionary <int, CarDetails> {
                { CarIndex, carDetails }
            };

            carDetails.Rank = PositionTwo;

            CarCoordinatesHandler testEngine = new CarCoordinatesHandler(_fakeMqttClient.Object, allCars);

            testEngine.Process(ExampleCarCoordinates);

            Assert.AreEqual(PositionTwo, allCars[CarIndex].PreviousRank);
            Assert.AreEqual(PositionOne, allCars[CarIndex].Rank);
        }
コード例 #3
0
        public void Ensure_Car_Is_Successfully_Updated()
        {
            CarDetails carDetails = JsonConvert.DeserializeObject <CarDetails>(ExamplePayload);
            Dictionary <int, CarDetails> allCars = new Dictionary <int, CarDetails> {
                { CarIndex, carDetails }
            };

            #region Fix data

            carDetails.CarLocationData       = carDetails.PreviousCarCoordinates;//Reset the Current Car Coordinates to previous one to simulate past
            carDetails.DistancedTraveled    -= 21.1232196676363;
            carDetails.AverageSpeedPerLap[1] = 205.47528685691001;

            #endregion

            CarCoordinatesHandler testEngine = new CarCoordinatesHandler(_fakeMqttClient.Object, allCars);

            testEngine.Process(ExampleCarCoordinates);

            Assert.AreEqual(ExampleCarCoordinates, allCars[CarIndex].CarLocationData.ToString());
        }
コード例 #4
0
        public void Update_Lap_Once_Passing_Finishing_Line()
        {
            CarDetails carDetails = JsonConvert.DeserializeObject <CarDetails>(ExamplePayload);
            Dictionary <int, CarDetails> allCars = new Dictionary <int, CarDetails> {
                { CarIndex, carDetails }
            };

            #region Fix data

            carDetails.CarLocationData       = carDetails.PreviousCarCoordinates;//Reset the Current Car Coordinates to previous one to simulate past
            carDetails.DistancedTraveled    -= 21.1232196676363;
            carDetails.AverageSpeedPerLap[1] = 205.47528685691001;
            carDetails.PreviousLapTime      -= 80000;

            #endregion

            CarCoordinatesHandler testEngine = new CarCoordinatesHandler(_fakeMqttClient.Object, allCars);

            testEngine.Process(ExampleCarCoordinates);

            Assert.AreEqual(FinishLapExamplePayload, JsonConvert.SerializeObject(allCars[CarIndex]));
        }
コード例 #5
0
 public MqttAdapter(CarCoordinatesHandler engine, MqttClient client)
 {
     _engine = engine;
     _client = client;
 }