AK.F1.Timing.Playback.RecordingIntegrationTest.messages_are_played_back_in_real_time C# (CSharp) Method

messages_are_played_back_in_real_time() private method

private messages_are_played_back_in_real_time ( ) : void
return void
        public void messages_are_played_back_in_real_time()
        {
            Stopwatch sw = new Stopwatch();
            TimeSpan delay = TimeSpan.FromMilliseconds(15);
            TimeSpan delayLow = TimeSpan.FromMilliseconds(14);
            TimeSpan delayHigh = TimeSpan.FromMilliseconds(16);
            Stream stream = RecordMessages(delay, CreateMessages());

            using(var reader = new RecordedMessageReader(stream, true))
            {
                while(reader.Read() != null)
                {
                    // This isn't great, the delay between the first message isn't written.
                    if(sw.IsRunning)
                    {
                        Assert.InRange(sw.Elapsed, delayLow, delayHigh);
                        sw.Reset();
                    }
                    sw.Start();
                }
            }
        }