Пример #1
0
        public static PageTypePropertyDefinition CreatePageTypePropertyDefinition()
        {
            string    name     = TestValueUtility.CreateRandomString();
            Type      type     = typeof(string);
            IPageType pageType = new NativePageType();
            PageTypePropertyAttribute attribute = new PageTypePropertyAttribute();

            return(new PageTypePropertyDefinition(name, type, pageType, attribute));
        }
        public void GivenPageTypePropertyDefinitionWithNoEditCaption_GetEditCaptionOrName_ReturnsName()
        {
            string propertyName = TestValueUtility.CreateRandomString();
            PageTypePropertyDefinition definition =
                new PageTypePropertyDefinition(propertyName, typeof(string), new NativePageType(), new PageTypePropertyAttribute());

            string returnedEditCaption = definition.GetEditCaptionOrName();

            Assert.Equal <string>(propertyName, returnedEditCaption);
        }
        public void GivenPageTypePropertyDefinitionWithNoTypeAndNonMappedPropertyType_GetPageDefinitionType_ThrowsException()
        {
            PageDefinitionTypeMapper mapper = new PageDefinitionTypeMapper(null);
            Type unmappedType = typeof(StringBuilder);
            PageTypePropertyDefinition definition = new PageTypePropertyDefinition(
                TestValueUtility.CreateRandomString(), unmappedType, new NativePageType(), new PageTypePropertyAttribute());

            Exception exception = Record.Exception(() => { mapper.GetPageDefinitionType(definition); });

            Assert.NotNull(exception);
        }
Пример #4
0
        public void GivenAPageTypeAttribute_AttributeProperty_SetsAttributePropertyValue()
        {
            PageTypeAttribute attribute = new PageTypeAttribute();

            attribute.Description = TestValueUtility.CreateRandomString();
            PageTypeDefinition pageTypeDefinition = new PageTypeDefinition();

            pageTypeDefinition.Attribute = attribute;

            Assert.Equal <PageTypeAttribute>(attribute, pageTypeDefinition.Attribute, new PageTypeAttrbitueComparer());
        }
Пример #5
0
        public void GivenPageTypePropertyDefinitionWithEditCaption_CreateNewPageDefinition_SetsEditCaptionToDefinitionEditCaption()
        {
            PageTypePropertyUpdater    partiallyMockedUtility     = CreatePageTypePropertyUpdaterWithFakePageDefinitionFactoryAndFakedSetPageDefinitionTypeMethod();
            PageTypePropertyDefinition pageTypePropertyDefinition = PageTypePropertyUpdaterTestsUtility.CreatePageTypePropertyDefinition();

            pageTypePropertyDefinition.PageTypePropertyAttribute.EditCaption = TestValueUtility.CreateRandomString();

            PageDefinition returnedPageDefintion = partiallyMockedUtility.CreateNewPageDefinition(pageTypePropertyDefinition);

            Assert.Equal <string>(pageTypePropertyDefinition.PageTypePropertyAttribute.EditCaption, returnedPageDefintion.EditCaption);
        }
Пример #6
0
        public void GivenType_Constructor_SetsPropertyTypeProperty()
        {
            PageTypePropertyAttribute attribute = new PageTypePropertyAttribute();
            string    name         = TestValueUtility.CreateRandomString();
            Type      propertyType = typeof(string);
            IPageType pageType     = new NativePageType();

            PageTypePropertyDefinition definition = new PageTypePropertyDefinition(name, propertyType, pageType, attribute);


            Assert.Equal <Type>(propertyType, definition.PropertyType);
        }
        public void GivenTabDefinitionWithDifferentName_TabDefinitionShouldBeUpdated_ReturnsTrue()
        {
            Tab           tab           = new TestTab();
            TabDefinition tabDefinition = TabDefinitionUpdaterTestsUtility.CreateTabDefinition(tab);

            tabDefinition.Name = TestValueUtility.CreateRandomString();
            TabDefinitionUpdater tabDefinitionUpdater = TabDefinitionUpdaterFactory.Create();

            bool shouldBeUpdated = tabDefinitionUpdater.TabDefinitionShouldBeUpdated(tabDefinition, tab);

            Assert.True(shouldBeUpdated);
        }
        public void GivenTab_UpdateTabDefinition_UpdatesTabDefinitionsName()
        {
            Tab           tab           = new TestTab();
            TabDefinition tabDefinition = TabDefinitionUpdaterTestsUtility.CreateTabDefinition(tab);

            tabDefinition.Name = TestValueUtility.CreateRandomString();
            TabDefinitionUpdater tabDefinitionUpdater = TabDefinitionUpdaterFactory.Create();

            tabDefinitionUpdater.UpdateTabDefinition(tabDefinition, tab);

            Assert.Equal <string>(tab.Name, tabDefinition.Name);
        }
        public void GivePropertyDefinition_UpdatePageDefinition_UpdatesPageDefinitionDefaultValue()
        {
            var                        pageDefinitionUpdater  = GetPageDefinitionUpdater();
            PageDefinition             pageDefinitionToUpdate = new PageDefinition();
            PageTypePropertyDefinition propertyDefinition     = CreatePageTypePropertyDefinition();

            propertyDefinition.PageTypePropertyAttribute.DefaultValue = TestValueUtility.CreateRandomString();

            pageDefinitionUpdater.UpdateExistingPageDefinition(pageDefinitionToUpdate, propertyDefinition);

            Assert.Equal <string>(propertyDefinition.PageTypePropertyAttribute.DefaultValue.ToString(), pageDefinitionToUpdate.DefaultValue);
        }
