public void OnSocketReceivedEvent_ReturnsInSequenceData_RaisesEvents()
        {
            // Arrange
            NavData.NavData navDataReceived = null;
            _target.NavDataReceived += (sender, args) => navDataReceived = args.NavData;

            var firstData = new NavData.NavData {
                Sequence = 1
            };
            var firstBytes = new byte[] { 1 };
            var firstDataReceivedEventArgs = new DataReceivedEventArgs(firstBytes);

            _mockNavDataFactory.Setup(x => x.Create(firstBytes)).Returns(firstData);

            var secondData = new NavData.NavData {
                Sequence = 2
            };
            var secondBytes = new byte[] { 2 };
            var secondDataReceivedEventArgs = new DataReceivedEventArgs(secondBytes);

            _mockNavDataFactory.Setup(x => x.Create(secondBytes)).Returns(secondData);

            _target.Run();

            // Act
            _mockUdpSocket.Raise(x => x.DataReceived += null, firstDataReceivedEventArgs);

            // Assert
            navDataReceived.Should().Be(firstData);

            // Act
            _mockUdpSocket.Raise(x => x.DataReceived += null, secondDataReceivedEventArgs);

            // Assert
            navDataReceived.Should().Be(secondData);
        }