Пример #1
0
        public void RunLap_Completes()
        {
            var data = TestUtils.CreateBikeLap();
            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.SPluginsBikeLap_t();
                rec.OnRunLap += (sender, args) =>
                {
                    msgReceived = true;
                    recData     = args.Data;
                };

                RunLap(ptr, default(int));

                while (!msgReceived)
                {
                    Thread.Sleep(100);
                }

                TestUtils.AssertAreEqual(recData, data);
            }
        }
Пример #2
0
        public static GPBikes.SPluginsBikeLap_t CreateBikeLap()
        {
            var data = new GPBikes.SPluginsBikeLap_t
            {
                LapTime = 66000,
                Best    = 1,
                LapNum  = 6
            };

            return(data);
        }
Пример #3
0
        public void OnRunLap(GPBikes.SPluginsBikeLap_t data)
        {
            var msg = ObjectToByteArray(data);

            SendMessage(msg);
        }
Пример #4
0
 public static void AssertAreEqual(BikeLap recData, GPBikes.SPluginsBikeLap_t data)
 {
     Assert.AreEqual(recData.LapTime, data.LapTime);
     Assert.AreEqual(recData.Best, data.Best);
     Assert.AreEqual(recData.LapNum, data.LapNum);
 }