コード例 #1
0
        public void GivenPageType_UpdatePageTypePropertyDefinitions_CallsPageTypePropertyUpdaterUpdatePageTypePropertyDefinitions()
        {
            PageTypeDefinition definition = new PageTypeDefinition();

            MockRepository          fakes                   = new MockRepository();
            PageTypeUpdater         pageTypeUpdater         = PageTypeUpdaterFactory.Stub(fakes);
            IPageType               pageType                = new NativePageType();
            PageTypePropertyUpdater pageTypePropertyUpdater = PageTypePropertyUpdaterFactory.Stub(fakes);

            pageTypePropertyUpdater.Stub(updater => updater.UpdatePageTypePropertyDefinitions(pageType, definition));
            pageTypePropertyUpdater.Replay();
            IPageTypeLocator pageTypeLocator = fakes.Stub <IPageTypeLocator>();

            pageTypeLocator.Stub(locator => locator.GetExistingPageType(definition)).Return(pageType);
            pageTypeLocator.Replay();
            List <PageTypeDefinition> definitions = new List <PageTypeDefinition> {
                definition
            };
            PageTypeSynchronizer synchronizer =
                PageTypeSynchronizerFactory.Create(pageTypePropertyUpdater, pageTypeLocator);

            synchronizer.PageTypeUpdater = pageTypeUpdater;
            synchronizer.UpdatePageTypePropertyDefinitions(definitions);

            pageTypePropertyUpdater.AssertWasCalled(updater => updater.UpdatePageTypePropertyDefinitions(pageType, definition));
        }
コード例 #2
0
        public void Constructor_SetsPageDefinitionTypeMapperPropertyToInstanceOfPageDefinitionTypeMapper()
        {
            Type expectedType = typeof(PageDefinitionTypeMapper);

            PageTypePropertyUpdater updater = PageTypePropertyUpdaterFactory.Create();

            Assert.NotNull(updater.PageDefinitionTypeMapper);
            Assert.Equal <Type>(expectedType, updater.PageDefinitionTypeMapper.GetType());
        }
コード例 #3
0
        private PageTypePropertyUpdater CreatePageTypePropertyUpdaterWithFakeUpdatePageDefinitionTabMethod()
        {
            MockRepository          fakes = new MockRepository();
            PageTypePropertyUpdater pageTypePropertyUpdater = PageTypePropertyUpdaterFactory.PartialMock(fakes);

            pageTypePropertyUpdater.Stub(
                utility => utility.UpdatePageDefinitionTab(Arg <PageDefinition> .Is.Anything,
                                                           Arg <PageTypePropertyAttribute> .Is.Anything));
            pageTypePropertyUpdater.Replay();
            return(pageTypePropertyUpdater);
        }
コード例 #4
0
        public void GivenPageDefinitionWithSpecifiedLongStringSetting_UpdatePageDefinition_ReturnsDifferentStringThanWhenCalledWithPageDefinitionWithNoLongStringSettings()
        {
            PageTypePropertyUpdater pageTypePropertyUpdater = PageTypePropertyUpdaterFactory.Create();
            PageDefinition          pageDefinition          = new PageDefinition();
            string valuesWithOutClearAllLongStringSettings  = pageTypePropertyUpdater.SerializeValues(pageDefinition);

            pageDefinition.LongStringSettings = EditorToolOption.Bold;

            string returnedValue = pageTypePropertyUpdater.SerializeValues(pageDefinition);

            Assert.NotEqual <string>(valuesWithOutClearAllLongStringSettings, returnedValue);
        }
コード例 #5
0
        private PageTypePropertyUpdater CreatePageTypePropertyUpdaterWithFakePageDefinitionFactoryAndFakeUpdatePageDefinitionValuesMethod()
        {
            MockRepository          fakes = new MockRepository();
            PageTypePropertyUpdater pageTypePropertyUpdater = PageTypePropertyUpdaterFactory.PartialMock(fakes);

            pageTypePropertyUpdater.Stub(
                utility => utility.UpdatePageDefinitionValues(
                    Arg <PageDefinition> .Is.Anything, Arg <PageTypePropertyDefinition> .Is.Anything));
            pageTypePropertyUpdater.Replay();
            PageDefinitionFactory fakeFactory = fakes.Stub <PageDefinitionFactory>();

            fakeFactory.Stub(factory => factory.Save(Arg <PageDefinition> .Is.Anything));
            fakeFactory.Replay();
            pageTypePropertyUpdater.PageDefinitionFactory = fakeFactory;
            return(pageTypePropertyUpdater);
        }
コード例 #6
0
        private PageTypePropertyUpdater CreatePageTypePropertyUpdaterWithFakePageDefinitionFactoryAndFakedSetPageDefinitionTypeMethod()
        {
            MockRepository        fakes = new MockRepository();
            PageDefinitionFactory fakePageDefinitionFactory = fakes.Stub <PageDefinitionFactory>();

            fakePageDefinitionFactory.Stub(factory => factory.Save(Arg <PageDefinition> .Is.Anything));
            fakePageDefinitionFactory.Replay();
            PageTypePropertyUpdater partiallyMockedUtility = PageTypePropertyUpdaterFactory.PartialMock(fakes);

            partiallyMockedUtility.Stub(
                utility => utility.SetPageDefinitionType(
                    Arg <PageDefinition> .Is.Anything, Arg <PageTypePropertyDefinition> .Is.Anything));
            partiallyMockedUtility.PageDefinitionFactory = fakePageDefinitionFactory;
            partiallyMockedUtility.Replay();

            return(partiallyMockedUtility);
        }
