public void DoesNotThrowWhenAddingNonActiveAwareObjects() { var collection = new ObservableCollection <object>(); var behavior = new CollectionActiveAwareBehavior(collection); behavior.Attach(); collection.Add(new object()); }
public void DetachStopsListeningForChanges() { var collection = new ObservableCollection <object>(); var behavior = new CollectionActiveAwareBehavior(collection); behavior.Attach(); behavior.Detach(); ActiveAwareObject activeAwareObject = new ActiveAwareObject(); collection.Add(activeAwareObject); Assert.IsFalse(activeAwareObject.IsActive); }
public void SetsIsActivePropertyOnIActiveAwareObjects() { var collection = new ObservableCollection <object>(); var behavior = new CollectionActiveAwareBehavior(collection); behavior.Attach(); ActiveAwareObject activeAwareObject = new ActiveAwareObject(); Assert.IsFalse(activeAwareObject.IsActive); collection.Add(activeAwareObject); Assert.IsTrue(activeAwareObject.IsActive); collection.Remove(activeAwareObject); Assert.IsFalse(activeAwareObject.IsActive); }