Пример #10
0
        public void GivenNoFilenameSetInAttribute_WhenUpdatePageTypeCalled_UpdatesPageTypeFilenameWith_Filename()
        {
            PageTypeAttribute attribute       = new PageTypeAttribute();
            IPageType         pageType        = new NativePageType();
            PageTypeUpdater   pageTypeUpdater = CreatePageTypeUpdater();

            pageTypeUpdater.DefaultFilename = TestValueUtility.CreateRandomString();

            pageTypeUpdater.UpdateFilename(pageType, attribute);

            Assert.Equal <string>(pageTypeUpdater.DefaultFilename, pageType.FileName);
        }
        public void GivenPageFromCreateAndPopulateTypedInstance_CompilerGeneratedPropertySetter_IsAutoImplemented()
        {
            TypedPageActivator activator = new TypedPageActivator();
            TestPageType       page      = (TestPageType)activator.CreateAndPopulateTypedInstance(new PageData(), typeof(TestPageType));

            page.Property.Add("CompilerGeneratedProperty", new PropertyString());
            string propertyValue = TestValueUtility.CreateRandomString();

            page.CompilerGeneratedProperty = propertyValue;

            Assert.Equal <string>(propertyValue, page["CompilerGeneratedProperty"] as string);
        }
Пример #12
0
        public void GivenDescription_UpdateDescription_UpdatesPageTypeDescription()
        {
            PageTypeAttribute attribute = new PageTypeAttribute();

            attribute.Description = TestValueUtility.CreateRandomString();
            IPageType       pageType        = new NativePageType();
            PageTypeUpdater pageTypeUpdater = CreatePageTypeUpdater();

            pageTypeUpdater.UpdateDescription(pageType, attribute);

            Assert.Equal <string>(attribute.Description, pageType.Description);
        }
Пример #13
0
        public void GivePropertyDefinition_UpdatePageDefinitionValues_UpdatesPageDefinitionDefaultValue()
        {
            PageTypePropertyUpdater    pageTypePropertyUpdater = CreatePageTypePropertyUpdaterWithFakeUpdatePageDefinitionTabMethod();
            PageDefinition             pageDefinitionToUpdate  = new PageDefinition();
            PageTypePropertyDefinition propertyDefinition      = CreatePageTypePropertyDefinition();

            propertyDefinition.PageTypePropertyAttribute.DefaultValue = TestValueUtility.CreateRandomString();

            pageTypePropertyUpdater.UpdatePageDefinitionValues(pageDefinitionToUpdate, propertyDefinition);

            Assert.Equal <string>(propertyDefinition.PageTypePropertyAttribute.DefaultValue.ToString(), pageDefinitionToUpdate.DefaultValue);
        }
        public void GivenPageTypePropertyDefinitionWithEditCaption_GetEditCaptionOrName_ReturnsEditCaptionFromAttribute()
        {
            PageTypePropertyDefinition definition =
                new PageTypePropertyDefinition(
                    TestValueUtility.CreateRandomString(), typeof(string), new NativePageType(), new PageTypePropertyAttribute());
            string editCaption = TestValueUtility.CreateRandomString();

            definition.PageTypePropertyAttribute.EditCaption = editCaption;

            string returnedEditCaption = definition.GetEditCaptionOrName();

            Assert.Equal <string>(editCaption, returnedEditCaption);
        }
