public async Task WhenThePropertyIsAnIEnumProperty_ThenTheEvaluatedValueIsAString() { var properties = PropertiesAvailableStatusFactory.CreateUIPropertyValuePropertiesAvailableStatus( includeEvaluatedValue: true, includeUnevaluatedValue: false); var enumValue = IEnumValueFactory.Create(name: "enum value"); var mockEnumProperty = new Mock <IEnumProperty>(); mockEnumProperty.Setup(m => m.GetValueAsIEnumValueAsync()).ReturnsAsync(enumValue); var property = mockEnumProperty.Object; var entityRuntime = IEntityRuntimeModelFactory.Create(); var id = new EntityIdentity(key: "A", value: "B"); var configuration = ProjectConfigurationFactory.Create(configuration: "Alpha|Beta|Gamma"); var result = (UIPropertyValueValue)await UIPropertyValueDataProducer.CreateUIPropertyValueValueAsync( entityRuntime, id, configuration, property, properties); Assert.Equal(expected: "enum value", actual: result.EvaluatedValue); }
public void WhenPropertiesAreRequested_PropertyValuesAreReturned() { var properties = PropertiesAvailableStatusFactory.CreateSupportedValuesPropertiesAvailableStatus(); var entityRuntime = IEntityRuntimeModelFactory.Create(); var enumValue = IEnumValueFactory.Create(displayName: "Hello", name: "MyValue"); var result = (SupportedValueValue)SupportedValueDataProducer.CreateSupportedValue(entityRuntime, enumValue, properties); Assert.Equal(expected: "Hello", actual: result.DisplayName); Assert.Equal(expected: "MyValue", actual: result.Value); }
public async Task WhenCreatingValuesFromAnIProperty_WeGetOneValuePerIEnumValue() { var properties = PropertiesAvailableStatusFactory.CreateSupportedValuesPropertiesAvailableStatus(); var entityRuntime = IEntityRuntimeModelFactory.Create(); var iproperty = IPropertyFactory.CreateEnum(new[] { IEnumValueFactory.Create(displayName: "Alpha", name: "a"), IEnumValueFactory.Create(displayName: "Beta", name: "b"), IEnumValueFactory.Create(displayName: "Gamma", name: "c") }); var result = await SupportedValueDataProducer.CreateSupportedValuesAsync(entityRuntime, iproperty, properties); Assert.Collection(result, new Action <IEntityValue>[] { entity => assertEqual(entity, expectedDisplayName: "Alpha", expectedValue: "a"), entity => assertEqual(entity, expectedDisplayName: "Beta", expectedValue: "b"), entity => assertEqual(entity, expectedDisplayName: "Gamma", expectedValue: "c") });