public void RunTelemetry_Completes() { var data = TestUtils.CreateBikeData(); 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.SPluginsBikeDataEx_t(); rec.OnRunTelemetry += (sender, args) => { msgReceived = true; recData = args.Data; }; RunTelemetry(ptr, default(int), default(float), default(float)); while (!msgReceived) { Thread.Sleep(100); } TestUtils.AssertAreEqual(recData.BikeData, data); } }
public static GPBikes.SPluginsBikeDataEx_t CreateBikeDataEx() { var data = new GPBikes.SPluginsBikeDataEx_t { TrackTime = 1.57f, TrackPosition = 0.657f, BikeData = CreateBikeData() }; return(data); }
public void OnRunTelemetry(GPBikes.SPluginsBikeDataEx_t data) { var msg = ObjectToByteArray(data); SendMessage(msg); }
public static void AssertAreEqual(BikeData recData, GPBikes.SPluginsBikeDataEx_t data) { Assert.AreEqual(recData.TrackTime, data.TrackTime); Assert.AreEqual(recData.TrackPosition, data.TrackPosition); AssertAreEqual(recData, data.BikeData); }