public void TestSendStatusIsIdle()
        {
            SetupSendPeriodic( );

            DataSendingEventArgs EventData = new DataSendingEventArgs();

            TestPeriodicSender.EDataSendingStatus += (sender, e) => EventData = e;

            Assert.That(EventData.Status, Is.EqualTo(SendingStatus.eIdle));
        }
        public void TestSendStatusIsStarted()
        {
            SetupSendPeriodic( );

            DataSendingEventArgs EventData = new DataSendingEventArgs();

            TestPeriodicSender.EDataSendingStatus += (sender, e) => EventData = e;

            TestPeriodicSender.SendMessage(UdpSendTestParameters.TestStringToSend, UdpSendTestParameters.TestNumberOfCounts);

            Assert.That(EventData.Status, Is.EqualTo(SendingStatus.eStarted));
            Assert.AreEqual(1, EventData.ActualCounts);
        }
        public void TestPeriodicSendingStatusIsPulsing()
        {
            SetupSendPeriodic( );

            DataSendingEventArgs EventData = new DataSendingEventArgs();

            TestPeriodicSender.EDataSendingStatus += (sender, e) => EventData = e;
            TestPeriodicSender.ActualCounts        = UdpSendTestParameters.ActualCountsFakeValue;

            TestPeriodicSender.SendMessage(UdpSendTestParameters.TestStringToSend, UdpSendTestParameters.TestNumberOfCounts);

            for (int idx = 0; idx < UdpSendTestParameters.TestNumberOfCounts - 1; idx++)
            {
                MockTestTimerPeriodic.Raise((obj) => obj.Elapsed += null, new EventArgs() as ElapsedEventArgs);
            }

            Assert.That(EventData.Status, Is.EqualTo(SendingStatus.ePulsingCounted));
        }
        public void TestPeriodicSendingEndlessWithMetaData_Index()
        {
            CleanupMessageForTesting( );

            SetupSendPeriodic( );

            DataSendingEventArgs EventData = new DataSendingEventArgs( );

            TestPeriodicSender.EDataSendingStatus += (sender, e) => EventData = e;
            TestPeriodicSender.ActualCounts        = UdpSendTestParameters.ActualCountsFakeValue;

            TestPeriodicSender.SendPeriodicMessageWithHeader(UdpSendTestParameters.TestStringToSend);

            for (int idx = 2; idx < UdpSendTestParameters.TestNumberOfCounts - 1; idx++)
            {
                MockTestTimerPeriodic.Raise((obj) => obj.Elapsed += null, new EventArgs( ) as ElapsedEventArgs);
                PrepareMessageForTesting( );
                Assert.AreEqual(idx, AppendedIndex);
            }
        }
        public void TestPeriodicSendingEndless_Stop()
        {
            SetupSendPeriodic( );

            DataSendingEventArgs EventData = new DataSendingEventArgs();

            TestPeriodicSender.EDataSendingStatus += (sender, e) => EventData = e;
            TestPeriodicSender.ActualCounts        = UdpSendTestParameters.ActualCountsFakeValue;

            TestPeriodicSender.SendPeriodicMessage(UdpSendTestParameters.TestStringToSend);

            for (int idx = 0; idx < UdpSendTestParameters.TestNumberOfCounts - 1; idx++)
            {
                MockTestTimerPeriodic.Raise((obj) => obj.Elapsed += null, new EventArgs() as ElapsedEventArgs);
            }

            TestPeriodicSender.StopSendPeriodicMessage();

            Assert.That(EventData.Status, Is.EqualTo(SendingStatus.eIdle));
            Assert.AreEqual(SendingCommand.eStop, TestPeriodicSender.Command);
        }