public void ShouldMapFromFluentObject_WithAttributeNames()
        {
            var fluentObject = new FluentObject(NamedFluentModel.MODEL_NAME);

            fluentObject.Add(NamedFluentModel.BOOLEAN_PROPERTY_NAME, NamedFluentModel.BOOLEAN_VALUE.ToString());
            fluentObject.Add(NamedFluentModel.DATE_PROPERTY_NAME, NamedFluentModel.DATE_VALUE.ToString());
            fluentObject.Add(NamedFluentModel.DOUBLE_PROPERTY_NAME, NamedFluentModel.DOUBLE_VALUE.ToString());
            fluentObject.Add(NamedFluentModel.INTEGER_PROPERTY_NAME, NamedFluentModel.INTEGER_VALUE.ToString());
            fluentObject.Add(NamedFluentModel.OBJECT_PROPERTY_NAME, NamedFluentModel.OBJECT_VALUE.ToString());
            fluentObject.Add(NamedFluentModel.READONLY_PROPERTY_NAME, NamedFluentModel.READONLY_VALUE);
            fluentObject.Add(NamedFluentModel.CONDITIONED_PROPERTY_NAME, NamedFluentModel.CONDITIONED_VALUE);
            fluentObject.Add(NamedFluentModel.CONDITIONED_REVERSE_PROPERTY_NAME, NamedFluentModel.CONDITIONED_REVERSE_VALUE);

            var fluentModel = fluentObject.MapFromFluentObject <NamedFluentModel>();

            Assert.IsNotNull(fluentModel);

            Assert.AreEqual(fluentModel.BooleanProperty, NamedFluentModel.BOOLEAN_VALUE);
            Assert.AreEqual(fluentModel.DateProperty, NamedFluentModel.DATE_VALUE);
            Assert.AreEqual(fluentModel.DoubleProperty, NamedFluentModel.DOUBLE_VALUE);
            Assert.AreEqual(fluentModel.IntegerProperty, NamedFluentModel.INTEGER_VALUE);
            Assert.AreEqual(fluentModel.ObjectProperty, NamedFluentModel.OBJECT_VALUE);
            Assert.AreEqual(fluentModel.ReadonlyProperty, NamedFluentModel.READONLY_VALUE);
            Assert.AreEqual(fluentModel.ConditionedProperty, NamedFluentModel.CONDITIONED_VALUE);
            Assert.AreNotEqual(fluentModel.ConditionedReverseProperty, NamedFluentModel.CONDITIONED_REVERSE_VALUE);
        }
Ejemplo n.º 2
0
        public void ShouldMapEnumValueFromFluentObject()
        {
            var fluentObject = new FluentObject(ConvertableModel.MODEL_NAME);

            fluentObject.Add(ConvertableModel.CONVERTABLE_PROPERTY_NAME, ConvertableModel.CONVERTABLE_STRING_VALUE);

            var model = fluentObject.MapFromFluentObject <ConvertableModel>();

            Assert.IsNotNull(model);
            Assert.AreEqual(model.ConvertableProperty, ConvertableModel.CONVERTABLE_ENUM_VALUE);
        }
        public void ShouldMapFromFluentObjectToNestedModel()
        {
            var fluentObject = new FluentObject(NestedModelFields.MODEL_NAME);

            fluentObject.Add(NestedModelFields.FIELD_NAME, NestedModelFields.FIELD_VALUE.ToString());
            fluentObject.Add(NestedModelFields.CONDITIONAL_FIELD_NAME, NestedModelFields.CONDITIONAL_FIELD_VALUE.ToString());
            fluentObject.Add(NestedModelFields.CONDITIONAL_REVERSED_FIELD_NAME, NestedModelFields.CONDITIONAL_REVERSED_FIELD_VALUE.ToString());
            fluentObject.Add(NestedModelFields.READONLY_FIELD_NAME, NestedModelFields.READONLY_FIELD_VALUE.ToString());
            fluentObject.Add(NestedModelFields.DEPENDENT_FIELD_NAME, NestedModelFields.DEPENDENT_FIELD_VALUE.ToString());
            fluentObject.Add(NestedModelFields.DEPENDENT_REVERSED_FIELD_NAME, NestedModelFields.DEPENDENT_REVERSED_FIELD_VALUE.ToString());

            var nestedModel = fluentObject.MapFromFluentObject <NestedModel>();

            Assert.IsNotNull(nestedModel);
            Assert.AreEqual(nestedModel.StringProperty, NestedModelFields.FIELD_VALUE);
            Assert.AreEqual(nestedModel.ConditionalProperty, NestedModelFields.CONDITIONAL_FIELD_VALUE);
            Assert.AreEqual(nestedModel.ConditionalReversedProperty, 0);
            Assert.AreEqual(nestedModel.ReadonlyProperty, NestedModelFields.READONLY_FIELD_VALUE);
            Assert.AreEqual(nestedModel.DependentProperty, NestedModelFields.DEPENDENT_FIELD_VALUE);
            Assert.AreEqual(nestedModel.DependentReversedProperty, NestedModelFields.DEPENDENT_REVERSED_FIELD_VALUE);
        }
 public static T MapFromFluentObject<T>(this FluentObject source) where T : class, new()
 {
     return (T)source.MapFromFluentObject(typeof(T));
 }