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(); }
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()); }