public void ThenCustomizationPolicyIsNotAvailable() { var descriptor = TypedDescriptor.GetProperty(this.PatternModel.Pattern, element => element.Policy); Assert.NotNull(descriptor); Assert.False(descriptor.IsBrowsable); }
public void ThenTypePropertyIsReadOnly() { var descriptor = TypedDescriptor.GetProperty(this.Property, property => property.Type); Assert.True(descriptor.IsBrowsable); Assert.True(descriptor.IsReadOnly); }
public void ThenIsCustomizableIsBrowsableAndNotReadOnly() { var descriptor = TypedDescriptor.GetProperty(this.PatternModel.Pattern, pattern => pattern.IsCustomizable); Assert.True(descriptor.IsBrowsable); Assert.False(descriptor.IsReadOnly); }
public void ThenAssociatedGuidanceIsBrowsable() { var descriptor = TypedDescriptor.GetProperty(this.guidanceExtension, extension => extension.AssociatedGuidance); Assert.True(descriptor.IsBrowsable); Assert.False(descriptor.IsReadOnly); }
public void TheValidationRulesPropertyIsBrowsableAndNotReadOnly() { var descriptor = TypedDescriptor.GetProperty(this.Property, property => property.RawValidationRules); Assert.True(descriptor.IsBrowsable); Assert.False(descriptor.IsReadOnly); }
public void ThenIsCustomizableIsReadOnlyAndFalse() { var descriptor = TypedDescriptor.GetProperty(this.PatternModel.Pattern, pattern => pattern.IsCustomizable); Assert.True(descriptor.IsReadOnly); Assert.True(this.PatternModel.Pattern.IsCustomizable == CustomizationState.False); }
public void ThenValidationExecutionIsBrowsable() { var descriptor = TypedDescriptor.GetProperty(this.validationExtension, extension => extension.ValidationExecution); Assert.True(descriptor.IsBrowsable); Assert.False(descriptor.IsReadOnly); }
/// <summary> /// Returns the property descriptors for this instance. /// </summary> public override PropertyDescriptorCollection GetProperties(ITypeDescriptorContext context, object value, Attribute[] attributes) { Guard.NotNull(() => context, context); var descriptors = base.GetProperties(context, value, attributes).Cast <PropertyDescriptor>(); // Remove descriptors for the data type of this property (string) descriptors = descriptors.Where(descriptor => descriptor.ComponentType != typeof(string)); // Get the model element being described var selection = context.Instance; ModelElement mel = selection as ModelElement; var pel = selection as PresentationElement; if (pel != null) { mel = pel.Subject; } var element = ExtensionElement.GetExtension <ArtifactExtension>(mel); if (element != null) { // Copy descriptors from owner (make Browsable) var descriptor1 = new DelegatingPropertyDescriptor(element, TypedDescriptor.CreateProperty(element, extension => extension.OnArtifactActivation), new BrowsableAttribute(true), new DefaultValueAttribute(element.GetPropertyDefaultValue <ArtifactExtension, ArtifactActivatedAction>(e => e.OnArtifactActivation))); var descriptor2 = new DelegatingPropertyDescriptor(element, TypedDescriptor.CreateProperty(element, extension => extension.OnArtifactDeletion), new BrowsableAttribute(true), new DefaultValueAttribute(element.GetPropertyDefaultValue <ArtifactExtension, ArtifactDeletedAction>(e => e.OnArtifactDeletion))); descriptors = descriptors.Concat(new[] { descriptor1, descriptor2 }); } return(new PropertyDescriptorCollection(descriptors.ToArray())); }
public void ThenNamePropertyIsReadOnly() { var descriptor = TypedDescriptor.GetProperty(this.PatternModel.Pattern, pattern => pattern.Name); Assert.True(descriptor.IsBrowsable); Assert.True(descriptor.IsReadOnly); }
public void ThenAssociatedArtifactIsBrowsable() { var descriptor = TypedDescriptor.GetProperty(this.artifactExtension, extension => extension.AssociatedArtifacts); Assert.True(descriptor.IsBrowsable); Assert.False(descriptor.IsReadOnly); }
public void TheValidationRulesPropertyIsBrowsableAndNotReadOnly() { var descriptor = TypedDescriptor.GetProperty(this.Element, element => element.ValidationRules); Assert.True(descriptor.IsBrowsable); Assert.False(descriptor.IsReadOnly); }
public void ThenCustomizationPolicyIsBrowsableAndNotReadOnly() { var descriptor = TypedDescriptor.GetProperty(this.PatternModel.Pattern, element => element.Policy); Assert.True(descriptor.IsBrowsable); Assert.False(descriptor.IsReadOnly); }
public void ThenSettingIsReadOnlyForTailor() { var policyDescriptor = TypedDescriptor.GetProperty(this.Property, pattern => pattern.Policy); var policySettings = policyDescriptor.GetChildProperties(this.Property.Policy); var settingDescriptor = policySettings.Cast <PropertyDescriptor>().First(descriptor => descriptor.DisplayName.Contains("Default")); Assert.True(settingDescriptor.IsReadOnly); }
public void ThenCustomizationPolicyDisplaysCorrectly() { var descriptor = TypedDescriptor.GetProperty(this.PatternModel.Pattern, element => element.Policy); string category = this.PatternModel.Pattern.Policy.GetDomainClass().ImplementationClass.Category(); Assert.Equal(category, descriptor.Category); Assert.Equal(descriptor.Converter.ConvertToString(this.PatternModel.Pattern.Policy), string.Format(CultureInfo.CurrentCulture, CustomizableElementTypeDescriptor.PolicyDisplayedValueFormatter, this.PatternModel.Pattern.Policy.CustomizationLevel)); }
public void ThenAssociatedArtifactDescriptorHasCorrectProperties() { Mock <ITypeDescriptorContext> mockContext = new Mock <ITypeDescriptorContext>(); mockContext.SetupGet(context => context.Instance).Returns(this.product); var descriptor = TypedDescriptor.GetProperty(this.artifactExtension, extension => extension.AssociatedArtifacts); var descriptors = descriptor.Converter.GetProperties(mockContext.Object, string.Empty); Assert.Equal(2, descriptors.Count); Assert.NotNull(descriptors[Reflector <ArtifactExtension> .GetProperty(extension => extension.OnArtifactActivation).Name]); Assert.NotNull(descriptors[Reflector <ArtifactExtension> .GetProperty(extension => extension.OnArtifactDeletion).Name]); }
public void ThenAssociatedGuidanceDescriptorHasCorrectProperties() { Mock <ITypeDescriptorContext> mockContext = new Mock <ITypeDescriptorContext>(); mockContext.SetupGet(context => context.Instance).Returns(this.product); var descriptor = TypedDescriptor.GetProperty(this.guidanceExtension, extension => extension.AssociatedGuidance); var descriptors = descriptor.Converter.GetProperties(mockContext.Object, string.Empty); Assert.Equal(4, descriptors.Count); Assert.NotNull(descriptors[Reflector <GuidanceExtension> .GetProperty(extension => extension.ExtensionId).Name]); Assert.NotNull(descriptors[Reflector <GuidanceExtension> .GetProperty(extension => extension.GuidanceActivateOnCreation).Name]); Assert.NotNull(descriptors[Reflector <GuidanceExtension> .GetProperty(extension => extension.GuidanceInstanceName).Name]); Assert.NotNull(descriptors[Reflector <GuidanceExtension> .GetProperty(extension => extension.GuidanceSharedInstance).Name]); }
public void WhenAddingNewProperty_ThenNamePropertyIsBrowsableAndNotReadOnly() { PropertySchema property = null; this.PatternModel.Store.TransactionManager.DoWithinTransaction(() => { property = this.PatternModel.Create <PropertySchema>(); }); var descriptor = TypedDescriptor.GetProperty(property, prop => prop.Name); Assert.False(property.IsInheritedFromBase); Assert.True(descriptor.IsBrowsable); Assert.False(descriptor.IsReadOnly); }
public void ThenValidationExecutionDescriptorHasCorrectProperties() { Mock <ITypeDescriptorContext> mockContext = new Mock <ITypeDescriptorContext>(); mockContext.SetupGet(context => context.Instance).Returns(this.product); var descriptor = TypedDescriptor.GetProperty(this.validationExtension, extension => extension.ValidationExecution); var descriptors = descriptor.Converter.GetProperties(mockContext.Object, string.Empty); Assert.Equal(4, descriptors.Count); Assert.NotNull(descriptors[Reflector <ValidationExtension> .GetProperty(extension => extension.ValidationOnBuild).Name]); Assert.NotNull(descriptors[Reflector <ValidationExtension> .GetProperty(extension => extension.ValidationOnCustomEvent).Name]); Assert.NotNull(descriptors[Reflector <ValidationExtension> .GetProperty(extension => extension.ValidationOnMenu).Name]); Assert.NotNull(descriptors[Reflector <ValidationExtension> .GetProperty(extension => extension.ValidationOnSave).Name]); }
public void ThenActivateOnCreationIsNotExist() { var descriptor = TypedDescriptor.GetProperty(this.guidanceExtension, extension => extension.GuidanceActivateOnCreation); Assert.Null(descriptor); }
public void ThenOnArtifactActivationNameDescriptorNotExist() { var descriptor = TypedDescriptor.GetProperty(this.artifactExtension, extension => extension.OnArtifactActivation); Assert.Null(descriptor); }
public void ThenValidationOnSaveDescriptorNotExist() { var descriptor = TypedDescriptor.GetProperty(this.validationExtension, extension => extension.ValidationOnSave); Assert.Null(descriptor); }
public void ThenGuidanceExtensionIdIsNotExist() { var descriptor = TypedDescriptor.GetProperty(this.guidanceExtension, extension => extension.ExtensionId); Assert.Null(descriptor); }
public void ThenDefaultInstanceNameDescriptorNotExist() { var descriptor = TypedDescriptor.GetProperty(this.guidanceExtension, extension => extension.GuidanceInstanceName); Assert.Null(descriptor); }
public void ThenSharedInstanceIsNotExist() { var descriptor = TypedDescriptor.GetProperty(this.guidanceExtension, extension => extension.GuidanceSharedInstance); Assert.Null(descriptor); }