public void RecordIfRequired(IHasResponseTime response)
 {
     if (StatsBinHolder.Recording)
     {
         StatsBinHolder.Add(response);
     }
 }
Exemplo n.º 2
0
        protected override void ProcessRecord()
        {
            StatsBinHolder.StartRecording(SessionName);

            WriteInformation(new InformationRecord(StatsBinHolder.ActiveBin,
                                                   "Recording started"));
        }
Exemplo n.º 3
0
        protected override void ProcessRecord()
        {
            StatsBinHolder.StopRecording();

            WriteInformation(new InformationRecord(null,
                                                   "Recording Stopped"));
        }
Exemplo n.º 4
0
        public void IncrementsDuplicateNonNullSessionName()
        {
            var testStart          = DateTime.Now;
            var name               = "TestName";
            var expectedSecondName = "TestName_1";

            Thread.Sleep(50);

            StatsBinHolder.StartRecording(name);
            StatsBinHolder.Add(_response);
            Thread.Sleep(50);
            StatsBinHolder.StopRecording();
            Thread.Sleep(50);
            StatsBinHolder.StartRecording(name);
            StatsBinHolder.Add(_response);
            Thread.Sleep(50);
            StatsBinHolder.StopRecording();

            var firstBin  = StatsBinHolder.Bins.FirstOrDefault(b => b.SessionName == name);
            var secondBin = StatsBinHolder.Bins.FirstOrDefault(b => b.SessionName == expectedSecondName);

            StatsBinHolder.Recording.Should().BeFalse();
            firstBin.Should().NotBeNull();
            firstBin.RecordingStarted.Should().BeAfter(testStart);
            firstBin.RecordingFinished.Should().HaveValue();
            firstBin.RecordingFinished.Value.Should().BeAfter(firstBin.RecordingStarted);
            firstBin.Responses.Should().Contain(_response);
            secondBin.Should().NotBeNull();
            secondBin.RecordingStarted.Should().BeAfter(firstBin.RecordingFinished.Value);
            secondBin.RecordingFinished.Should().HaveValue();
            secondBin.RecordingFinished.Should().BeAfter(secondBin.RecordingStarted);
            secondBin.Responses.Should().Contain(_response);

            CleanUpHolder();
        }
Exemplo n.º 5
0
        public void CreatesBinWithNoNameAndAllowsNewAdditions()
        {
            var testStart = DateTime.Now;

            Thread.Sleep(50);

            StatsBinHolder.StartRecording(null);
            StatsBinHolder.Add(_response);

            StatsBinHolder.Recording.Should().BeTrue();
            StatsBinHolder.Bins.FirstOrDefault().Should().NotBeNull();
            StatsBinHolder.Bins.FirstOrDefault()
            .RecordingStarted
            .Should()
            .BeAfter(testStart);
            StatsBinHolder.Bins.FirstOrDefault()
            .Responses
            .Contains(_response)
            .Should().BeTrue();
            CleanUpHolder();
        }
Exemplo n.º 6
0
        public void CreatesBinWithNameAndPersistsAfterRecordingStops()
        {
            var testStart = DateTime.Now;
            var name      = "TestName";

            Thread.Sleep(50);

            StatsBinHolder.StartRecording(name);
            StatsBinHolder.Add(_response);
            Thread.Sleep(50);
            StatsBinHolder.StopRecording();

            StatsBinHolder.Recording.Should().BeFalse();
            var bin = StatsBinHolder.Bins.FirstOrDefault(b => b.SessionName == name);

            bin.Should().NotBeNull();
            bin.RecordingStarted.Should().BeAfter(testStart);
            bin.RecordingFinished.Should().HaveValue();
            bin.RecordingFinished.Should().BeAfter(bin.RecordingStarted);
            bin.Responses.Should().Contain(_response);

            CleanUpHolder();
        }
Exemplo n.º 7
0
 protected override void ProcessRecord()
 {
     StatsBinHolder.FlushAll();
 }
Exemplo n.º 8
0
 private void CleanUpHolder()
 {
     StatsBinHolder.FlushAll();
 }