Пример #15
0
        public void GivenNameSetInAttribute_WhenUpdatePageTypeCalled_UpdatesPageTypeNameWithName()
        {
            PageTypeDefinition definition      = PageTypeUpdaterTestsUtility.CreateBasicPageTypeDefinition();
            IPageType          pageType        = new NativePageType();
            PageTypeUpdater    pageTypeUpdater = CreatePageTypeUpdater();
            string             name            = TestValueUtility.CreateRandomString();

            definition.Attribute.Name = name;

            pageTypeUpdater.UpdateName(pageType, definition);

            Assert.Equal <string>(name, pageType.Name);
        }
        public void GivenDefinitionWithASpecifiedFilename_CreateNewPageType_ReturnsPageTypeWithThatFilename()
        {
            PageTypeDefinition definition = PageTypeUpdaterTestsUtility.CreateBasicPageTypeDefinition();

            definition.Attribute.Filename = TestValueUtility.CreateRandomString();
            PageTypeUpdater pageTypeUpdater = CreatePageTypeUpdater();

            SetupPageTypeUpdaterWithFakePageTypeFactory(pageTypeUpdater);

            IPageType returnedPageType = pageTypeUpdater.CreateNewPageType(definition);

            Assert.Equal <string>(definition.Attribute.Filename, returnedPageType.FileName);
        }
Пример #17
0
        public void GivenPageType_Constructor_SetsPageTypeProperty()
        {
            PageTypePropertyAttribute attribute = new PageTypePropertyAttribute();
            string    name         = TestValueUtility.CreateRandomString();
            Type      propertyType = typeof(string);
            IPageType pageType     = new NativePageType();

            pageType.GUID = Guid.NewGuid();

            PageTypePropertyDefinition definition = new PageTypePropertyDefinition(name, propertyType, pageType, attribute);


            Assert.Equal <IPageType>(pageType, definition.PageType, new PageTypeComparer());
        }
Пример #18
0
        public void GivenName_WhenUpdateDefaultNameCalled_UpdatesPageTypeDefaultPageName(string defaultPageName)
        {
            PageTypeAttribute attribute = new PageTypeAttribute();

            attribute.DefaultPageName = defaultPageName;
            IPageType pageType = new NativePageType();

            pageType.DefaultPageName = TestValueUtility.CreateRandomString();
            PageTypeUpdater pageTypeUpdater = CreatePageTypeUpdater();

            pageTypeUpdater.UpdateDefaultPageName(pageType, attribute);

            Assert.Equal <string>(defaultPageName, pageType.DefaultPageName);
        }
        public void GivenPageWithPropertyValue_CreateAndPopulateTypedInstance_ReturnsTypedInstanceWithPropertyValue()
        {
            PageData sourcePage   = new PageData();
            string   propertyName = TestValueUtility.CreateRandomString();

            sourcePage.Property.Add(propertyName, new PropertyString());
            string propertyValue = TestValueUtility.CreateRandomString();

            sourcePage.SetValue(propertyName, propertyValue);
            TypedPageActivator activator = new TypedPageActivator();

            TestPageType page = (TestPageType)activator.CreateAndPopulateTypedInstance(sourcePage, typeof(TestPageType));

            Assert.Equal <string>(propertyValue, page.GetValue(propertyName) as string);
        }
        public void GivenPropertyDefinitionWithNewEditCaption_UpdatePageDefinitionValues_UpdatedPageDefinitionEditCaption()
        {
            var            pageDefinitionUpdater  = GetPageDefinitionUpdater();
            PageDefinition pageDefinitionToUpdate = new PageDefinition();

            pageDefinitionToUpdate.EditCaption = TestValueUtility.CreateRandomString();
            string newEditCaption = TestValueUtility.CreateRandomString();
            PageTypePropertyDefinition propertyDefinition = CreatePageTypePropertyDefinition();

            propertyDefinition.PageTypePropertyAttribute.EditCaption = newEditCaption;

            pageDefinitionUpdater.UpdateExistingPageDefinition(pageDefinitionToUpdate, propertyDefinition);

            Assert.Equal <string>(newEditCaption, pageDefinitionToUpdate.EditCaption);
        }
