Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
                }
            }
        }
Exemplo n.º 3
0
        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);
                }
            }
        }
Exemplo n.º 4
0
        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();
            }
        }
Exemplo n.º 5
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]);
                }
            }
        }