Пример #1
0
    public void Test_StartTime()
    {
        TimedTelemetryEvent.GetDateTimeUtcNow = () => Now;
        var tEvent = new TimedTelemetryEvent();

        tEvent.StartTime.Should().Be(Now);
    }
Пример #2
0
    public void Test_BeforeEnd()
    {
        var nowPlus10 = Now.AddMinutes(10); // freeze time 10 minutes later

        TimedTelemetryEvent.GetDateTimeUtcNow = () => Now;

        var tEvent = new TimedTelemetryEvent();

        TimedTelemetryEvent.GetDateTimeUtcNow = () => nowPlus10;

        tEvent.ProcessingTime.Should().Be(TimeSpan.FromMinutes(10));
    }
Пример #3
0
        public async Task Test_Publish_EndsTimedEvents()
        {
            var bbMock = new Mock <BigBrother> {
                CallBase = true
            };
            var tEvent = new TimedTelemetryEvent();

            await Task.Delay(TimeSpan.FromSeconds(2));

            bbMock.Object.Publish(tEvent);

            await Task.Delay(TimeSpan.FromSeconds(3));

            tEvent.ProcessingTime.Should().BeCloseTo(TimeSpan.FromSeconds(2), 1000); // can do a 1sec range here because we have a second 3 second delay
        }
Пример #4
0
    public void Test_EndTime_IsGuardedForMultipleCalls()
    {
        var nowPlus10 = Now.AddMinutes(10); // freeze time 10 minutes later

        TimedTelemetryEvent.GetDateTimeUtcNow = () => Now;

        var tEvent = new TimedTelemetryEvent();

        tEvent.End();

        TimedTelemetryEvent.GetDateTimeUtcNow = () => nowPlus10;

        tEvent.End();
        tEvent.EndTime.Should().Be(Now);
    }
Пример #5
0
        public void Test_With_TimedEvent(bool isInternal)
        {
            var telemetry = new TimedTelemetryEvent();

            var bbMock = new Mock <BigBrother> {
                CallBase = true
            };

            bbMock.Setup(x => x.TrackEvent(It.IsAny <EventTelemetry>(), isInternal)).Verifiable();

            if (isInternal)
            {
                bbMock.Object.HandleInternalEvent(telemetry);
            }
            else
            {
                bbMock.Object.HandleAiEvent(telemetry);
            }

            bbMock.Verify();
        }