public void GivenPageTypePropertyDefinition_GetPageDefinitionType_CallsGetPropertyType()
        {
            PageTypePropertyDefinition definition  = PageTypePropertyUpdaterTestsUtility.CreatePageTypePropertyDefinition();
            MockRepository             fakes       = new MockRepository();
            PageDefinitionTypeFactory  fakeFactory = fakes.Stub <PageDefinitionTypeFactory>();
            PageDefinitionTypeMapper   pageDefinitionTypeMapper = fakes.PartialMock <PageDefinitionTypeMapper>(fakeFactory);
            Type type = typeof(string);

            pageDefinitionTypeMapper.Stub(mapper => mapper.GetPropertyType(definition.PropertyType, definition.PageTypePropertyAttribute)).Return(type);
            fakes.ReplayAll();

            pageDefinitionTypeMapper.GetPageDefinitionType(definition);

            pageDefinitionTypeMapper.AssertWasCalled(mapper => mapper.GetPropertyType(definition.PropertyType, definition.PageTypePropertyAttribute));
        }
        public void GivenPageTypePropertyDefinitionWithNativeType_GetPageDefinitionType_ReturnsCorrectPageDefinitionType()
        {
            PageTypePropertyDefinition definition = PageTypePropertyUpdaterTestsUtility.CreatePageTypePropertyDefinition();

            definition.PageTypePropertyAttribute.Type = typeof(PropertyString);
            MockRepository            fakes       = new MockRepository();
            PageDefinitionTypeFactory fakeFactory = fakes.Stub <PageDefinitionTypeFactory>();
            PageDefinitionTypeMapper  mapper      = new PageDefinitionTypeMapper(fakeFactory);
            int nativeTypeID = mapper.GetNativeTypeID(definition.PageTypePropertyAttribute.Type);
            PageDefinitionType pageDefinitionTypeFromFactory = new PageDefinitionType(1, PropertyDataType.String, TestValueUtility.CreateRandomString());

            fakeFactory.Stub(factory => factory.GetPageDefinitionType(nativeTypeID)).Return(pageDefinitionTypeFromFactory);
            fakeFactory.Replay();

            PageDefinitionType returnedPageDefinitionType = mapper.GetPageDefinitionType(definition);

            Assert.Equal <PageDefinitionType>(pageDefinitionTypeFromFactory, returnedPageDefinitionType);
        }