Ejemplo n.º 1
0
        public void HandleChangeNotificationWithComparer()
        {
            var mock = new MockPropertiesWithChangeNotification();

            mock.PropertyChanged.Stored(out var propertyChangedEvent);
            mock.StringProperty.StoredWithChangeNotification(out var prop, propertyChangedEvent, "Test", new StringLengthComparer());
            IProperties sut = mock;

            var updatedProperties = new List <string>();

            mock.PropertyChanged.Add((s, e) =>
            {
                updatedProperties.Add(e.PropertyName);
            });

            // This causes an update as 'Hello' doesn't have the same length as the current value 'Test'
            sut.StringProperty = "Hello";

            // This doesn't cause an update as 'World' has the same length as current value 'Hello'.
            sut.StringProperty = "World";

            // So we'll only see one update
            Assert.Equal(new[] { "StringProperty" }, updatedProperties);

            // And the last written value was 'Hello'
            Assert.Equal("Hello", prop.Value);
        }
        public RaisePropertyChangedEventPropertyStepTests()
        {
            _mockProperties = new MockPropertiesWithChangeNotification();
            _properties     = _mockProperties;

            _npc = _mockProperties.PropertyChanged.Stored();

            ((INotifyPropertyChanged)_mockProperties).PropertyChanged += (sender, args) =>
            {
                _changedPropertyNames.Add(args.PropertyName);
            };
        }
Ejemplo n.º 3
0
        public void HandleChangeNotificationWithoutComparer()
        {
            var mock = new MockPropertiesWithChangeNotification();

            mock.PropertyChanged.Stored(out var propertyChangedEvent);
            mock.StringProperty.StoredWithChangeNotification(propertyChangedEvent);
            IProperties sut = mock;

            var updatedProperties = new List <string>();

            mock.PropertyChanged.Add((s, e) =>
            {
                updatedProperties.Add(e.PropertyName);
            });

            sut.StringProperty = "Hello";

            Assert.Equal(new[] { "StringProperty" }, updatedProperties);
        }