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 void RunStop_Completes() { var msgReceived = false; using (var rec = new BikeDataReceiver(BroadcastPort)) { rec.OnRunStop += (sender, args) => { msgReceived = true; }; RunStop(); while (!msgReceived) { Thread.Sleep(100); } } }
public void Startup_ReturnsExpected() { var msgReceived = false; using (var rec = new BikeDataReceiver(BroadcastPort)) { rec.OnStartup += (sender, args) => { msgReceived = true; }; int retVal = Startup(Marshal.StringToHGlobalAnsi(@"dummy.txt")); Assert.AreEqual(3, retVal); while (!msgReceived) { Thread.Sleep(100); } } }
static void Main() { using (var rec = new BikeDataReceiver(Broadcast.Broadcaster.BroadcastPort)) { rec.OnStartup += (s, e) => System.Console.WriteLine("OnStartup"); rec.OnShutdown += (s, e) => System.Console.WriteLine("OnShutdown"); rec.OnEventInit += (s, e) => System.Console.WriteLine("OnEventInit"); rec.OnRunInit += (s, e) => System.Console.WriteLine("OnRunInit"); rec.OnRunDeinit += (s, e) => System.Console.WriteLine("OnRunDeinit"); rec.OnRunStart += (s, e) => System.Console.WriteLine("OnRunStart"); rec.OnRunStop += (s, e) => System.Console.WriteLine("OnRunStop"); rec.OnRunLap += (s, e) => System.Console.WriteLine("OnRunLap"); rec.OnRunSplit += (s, e) => System.Console.WriteLine("OnRunSplit"); rec.OnRunTelemetry += (s, e) => System.Console.WriteLine("OnRunTelemetry"); rec.OnTrackCenterline += (s, e) => System.Console.WriteLine("OnTrackCenterline"); System.Console.WriteLine(@"Listening for data on port " + Broadcast.Broadcaster.BroadcastPort); System.Console.WriteLine(); System.Console.WriteLine(@"Press any key to exit"); System.Console.ReadKey(); } }
public void TrackCenterline_Completes() { const int NumTrackSegs = 10; var data = new List <GPBikes.SPluginsTrackSegment_t>(NumTrackSegs); for (var i = 0; i < NumTrackSegs; i++) { var currData = TestUtils.CreateTrackSegment(); data.Add(currData); } var msgReceived = false; using (var rec = new BikeDataReceiver(BroadcastPort)) { var recData = new GPBikes.SPluginsTrackSegment_t[2]; rec.OnTrackCenterline += (sender, args) => { msgReceived = true; recData = args.Data; }; TrackCenterline(data.Count, data.ToArray(), IntPtr.Zero); while (!msgReceived) { Thread.Sleep(100); } for (var i = 0; i < NumTrackSegs; i++) { TestUtils.AssertAreEqual(recData[i], data[i]); } } }