Exemplo n.º 1
0
        public void Property_and_field_in_base_type_is_matched()
        {
            var entityType = new EntityType(typeof(TheDarkSide));
            var property   = entityType.AddProperty("TheGreatGigInTheSky", typeof(int));

            var mapping = new MemberMapper(new FieldMatcher()).MapPropertiesToMembers(entityType).Single();

            Assert.Same(property, mapping.Item1);
            Assert.IsAssignableFrom <FieldInfo>(mapping.Item2);
            Assert.Equal("_theGreatGigInTheSky", mapping.Item2.Name);
        }
Exemplo n.º 2
0
        public void Field_name_match_is_used_in_preference_to_property_setter()
        {
            var entityType = new EntityType(typeof(TheDarkSide));
            var property   = entityType.AddProperty("Breathe", typeof(int));

            var mapping = new MemberMapper(new FieldMatcher()).MapPropertiesToMembers(entityType).Single();

            Assert.Same(property, mapping.Item1);
            Assert.IsAssignableFrom <FieldInfo>(mapping.Item2);
            Assert.Equal("_breathe", mapping.Item2.Name);
        }
Exemplo n.º 3
0
        public void Property_setter_is_used_if_no_matching_field_is_found()
        {
            var entityType = new EntityType(typeof(TheDarkSide));
            var property   = entityType.AddProperty("OnTheRun", typeof(int));

            var mapping = new MemberMapper(new FieldMatcher()).MapPropertiesToMembers(entityType).Single();

            Assert.Same(property, mapping.Item1);
            Assert.IsAssignableFrom <PropertyInfo>(mapping.Item2);
            Assert.Equal("OnTheRun", mapping.Item2.Name);
        }
Exemplo n.º 4
0
        public void Private_setter_in_base_class_of_overridden_property_is_used()
        {
            var entityType = new EntityType(typeof(TheDarkSide));
            var property   = entityType.AddProperty("UsAndThem", typeof(int));

            var mapping = new MemberMapper(new FieldMatcher()).MapPropertiesToMembers(entityType).Single();

            Assert.Same(property, mapping.Item1);
            Assert.IsAssignableFrom <PropertyInfo>(mapping.Item2);
            Assert.Equal("UsAndThem", mapping.Item2.Name);
        }
Exemplo n.º 5
0
        public void Property_setter_is_used_if_no_matching_field_is_found()
        {
            var entityType = new EntityType(typeof(TheDarkSide));
            var property = entityType.AddProperty("OnTheRun", typeof(int));

            var mapping = new MemberMapper(new FieldMatcher()).MapPropertiesToMembers(entityType).Single();

            Assert.Same(property, mapping.Item1);
            Assert.IsAssignableFrom<PropertyInfo>(mapping.Item2);
            Assert.Equal("OnTheRun", mapping.Item2.Name);
        }
Exemplo n.º 6
0
        public void Field_name_match_is_used_in_preference_to_property_setter()
        {
            var entityType = new EntityType(typeof(TheDarkSide));
            var property = entityType.AddProperty("Breathe", typeof(int));

            var mapping = new MemberMapper(new FieldMatcher()).MapPropertiesToMembers(entityType).Single();

            Assert.Same(property, mapping.Item1);
            Assert.IsAssignableFrom<FieldInfo>(mapping.Item2);
            Assert.Equal("_breathe", mapping.Item2.Name);
        }
Exemplo n.º 7
0
        public void Annotated_field_name_is_used_if_present()
        {
            var entityType = new EntityType(typeof(TheDarkSide));
            var property = entityType.AddProperty("SpeakToMe", typeof(int));
            property["BackingField"] = "fieldForSpeak";

            var mapping = new MemberMapper(new FieldMatcher()).MapPropertiesToMembers(entityType).Single();

            Assert.Same(property, mapping.Item1);
            Assert.Equal("fieldForSpeak", mapping.Item2.Name);
        }
Exemplo n.º 8
0
        public void Annotated_field_name_is_used_if_present()
        {
            var entityType = new EntityType(typeof(TheDarkSide));
            var property   = entityType.AddProperty("SpeakToMe", typeof(int));

            property["BackingField"] = "fieldForSpeak";

            var mapping = new MemberMapper(new FieldMatcher()).MapPropertiesToMembers(entityType).Single();

            Assert.Same(property, mapping.Item1);
            Assert.Equal("fieldForSpeak", mapping.Item2.Name);
        }
Exemplo n.º 9
0
        public EntityMaterializerSource([NotNull] MemberMapper memberMapper)
        {
            Check.NotNull(memberMapper, "memberMapper");

            _memberMapper = memberMapper;
        }
Exemplo n.º 10
0
        public void Property_and_field_in_base_type_is_matched()
        {
            var entityType = new EntityType(typeof(TheDarkSide));
            var property = entityType.AddProperty("TheGreatGigInTheSky", typeof(int));

            var mapping = new MemberMapper(new FieldMatcher()).MapPropertiesToMembers(entityType).Single();

            Assert.Same(property, mapping.Item1);
            Assert.IsAssignableFrom<FieldInfo>(mapping.Item2);
            Assert.Equal("_theGreatGigInTheSky", mapping.Item2.Name);
        }
Exemplo n.º 11
0
        public void Private_setter_in_base_class_of_overridden_property_is_used()
        {
            var entityType = new EntityType(typeof(TheDarkSide));
            var property = entityType.AddProperty("UsAndThem", typeof(int));

            var mapping = new MemberMapper(new FieldMatcher()).MapPropertiesToMembers(entityType).Single();

            Assert.Same(property, mapping.Item1);
            Assert.IsAssignableFrom<PropertyInfo>(mapping.Item2);
            Assert.Equal("UsAndThem", mapping.Item2.Name);
        }
        public EntityMaterializerSource([NotNull] MemberMapper memberMapper)
        {
            Check.NotNull(memberMapper, "memberMapper");

            _memberMapper = memberMapper;
        }