public void Test_Reference_Class()
        {
            var payload = new
            {
                Name       = "some name",
                Value      = 123,
                Enum       = AnonymousTestEnum.SomeValue,
                AReference = new
                {
                    AnotherName  = "another name",
                    AnotherValue = 321
                }
            };

            var anonymousEvent = new AnonymousTelemetryEvent(payload);

            var result = anonymousEvent.ToStringDictionary();

            result[nameof(payload.Name)].Should().Be(payload.Name);
            result[nameof(payload.Value)].Should().Be(payload.Value.ToString());
            result[nameof(payload.Enum)].Should().Be(((int)payload.Enum).ToString());
            result.ContainsKey(nameof(payload.AReference)).Should().BeFalse();
            result[nameof(AnonymousTelemetryEvent.IsAnonymous)].Should().Be(true.ToString().ToLowerInvariant());
            result.ContainsKey(nameof(AnonymousTelemetryEvent.CallerMemberName)).Should().BeTrue();
            result.ContainsKey(nameof(AnonymousTelemetryEvent.CallerFilePath)).Should().BeTrue();
            result.ContainsKey(nameof(AnonymousTelemetryEvent.CallerLineNumber)).Should().BeTrue();
        }
Example #2
0
        public void Test_AnonymousPayload_IsPopulated()
        {
            const string caller = "just a caller!";

            var payload = new
            {
                AName  = "some name",
                AValue = 123
            };

            var tEvent = new AnonymousTelemetryEvent(payload)
            {
                CallerMemberName = caller
            };
            var now = DateTime.Now;

            var result = new ConvertEvent <AnonymousTelemetryEvent, EventTelemetry>(tEvent)
            {
                Now = () => now
            }.ToTelemetry();

            result.Should().NotBeNull();
            (result?.Name).Should().Be(tEvent.CallerMemberName);
            (result?.Timestamp).Should().Be(now);
            (result?.Properties[nameof(payload.AName)]).Should().Be(payload.AName);
            (result?.Properties[nameof(payload.AValue)]).Should().Be(payload.AValue.ToString());
        }