Esempio n. 1
0
        public void WhenSourceValueChangedAndItIsNotAnEnumerableThenEmptySetShouldBePassedToTarget()
        {
            var expectedItems = new List <object>();
            var binding       = new SetBinding(_targetAdapter, _sourceAdapter, _comparer);

            _sourceAdapter.ValueChangedCallback(new object());

            CollectionAssert.AreEquivalent(expectedItems, _targetAdapter.Items);
        }
Esempio n. 2
0
        public void WhenSourceItemsIsNotAnEnumerableThenUpdateTargetShouldPassEmptySetToTarget()
        {
            var expectedItems = new List <object>();

            _sourceAdapter.Value = new object();
            var binding = new SetBinding(_targetAdapter, _sourceAdapter, _comparer);

            binding.UpdateTarget();

            CollectionAssert.AreEqual(expectedItems, _targetAdapter.Items);
        }
Esempio n. 3
0
        public void UpdateSourceShouldPassTargetItemsAsSetToSource()
        {
            var expectedItems = new List <object> {
                1, 2
            };

            _targetAdapter.Items = new List <object> {
                1, 1, 2, 2
            };
            var binding = new SetBinding(_targetAdapter, _sourceAdapter, _comparer);

            binding.UpdateSource();
            CollectionAssert.AreEqual(expectedItems, _sourceAdapter.ValueAsCollection);
        }
Esempio n. 4
0
        public void WhenTargetCollectionChangedAndItemsWereRemovedThenTheyShouldNotBePassedToSource()
        {
            var expectedItems = new List <object>();

            _sourceAdapter.Value = new List <object> {
                1, 2
            };
            var binding = new SetBinding(_targetAdapter, _sourceAdapter, _comparer);

            _targetAdapter.CollectionChangedCallback(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, new List <object> {
                1, 2
            }));

            CollectionAssert.AreEquivalent(expectedItems, _sourceAdapter.ValueAsCollection);
        }