public void WhenSourceValueChangedAndItIsNotAnEnumerableThenEmptySetShouldBePassedToTarget() { var expectedItems = new List <object>(); var binding = new SetBinding(_targetAdapter, _sourceAdapter, _comparer); _sourceAdapter.ValueChangedCallback(new object()); CollectionAssert.AreEquivalent(expectedItems, _targetAdapter.Items); }
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); }
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); }
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); }