示例#1
0
        public void RunSplit_Completes()
        {
            var data = TestUtils.CreateBikeSplit();
            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.SPluginsBikeSplit_t();
                rec.OnRunSplit += (sender, args) =>
                {
                    msgReceived = true;
                    recData     = args.Data;
                };

                RunSplit(ptr, default(int));

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

                TestUtils.AssertAreEqual(recData, data);
            }
        }
示例#2
0
        public static GPBikes.SPluginsBikeSplit_t CreateBikeSplit()
        {
            var data = new GPBikes.SPluginsBikeSplit_t
            {
                Split     = 3,
                SplitTime = 66000,
                BestDiff  = 100
            };

            return(data);
        }
        public void OnRunSplit(GPBikes.SPluginsBikeSplit_t data)
        {
            var msg = ObjectToByteArray(data);

            SendMessage(msg);
        }
示例#4
0
 public static void AssertAreEqual(BikeSplit recData, GPBikes.SPluginsBikeSplit_t data)
 {
     Assert.AreEqual(recData.Split, data.Split);
     Assert.AreEqual(recData.SplitTime, data.SplitTime);
     Assert.AreEqual(recData.BestDiff, data.BestDiff);
 }