Catel.Fody.Tests.DependentPropertyFacts.NotifiesPropertyChangedOfDepedentProperties C# (CSharp) Метод

NotifiesPropertyChangedOfDepedentProperties() приватный Метод

private NotifiesPropertyChangedOfDepedentProperties ( string modelType, string propertyName, string newValue, string expectedPropertyName ) : void
modelType string
propertyName string
newValue string
expectedPropertyName string
Результат void
        public void NotifiesPropertyChangedOfDepedentProperties(string modelType, string propertyName, string newValue, string expectedPropertyName)
        {
            var type = AssemblyWeaver.Assembly.GetType(modelType);
            var instance = Activator.CreateInstance(type);

            var changedProperties = new List<string>();
            ((INotifyPropertyChanged) instance).PropertyChanged += (sender, args) => changedProperties.Add(args.PropertyName);

            var propertyInfo = instance.GetType().GetProperty(propertyName);
            propertyInfo.SetValue(instance, newValue);

            var isPropertyChangedWorkingPropertyInfo = instance.GetType().GetProperty("IsPropertyChangedWorking");
            if (isPropertyChangedWorkingPropertyInfo != null)
            {
                Assert.IsTrue((bool)isPropertyChangedWorkingPropertyInfo.GetValue(instance));
            }

            Assert.Contains(expectedPropertyName, changedProperties);
        }
        #endregion