public void GetInner_Call_On_InnerObject_Returns_InnerObject() { // Arrange DummyAggregatedClass dummyInnerObject = new DummyAggregatedClass(); IBaseInterface dummyBase = dummyInnerObject as IBaseInterface; // Act DummyAggregatedClass innerObject = Decorator.GetInner(dummyBase) as DummyAggregatedClass; // Assert Assert.Same(dummyInnerObject, innerObject); }
public void GetInner_Returns_Inner_Object_From_ObjectWrapper_Which_Wraps_Itself() { // Arrange DummyAggregatedClass dummyInnerObject = new DummyAggregatedClass(); DummyBaseWrapper dummyBaseWrapper = new DummyBaseWrapper(dummyInnerObject); IBaseInterface dummyBase = dummyBaseWrapper as IBaseInterface; // Act DummyBaseWrapper innerObject = Decorator.GetInner(dummyBase) as DummyBaseWrapper; // Assert Assert.Same(dummyBaseWrapper, innerObject); }
public void GetInner_Returns_InnerMost_Object_From_ObjectWrapper() { // Arrange DummyAggregatedClass dummyInnerObject = new DummyAggregatedClass(); DummyObjectWrapper dummyObjectWrapper = new DummyObjectWrapper(dummyInnerObject); DummyDoubleLayerWrapper dummyDoubleLayerWrapper = new DummyDoubleLayerWrapper(dummyObjectWrapper); IBaseInterface dummyBase = dummyDoubleLayerWrapper as IBaseInterface; // Act DummyAggregatedClass innerObject = Decorator.GetInner(dummyBase) as DummyAggregatedClass; // Assert Assert.Same(dummyInnerObject, innerObject); }