public void TraceTelemetryDeepCloneWithNullExtensionDoesNotThrow()
 {
     var trace = new TraceTelemetry();
     // Extension is not set, means it'll be null.
     // Validate that cloning with null Extension does not throw.
     var other = trace.DeepClone();
 }
        public void TraceTelemetryDeepCloneCopiesAllProperties()
        {
            var trace = new TraceTelemetry();

            trace.Message = "My Test";
            trace.Properties.Add("Property2", "Value2");
            trace.SeverityLevel = SeverityLevel.Warning;
            trace.Sequence      = "123456";
            trace.Timestamp     = DateTimeOffset.Now;
            var other = trace.DeepClone();

            var deepComparator = new CompareLogic();
            var result         = deepComparator.Compare(trace, other);

            Assert.IsTrue(result.AreEqual, result.DifferencesString);
        }