public void RunSplit_Completes() { var data = TestUtils.CreateBikeSplit(); 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.SPluginsBikeSplit_t(); rec.OnRunSplit += (sender, args) => { msgReceived = true; recData = args.Data; }; RunSplit(ptr, default(int)); while (!msgReceived) { Thread.Sleep(100); } TestUtils.AssertAreEqual(recData, data); } }
public static GPBikes.SPluginsBikeSplit_t CreateBikeSplit() { var data = new GPBikes.SPluginsBikeSplit_t { Split = 3, SplitTime = 66000, BestDiff = 100 }; return(data); }
public void OnRunSplit(GPBikes.SPluginsBikeSplit_t data) { var msg = ObjectToByteArray(data); SendMessage(msg); }
public static void AssertAreEqual(BikeSplit recData, GPBikes.SPluginsBikeSplit_t data) { Assert.AreEqual(recData.Split, data.Split); Assert.AreEqual(recData.SplitTime, data.SplitTime); Assert.AreEqual(recData.BestDiff, data.BestDiff); }