public static void AssertAreEqual(TrackSegment recData, GPBikes.SPluginsTrackSegment_t data) { Assert.AreEqual(recData.Type, data.Type); Assert.AreEqual(recData.Length, data.Length); Assert.AreEqual(recData.Radius, data.Radius); Assert.AreEqual(recData.Angle, data.Angle); Assert.AreEqual(recData.Start1, data.Start[0]); Assert.AreEqual(recData.Start2, data.Start[1]); }
public static GPBikes.SPluginsTrackSegment_t CreateTrackSegment() { var rand = new Random(); var data = new GPBikes.SPluginsTrackSegment_t { Start = new[] { (float)rand.NextDouble() * 10f, (float)rand.NextDouble() * 10f }, Angle = (float)rand.NextDouble() * 360f, Length = (float)rand.NextDouble() * 500f, Radius = (float)rand.NextDouble() * 100f, Type = rand.Next(5) }; return(data); }
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]); } } }