public void PageViewPerformanceTelemetryDeepCloneWithNullExtensionDoesNotThrow() { var telemetry = new PageViewPerformanceTelemetry(); // Extension is not set, means it'll be null. // Validate that cloning with null Extension does not throw. var other = telemetry.DeepClone(); }
public void PageViewPerformanceTelemetryDeepCloneCopiesAllProperties() { var pageView = new PageViewPerformanceTelemetry("My Page"); pageView.Url = new Uri("http://temp.org/page1"); pageView.Duration = TimeSpan.FromSeconds(123); pageView.Metrics.Add("Metric1", 30); pageView.Properties.Add("Property1", "Value1"); pageView.Extension = new MyTestExtension(); PageViewPerformanceTelemetry other = (PageViewPerformanceTelemetry)pageView.DeepClone(); CompareLogic deepComparator = new CompareLogic(); var result = deepComparator.Compare(pageView, other); Assert.IsTrue(result.AreEqual, result.DifferencesString); }