public void Same_Property_Requested_From_Interface_And_DerivedType_From_Implementing_Type_Is_Considered_Equal()
        {
            EngineTypePropertyMember interfaceProperty = new EngineTypePropertyMember(typeof(IFoo).GetProperty("InterfaceProperty"));
            EngineTypePropertyMember deriveddProperty = new EngineTypePropertyMember(typeof(DerivedClass).GetProperty("InterfaceProperty"));

            Assert.True(interfaceProperty == deriveddProperty);
        }
        public void Overridden_Property_Requested_From_Base_And_Derived_Type_Is_ConsideredEqual()
        {
            EngineTypePropertyMember baseProperty = new EngineTypePropertyMember(typeof(BaseClass).GetProperty("VirtualProperty"));
            EngineTypePropertyMember overriddenProperty = new EngineTypePropertyMember(typeof(DerivedClass).GetProperty("VirtualProperty"));

            Assert.True(baseProperty == overriddenProperty);
        }
        public void Same_Property_Requested_From_Base_And_Derived_Types_Is_Considered_Equal()
        {
            EngineTypePropertyMember baseProperty = new EngineTypePropertyMember(typeof(BaseClass).GetProperty("SealedProperty"));
            EngineTypePropertyMember derivedProperty = new EngineTypePropertyMember(typeof(DerivedClass).GetProperty("SealedProperty"));

            Assert.True(baseProperty == derivedProperty);
        }
        public void Different_Properties_Are_Not_Considered_Equal()
        {
            EngineTypePropertyMember propertyOne = new EngineTypePropertyMember(typeof(BaseClass).GetProperty("SealedProperty"));
            EngineTypePropertyMember propertyTwo = new EngineTypePropertyMember(typeof(BaseClass).GetProperty("AnotherSealedProperty"));

            Assert.False(propertyOne == propertyTwo);
        }
        public void New_Property_Requested_From_Derived_Type_Is_Not_Considered_To_Hidden_Property()
        {
            var flags = BindingFlags.NonPublic | BindingFlags.DeclaredOnly | BindingFlags.Instance |
                           BindingFlags.Public | BindingFlags.Static;

            EngineTypePropertyMember baseProperty = new EngineTypePropertyMember(typeof(BaseClass).GetProperty("AnotherSealedProperty", flags));
            EngineTypePropertyMember overriddenProperty = new EngineTypePropertyMember(typeof(DerivedClass)
                .GetProperty("AnotherSealedProperty", flags));

            Assert.False(baseProperty == overriddenProperty);
        }
 public ObjectPropertySetFromSourceAction(EngineTypePropertyMember member, IDatasource source)
 {
     mMember = member;
     mDatasource = source;
 }
 public bool IsValid(EngineTypePropertyMember member)
 {
     return IsValidName(member.Name) && IsValidType(member.PropertyInfo.PropertyType);
 }
 public bool IsValid(EngineTypePropertyMember member)
 {
     return(IsValidName(member.Name) && IsValidType(member.PropertyInfo.PropertyType));
 }
 public TypePropertyGenerationContextNode(TypeGenerationContextNode parent, EngineTypePropertyMember property)
 {
     mParent = parent;
     mProperty = property;
 }
 public ObjectPropertySetFromValueAction(EngineTypePropertyMember member, Object value)
 {
     mMember = member;
     mValue = value;
 }
 public void SetupObjects()
 {
     mMember = (EngineTypePropertyMember)ReflectionHelper.GetMember<DerivedClass>(x => x.SomeProperty);
 }