public void RunLap_Completes() { var data = TestUtils.CreateBikeLap(); 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.SPluginsBikeLap_t(); rec.OnRunLap += (sender, args) => { msgReceived = true; recData = args.Data; }; RunLap(ptr, default(int)); while (!msgReceived) { Thread.Sleep(100); } TestUtils.AssertAreEqual(recData, data); } }
public static GPBikes.SPluginsBikeLap_t CreateBikeLap() { var data = new GPBikes.SPluginsBikeLap_t { LapTime = 66000, Best = 1, LapNum = 6 }; return(data); }
public void OnRunLap(GPBikes.SPluginsBikeLap_t data) { var msg = ObjectToByteArray(data); SendMessage(msg); }
public static void AssertAreEqual(BikeLap recData, GPBikes.SPluginsBikeLap_t data) { Assert.AreEqual(recData.LapTime, data.LapTime); Assert.AreEqual(recData.Best, data.Best); Assert.AreEqual(recData.LapNum, data.LapNum); }