| File: Latency\LatencyDataTests.cs | |
| Project: ..\..\..\test\Libraries\Microsoft.Extensions.Telemetry.Abstractions.Tests\Microsoft.Extensions.Telemetry.Abstractions.Tests.csproj (Microsoft.Extensions.Telemetry.Abstractions.Tests) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System; using Xunit; namespace Microsoft.Extensions.Diagnostics.Latency.Test; public class LatencyDataTests { [Fact] public void LatencyData_DefaultTest() { var ld = default(LatencyData); Assert.True(ld.Checkpoints.Length == 0); Assert.True(ld.Measures.Length == 0); Assert.True(ld.Tags.Length == 0); } [Fact] public void LatencyData_BasicTest() { int num = 5; ArraySegment<Checkpoint> checkpoints = new ArraySegment<Checkpoint>(LatencyDataTests.GetCheckpoints(num)); ArraySegment<Measure> measures = new ArraySegment<Measure>(GetMeasures(num)); ArraySegment<Tag> tags = new ArraySegment<Tag>(GetTags(num)); var ld = new LatencyData(tags, checkpoints, measures, default, default); Assert.True(ld.Checkpoints.Length == num); Assert.True(ld.Measures.Length == num); Assert.True(ld.Tags.Length == num); } [Fact] public void LatencyData_SegmentTest() { int num = 6; int numCheckpoints = 3; int numMeasures = 1; int numTags = 2; ArraySegment<Checkpoint> checkpoints = new ArraySegment<Checkpoint>(LatencyDataTests.GetCheckpoints(num), 1, numCheckpoints); ArraySegment<Measure> measures = new ArraySegment<Measure>(GetMeasures(num), 2, numMeasures); ArraySegment<Tag> tags = new ArraySegment<Tag>(GetTags(num), 3, numTags); var ld = new LatencyData(tags, checkpoints, measures, default, default); Assert.True(ld.Checkpoints.Length == numCheckpoints); Assert.True(ld.Measures.Length == numMeasures); Assert.True(ld.Tags.Length == numTags); } private static Checkpoint[] GetCheckpoints(int length) { Checkpoint[] checkpoints = new Checkpoint[length]; for (int i = 0; i < checkpoints.Length; i++) { checkpoints[i] = new Checkpoint("c" + i, default, default); } return checkpoints; } private static Measure[] GetMeasures(int length) { Measure[] measures = new Measure[length]; for (int i = 0; i < measures.Length; i++) { measures[i] = new Measure("m" + i, i); } return measures; } private static Tag[] GetTags(int length) { Tag[] tags = new Tag[length]; for (int i = 0; i < tags.Length; i++) { tags[i] = new Tag("tk" + i, "tv" + i); } return tags; } }