示例#1
0
        public void TestTimeMs()
        {
            var timing = new ServerTiming();

            timing.Stopwatch.Stop();
            Assert.AreEqual(timing.Stopwatch.ElapsedMilliseconds, timing.TimeMs);
        }
示例#2
0
        public void MetricsAreAddedToCollection(AddMetricTestCase testCase)
        {
            var serverTiming = new ServerTiming();

            testCase.AddMetric(serverTiming, MetricName);
            serverTiming.GetMetrics().Should().ContainSingle(m => m.Name == MetricName);
        }
示例#3
0
        public void CanCreateMetricWithDuplicateName(AddMetricTestCase testCase)
        {
            var serverTiming = new ServerTiming();

            serverTiming.Marker(MetricName);
            Action add = () => testCase.AddMetric(serverTiming, MetricName);

            add.Should().NotThrow();
        }
示例#4
0
        public void CannotCreateMetricWithWhitespaceName(AddMetricTestCase testCase)
        {
            var serverTiming = new ServerTiming();

            serverTiming.Marker(MetricName);
            Action add = () => testCase.AddMetric(serverTiming, " ");

            add.Should().Throw <ArgumentException>()
            .Which.ParamName.Should().Be("name");
        }
示例#5
0
文件: Factory.cs 项目: alexmg/Timingz
        internal static IServerTiming CreateServerTiming(int customTimingCount = 10)
        {
            var serverTiming = new ServerTiming();

            for (var i = 0; i < customTimingCount; i++)
            {
                serverTiming.Precalculated($"metric{i:D2}", 123.123, $"This is a description {i:D2}");
            }

            return(serverTiming);
        }
示例#6
0
        public void GetMetricsReturnsAllMetrics()
        {
            var serverTiming = new ServerTiming();

            for (var i = 0; i < 5; i++)
            {
                serverTiming.Marker($"{MetricName}-{i}");
            }

            serverTiming.GetMetrics().Should().HaveCount(5)
            .And.OnlyContain(m => m.Name.StartsWith(MetricName));
        }
示例#7
0
        public void TestRealTimeMs()
        {
            var timing    = new ServerTiming();
            var stopwatch = new Stopwatch();

            stopwatch.Start();
            var expected = (long)DateTime.UtcNow.AsUnixTimeSpan().TotalMilliseconds;
            var actual   = timing.RealTimeMs;

            stopwatch.Stop();

            var errorDelta = (long)Math.Ceiling(stopwatch.Elapsed.TotalMilliseconds);

            Assert.IsTrue(
                Math.Abs(expected - actual) <= errorDelta,
                $"Expected difference to be less than {errorDelta}ms but was {Math.Abs(expected - actual)}ms."
                );
        }
示例#8
0
        public void TestStopwatchNotNull()
        {
            var timing = new ServerTiming();

            Assert.IsNotNull(timing.Stopwatch);
        }
示例#9
0
        public void Precalculated()
        {
            var serverTiming = new ServerTiming();

            serverTiming.Precalculated(MetricName, 1.2);
        }
示例#10
0
        public void Marker()
        {
            var serverTiming = new ServerTiming();

            serverTiming.Marker(MetricName);
        }
示例#11
0
        public IDisposable Disposable()
        {
            var serverTiming = new ServerTiming();

            return(serverTiming.Disposable(MetricName));
        }
示例#12
0
        public IManualMetric Manual()
        {
            var serverTiming = new ServerTiming();

            return(serverTiming.Manual(MetricName));
        }