protected override void Arrange()
            {
                _suppliedSourceExtension1Object = MockRepository.GenerateStub <IMappableResource>();
                _suppliedSourceExtension2Object = MockRepository.GenerateStub <IMappableResource>();

                var sourceExtensions = new Dictionary <string, object>
                {
                    {
                        "Extension1", _suppliedSourceExtension1Object
                    },
                    {
                        "Extension2", _suppliedSourceExtension2Object
                    }                        // Not supported
                };

                // Source resource doesn't support Extension2
                _suppliedSourceObject = new FakeEntityWithExtensions(sourceExtensions);
                _suppliedSourceObject.SetExtensionSupported("Extension2", false);

                var targetExtensions = new Dictionary <string, object>();

                _suppliedTargetObject = new FakeEntityWithExtensions(targetExtensions);

                IHasExtensionsExtensions.CreateTargetExtensionObject
                    = (t, x) =>
                    {
                    var targetExtensionObjectMock = mocks.Stub <IMappableExtensionEntity>();
                    targetExtensionObjectMock.Replay();

                    _suppliedTargetExtensionObjectByExtensionName.Add(x, targetExtensionObjectMock);

                    return(targetExtensionObjectMock);
                    };
            }
            protected override void Arrange()
            {
                _suppliedSourceExtension1Object     = Stub <IMappableResource>();
                _suppliedSourceExtension2Object     = Stub <IMappableResource>();
                _suppliedUnsupportedExtensionObject = Stub <IMappableResource>();

                var sourceExtensions = new Dictionary <string, object>
                {
                    {
                        "Extension1", _suppliedSourceExtension1Object
                    },
                    {
                        "Extension2", _suppliedSourceExtension2Object
                    },
                    {
                        "UnsupportedExtension", _suppliedUnsupportedExtensionObject
                    }
                };

                _suppliedSourceObject = new FakeEntityWithExtensions(sourceExtensions);
                _suppliedSourceObject.SetExtensionSupported("UnsupportedExtension", false);

                var targetExtensions = new Dictionary <string, object>();

                _suppliedTargetObject = new FakeEntityWithExtensions(targetExtensions);

                IHasExtensionsExtensions.CreateTargetExtensionObject
                    = (t, x) =>
                    {
                    var targetExtensionObjectMock = Stub <IMappableExtensionEntity>();

                    _suppliedTargetExtensionObjectByExtensionName.Add(x, targetExtensionObjectMock);

                    return(targetExtensionObjectMock);
                    };
            }