public async Task When_AUniverseDiscoveryPacketISReceived_Then_TheEventIsTriggered()
        {
            var udpWrapper = Mock.Of <IUdpWrapper>();
            var server     = new TestSacnReceiver(udpWrapper);

            server.Listen(IPAddress.Any);
            UniverseDiscoveryPacket receivedPacket = null;

            server.OnUniverseDiscoveryPacketReceived += (object sender, UniverseDiscoveryPacket packet) =>
            {
                receivedPacket = packet;
            };

            byte[] CID        = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };
            string sourceName = "This is a good enough source name";
            byte   page       = 57;
            byte   lastPage   = 59;

            UInt16[] universes = Enumerable.Range(1200, 25)
                                 .Select(x => (UInt16)x)
                                 .ToArray();

            var buffer = UniverseDiscoveryPacketTests.GetUniverseDiscoveryPacket(CID, sourceName, page, lastPage, universes).ToArray();

            Mock.Get(udpWrapper).Raise(x => x.OnPacketReceived += null, null, new UdpReceiveResult(buffer, new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1234)));

            await Task.Delay(250);

            Assert.NotNull(receivedPacket);
        }
        public void When_TheServerIsDisposed_Then_TheUdpWrapperIsDisposed()
        {
            var udpWrapper = Mock.Of <IUdpWrapper>();
            var server     = new TestSacnReceiver(udpWrapper);

            server.Dispose();
            Mock.Get(udpWrapper)
            .Verify(x => x.Dispose());
        }
        public async Task When_ASynchronizationPacketIsReceived_Then_TheEventIsTriggered()
        {
            var udpWrapper = Mock.Of <IUdpWrapper>();
            var server     = new TestSacnReceiver(udpWrapper);

            server.Listen(IPAddress.Any);
            SynchronizationPacket receivedPacket = null;

            server.OnSynchronizationPacketReceived += (object sender, SynchronizationPacket packet) =>
            {
                receivedPacket = packet;
            };

            byte[] CID            = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };
            byte   sequenceNumber = 43;

            var buffer = SynchronizationPacketTests.GetSynchronizationPacket(CID, sequenceNumber).ToArray();

            Mock.Get(udpWrapper).Raise(x => x.OnPacketReceived += null, null, new UdpReceiveResult(buffer, new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1234)));

            await Task.Delay(250);

            Assert.NotNull(receivedPacket);
        }