public void EventInit_Completes() { var data = TestUtils.CreateBikeEvent(); var ptr = Marshal.AllocHGlobal(Marshal.SizeOf(data)); Marshal.StructureToPtr(data, ptr, true); var msgReceived = false; using (var rec = new BikeDataReceiver(BroadcastPort)) { var recData = new GPBikes.SPluginsBikeEvent_t(); rec.OnEventInit += (sender, args) => { msgReceived = true; recData = args.Data; }; EventInit(ptr, default(int)); while (!msgReceived) { Thread.Sleep(100); } TestUtils.AssertAreEqual(recData, data); } }
public static void AssertAreEqual(BikeEvent recData, GPBikes.SPluginsBikeEvent_t data) { Assert.AreEqual(recData.RiderName, data.RiderName); Assert.AreEqual(recData.BikeID, data.BikeID); Assert.AreEqual(recData.BikeName, data.BikeName); Assert.AreEqual(recData.NumberOfGears, data.NumberOfGears); Assert.AreEqual(recData.MaxRPM, data.MaxRPM); Assert.AreEqual(recData.Limiter, data.Limiter); Assert.AreEqual(recData.ShiftRPM, data.ShiftRPM); Assert.AreEqual(recData.EngineOptTemperature, data.EngineOptTemperature); Assert.AreEqual(recData.EngineTemperatureAlarmLower, data.EngineTemperatureAlarm[0]); Assert.AreEqual(recData.EngineTemperatureAlarmUpper, data.EngineTemperatureAlarm[1]); Assert.AreEqual(recData.MaxFuel, data.MaxFuel); Assert.AreEqual(recData.Category, data.Category); Assert.AreEqual(recData.TrackID, data.TrackID); Assert.AreEqual(recData.TrackName, data.TrackName); Assert.AreEqual(recData.TrackLength, data.TrackLength); }
public static GPBikes.SPluginsBikeEvent_t CreateBikeEvent() { var data = new GPBikes.SPluginsBikeEvent_t { RiderName = "trevorde", BikeID = "VFR 400", BikeName = "Ellie", NumberOfGears = 6, MaxRPM = 14500, Limiter = 15500, ShiftRPM = 14500, EngineOptTemperature = 85, EngineTemperatureAlarm = new float[2], MaxFuel = 14, Category = "Super Sports", TrackID = "20060220", TrackName = "Wanneroo", TrackLength = 2160 }; data.EngineTemperatureAlarm[0] = 50; data.EngineTemperatureAlarm[1] = 95; return(data); }
public void OnEventInit(GPBikes.SPluginsBikeEvent_t data) { var msg = ObjectToByteArray(data); SendMessage(msg); }