コード例 #7
0
        public void GivenPageTypeWithPropertyAndCorrespondingPropertyDefition_GetExistingPropertyDefinition_ReturnsPageDefinition()
        {
            PageTypePropertyUpdater utility = PageTypePropertyUpdaterFactory.Create();
            IPageType pageType = new NativePageType();
            string    name     = TestValueUtility.CreateRandomString();
            Type      type     = typeof(string);
            PageTypePropertyAttribute  attribute = new PageTypePropertyAttribute();
            PageTypePropertyDefinition pageTypePropertyDefinition = new PageTypePropertyDefinition(name, type, pageType, attribute);
            PageDefinition             pageDefinition             = new PageDefinition();

            pageDefinition.Name = name;
            pageType.Definitions.Add(pageDefinition);

            PageDefinition returnedPageDefinition = utility.GetExistingPageDefinition(pageType, pageTypePropertyDefinition);

            Assert.Equal <PageDefinition>(pageDefinition, returnedPageDefinition);
        }
コード例 #8
0
        public void GivenPageTypePropertyDefinition_CreateNewPageDefinition_ReturnsPageDefinitionWithCorrectType2()
        {
            PageDefinitionType expectedPageDefintionType = new PageDefinitionType(
                1, PropertyDataType.String, TestValueUtility.CreateRandomString());

            PageTypePropertyDefinition pageTypePropertyDefinition = PageTypePropertyUpdaterTestsUtility.CreatePageTypePropertyDefinition();
            PageDefinition             pageDefinition             = new PageDefinition();
            MockRepository             fakes = new MockRepository();
            PageTypePropertyUpdater    pageTypePropertyUpdater = PageTypePropertyUpdaterFactory.PartialMock(fakes);

            pageTypePropertyUpdater.Stub(
                utility => utility.GetPageDefinitionType(pageTypePropertyDefinition)
                ).Return(expectedPageDefintionType);
            pageTypePropertyUpdater.Replay();

            pageTypePropertyUpdater.SetPageDefinitionType(pageDefinition, pageTypePropertyDefinition);

            Assert.Equal <PageDefinitionType>(expectedPageDefintionType, pageDefinition.Type);
        }
コード例 #9
0
        public void GivenUpdatedPropertyDefinition_UpdatePageDefinition_CallsPageDefinitionFactorySave()
        {
            PageDefinition          pageDefinitionToUpdate = new PageDefinition();
            MockRepository          fakes = new MockRepository();
            PageTypePropertyUpdater pageTypePropertyUpdater = PageTypePropertyUpdaterFactory.PartialMock(fakes);

            pageTypePropertyUpdater.Stub(
                utility => utility.UpdatePageDefinitionValues(
                    Arg <PageDefinition> .Is.Anything, Arg <PageTypePropertyDefinition> .Is.Anything));
            PageDefinitionFactory fakeFactory = fakes.Stub <PageDefinitionFactory>();

            fakeFactory.Stub(factory => factory.Save(Arg <PageDefinition> .Is.Anything));
            fakeFactory.Replay();
            pageTypePropertyUpdater.PageDefinitionFactory = fakeFactory;
            pageTypePropertyUpdater.Stub(updater => updater.SerializeValues(pageDefinitionToUpdate)).Return(Guid.NewGuid().ToString()).Repeat.Once();
            pageTypePropertyUpdater.Stub(updater => updater.SerializeValues(pageDefinitionToUpdate)).Return(Guid.NewGuid().ToString());
            pageTypePropertyUpdater.Replay();
            PageTypePropertyDefinition propertyDefinition = CreatePageTypePropertyDefinition();

            pageTypePropertyUpdater.UpdatePageDefinition(pageDefinitionToUpdate, propertyDefinition);

            pageTypePropertyUpdater.PageDefinitionFactory.AssertWasCalled(factory => factory.Save(pageDefinitionToUpdate));
        }
コード例 #10
0
        private PageTypePropertyUpdater CreatePageTypePropertyUpdater(
            List <PageTypePropertyDefinition> definitionsToReturnFromGetPageTypePropertyDefinitions)
        {
            MockRepository          fakes = new MockRepository();
            PageTypePropertyUpdater pageTypePropertyUpdater = PageTypePropertyUpdaterFactory.PartialMock(fakes);

            pageTypePropertyUpdater.Stub(
                u =>
                u.UpdatePropertySettings(Arg <PageTypeDefinition> .Is.Anything,
                                         Arg <PageTypePropertyDefinition> .Is.Anything, Arg <PageDefinition> .Is.Anything));

            PageTypePropertyDefinitionLocator definitionLocator = fakes.Stub <PageTypePropertyDefinitionLocator>();

            definitionLocator.Stub(
                locator => locator.GetPageTypePropertyDefinitions(
                    Arg <IPageType> .Is.Anything, Arg <Type> .Is.Anything))
            .Return(definitionsToReturnFromGetPageTypePropertyDefinitions);
            definitionLocator.Replay();
            pageTypePropertyUpdater.Replay();
            pageTypePropertyUpdater.PageTypePropertyDefinitionLocator = definitionLocator;

            return(pageTypePropertyUpdater);
        }