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); }
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()); }
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); }
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); }
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); }
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); }
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); }
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); }
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()); }
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); }
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); }
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); }
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()); }
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); }