1 // -----------------------------------------------------------------------
\r
2 // Copyright (c) Microsoft Corporation. All rights reserved.
\r
3 // -----------------------------------------------------------------------
\r
5 using System.Collections.Generic;
\r
6 using System.ComponentModel.Composition;
\r
7 using System.ComponentModel.Composition.Factories;
\r
8 using System.ComponentModel.Composition.Primitives;
\r
9 using System.UnitTesting;
\r
10 using Microsoft.VisualStudio.TestTools.UnitTesting;
\r
12 namespace System.ComponentModel.Composition.Hosting
\r
15 public class CompositionElementDebuggerProxyTests
\r
18 public void Constructor_NullAsElementArgument_ShouldThrowArgumentNull()
\r
20 ExceptionAssert.ThrowsArgument<ArgumentNullException>("element", () =>
\r
22 new CompositionElementDebuggerProxy((CompositionElement)null);
\r
27 public void Constructor_ValueAsElementArgument_ShouldSetDisplayNameProperty()
\r
29 var expectations = Expectations.GetObjectsReferenceTypes();
\r
31 foreach (var e in expectations)
\r
33 var element = CreateCompositionElement(e);
\r
35 var proxy = new CompositionElementDebuggerProxy(element);
\r
37 Assert.AreSame(element.DisplayName, proxy.DisplayName);
\r
42 public void Constructor_ValueAsElementArgument_ShouldSetOriginProperty()
\r
44 var expectations = Expectations.GetObjectsReferenceTypes();
\r
46 foreach (var e in expectations)
\r
48 var element = CreateCompositionElement(e);
\r
50 var proxy = new CompositionElementDebuggerProxy(element);
\r
52 Assert.AreSame(element.Origin, proxy.Origin);
\r
57 public void Constructor_ValueAsElementArgument_ShouldSetUnderlyingObjectProperty()
\r
59 var expectations = Expectations.GetObjectsReferenceTypes();
\r
61 foreach (var e in expectations)
\r
63 var element = CreateCompositionElement(e);
\r
65 var proxy = new CompositionElementDebuggerProxy(element);
\r
67 Assert.AreSame(element.UnderlyingObject, proxy.UnderlyingObject);
\r
71 private static CompositionElement CreateCompositionElement(object underlyingObject)
\r
73 return new CompositionElement(underlyingObject);
\r