Пример #21
0
        public void GivenPropertyDefinitionWithNewEditCaption_UpdatePageDefinitionValues_UpdatedPageDefinitionEditCaption()
        {
            PageTypePropertyUpdater pageTypePropertyUpdater = CreatePageTypePropertyUpdaterWithFakeUpdatePageDefinitionTabMethod();
            PageDefinition          pageDefinitionToUpdate  = new PageDefinition();

            pageDefinitionToUpdate.EditCaption = TestValueUtility.CreateRandomString();
            string newEditCaption = TestValueUtility.CreateRandomString();
            PageTypePropertyDefinition propertyDefinition = CreatePageTypePropertyDefinition();

            propertyDefinition.PageTypePropertyAttribute.EditCaption = newEditCaption;

            pageTypePropertyUpdater.UpdatePageDefinitionValues(pageDefinitionToUpdate, propertyDefinition);

            Assert.Equal <string>(newEditCaption, pageDefinitionToUpdate.EditCaption);
        }
        public void GivenPropertyDefinitionWithNoEditCaptionAndNameOtherThanPageDefinitionEditCaption_UpdatedPageDefinitionEditCaption()
        {
            PageDefinitionUpdater pageDefinitionUpdater  = GetPageDefinitionUpdater();
            PageDefinition        pageDefinitionToUpdate = new PageDefinition();

            pageDefinitionToUpdate.EditCaption = TestValueUtility.CreateRandomString();
            string newEditCaption = TestValueUtility.CreateRandomString();
            PageTypePropertyDefinition propertyDefinition = CreatePageTypePropertyDefinition();

            propertyDefinition.Name            = newEditCaption;
            pageDefinitionToUpdate.EditCaption = null;

            pageDefinitionUpdater.UpdateExistingPageDefinition(pageDefinitionToUpdate, propertyDefinition);

            Assert.Equal <string>(newEditCaption, pageDefinitionToUpdate.EditCaption);
        }
Пример #23
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);
        }
Пример #24
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);
        }
        public void GivenTypeWithOnePageTypePropertyAttribute_GetPageTypePropertyDefinitions_ReturnsListWithOnePropertyDefinition()
        {
            AssemblyBuilder assemblyBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(new AssemblyName("TestAssembly"),
                                                                                            AssemblyBuilderAccess.RunAndSave);
            ModuleBuilder          moduleBuilder   = assemblyBuilder.DefineDynamicModule("Module", "Module.dll");
            TypeBuilder            typeBuilder     = moduleBuilder.DefineType("PageTypeType");
            string                 propertyName    = TestValueUtility.CreateRandomString();
            Type                   propertyType    = typeof(string);
            PropertyBuilder        propertyBuilder = typeBuilder.DefineProperty(propertyName, PropertyAttributes.None, propertyType, null);
            ConstructorInfo        pageTypePropertyAttributeConstructor = typeof(PageTypePropertyAttribute).GetConstructor(new Type[0]);
            CustomAttributeBuilder customAttributeBuilder = new CustomAttributeBuilder(pageTypePropertyAttributeConstructor, new object[0]);

            propertyBuilder.SetCustomAttribute(customAttributeBuilder);
            Type      type     = typeBuilder.CreateType();
            IPageType pageType = new NativePageType();
            PageTypePropertyDefinitionLocator definitionLocator = new PageTypePropertyDefinitionLocator();

            IEnumerable <PageTypePropertyDefinition> propertyDefinitions = definitionLocator.GetPageTypePropertyDefinitions(pageType, type);

            Assert.Equal <int>(1, propertyDefinitions.Count());
        }
Пример #26
0
        public void GivenPageTypePropertyDefinitionWithNativeType_GetPageDefinitionType_ReturnsCorrectPageDefinitionType()
        {
            PageTypePropertyDefinition definition = PageDefinitionSynchronizationEngineTestsUtility.CreatePageTypePropertyDefinition();

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

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

            PageDefinitionType returnedPageDefinitionType = mapper.GetPageDefinitionType(definition);

            Assert.Equal <PageDefinitionType>(pageDefinitionTypeFromFactory, returnedPageDefinitionType);
        }
        public void GivenPageTypePropertyDefinitionWithNonNativeType_GetPageDefinitionType_ReturnsCorrectPageDefinitionType()
        {
            PageTypePropertyDefinition definition = PageTypePropertyUpdaterTestsUtility.CreatePageTypePropertyDefinition();

            definition.PageTypePropertyAttribute.Type = typeof(PropertyXhtmlString);
            MockRepository            fakes       = new MockRepository();
            PageDefinitionTypeFactory fakeFactory = fakes.Stub <PageDefinitionTypeFactory>();
            PageDefinitionTypeMapper  mapper      = new PageDefinitionTypeMapper(fakeFactory);
            PageDefinitionType        pageDefinitionTypeFromFactory = new PageDefinitionType(1, PropertyDataType.String, TestValueUtility.CreateRandomString());
            string typeName     = definition.PageTypePropertyAttribute.Type.FullName;
            string assemblyName = definition.PageTypePropertyAttribute.Type.Assembly.GetName().Name;

            fakeFactory.Stub(factory => factory.GetPageDefinitionType(typeName, assemblyName)).Return(pageDefinitionTypeFromFactory);
            fakeFactory.Replay();

            PageDefinitionType returnedPageDefinitionType = mapper.GetPageDefinitionType(definition);

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