public void TestConnect()
        {
            ICanTrafficInterface canLoopback = new CanLoopback()
            {
                ReceivedCanPacketCallBack = ReceivedCanPacketCallBack
            };

            canLoopback.Connect();
            Assert.IsTrue(canLoopback.IsConnected());

            canLoopback.Disconnect();
            Assert.IsFalse(canLoopback.IsConnected());
        }
        public void TestReceived()
        {
            ICanTrafficInterface canLoopback = new CanLoopback()
            {
                ReceivedCanPacketCallBack = ReceivedCanPacketCallBack
            };

            canLoopback.Connect();
            Assert.IsTrue(canLoopback.IsConnected());

            receivedIt = false;

            CanPacket canPacket = new CanPacket(0x400);

            canLoopback.SendMessage(canPacket);

            Assert.IsTrue(receivedIt);

            canLoopback.Disconnect();
            Assert.IsFalse(canLoopback.IsConnected());
        }
        public void TestReceived()
        {
            ICanTrafficInterface canLoopback = new CanLoopback()
            {
                ReceivedCanPacketCallBack = ReceivedCanPacketCallBack
            };

            canLoopback.Connect();
            Assert.IsTrue(canLoopback.IsConnected());

            receivedIt = false;

            CanPacket canPacket = new CanPacket(TEST_CAN_ID);

            canLoopback.SendMessage(canPacket);

            // Wait half a second for it to receive the packet back as it requires the listener loop to receive and process it
            Thread.Sleep(500);

            Assert.IsTrue(receivedIt);

            canLoopback.Disconnect();
            Assert.IsFalse(canLoopback.IsConnected());
        }