public void RaiseProperyChanged_should_raise_PropertyChanged_event()
        {
            var vm             = new EmptyViewModelBaseSubClass();
            var eventWasRaised = false;

            vm.PropertyChanged += (sender, args) => eventWasRaised = true;

            vm.RaisePropertyChanged(null);

            Assert.True(eventWasRaised);
        }
        public void RaisePropertyChanged_called_in_setter_without_given_propertyName_should_raise_PropertyChanged_with_name_of_calling_Property()
        {
            var    vm           = new EmptyViewModelBaseSubClass();
            string propertyName = null;

            vm.PropertyChanged += (sender, args) => propertyName = args.PropertyName;

            vm.AnyProperty = "Any Random Value";

            Assert.Equal("AnyProperty", propertyName);
        }
        public void RaisePropertyChanged_should_raise_PropertyChanged_with_given_propertyName()
        {
            var    vm           = new EmptyViewModelBaseSubClass();
            string propertyName = null;

            vm.PropertyChanged += (sender, args) => propertyName = args.PropertyName;

            vm.RaisePropertyChanged("My Fancy Property Name");

            Assert.Equal("My Fancy Property Name", propertyName);
        }
        public void RaisePropertyChanged_Raises_PropertyChanged_Event()
        {
            var    vm                = new EmptyViewModelBaseSubClass();
            var    eventWasRaised    = false;
            string givenPropertyName = null;
            object sender            = null;

            vm.PropertyChanged += (s, e) =>
            {
                sender            = s;
                givenPropertyName = e.PropertyName;
                eventWasRaised    = true;
            };

            vm.CallRaisePropertyChanged("DerNameDesProperties");

            Assert.True(eventWasRaised);
            Assert.Same(vm, sender);
            Assert.Equal("DerNameDesProperties", givenPropertyName);
        }
        public void CanCreateInstance()
        {
            var vm = new EmptyViewModelBaseSubClass();

            Assert.NotNull(vm);
        }
        public void RaisePropertyChanged_without_any_subscriber_doese_not_throw_any_exeption()
        {
            var vm = new EmptyViewModelBaseSubClass();

            vm.RaisePropertyChanged(null);
        }