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])); }
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); }
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()); }
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])); }
/// <summary> /// This subsribes to the events published by the Mqtt Broker and handles them /// </summary> /// <param name="sender"></param> /// <param name="mqttMsgPublishEventArgs"></param> private void Client_MqttMsgPublishReceived(object sender, MqttMsgPublishEventArgs mqttMsgPublishEventArgs) { _engine.Process(Encoding.Default.GetString(mqttMsgPublishEventArgs.Message)); }