示例#1
0
 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]);
 }
示例#2
0
        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);
        }
示例#3
0
        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]);
                }
            }
        }