Пример #1
0
        public void VectorChanged_AddWhileNotAttached_AttachNotCalled()
        {
            BehaviorCollection behaviorCollection = new BehaviorCollection();
            StubBehavior       stub = new StubBehavior();

            behaviorCollection.Add(stub);

            TestUtilities.AssertNotAttached(stub);
        }
Пример #2
0
        public void VectorChanged_DuplicateAdd_ExceptionThrown()
        {
            BehaviorCollection behaviorCollection = new BehaviorCollection();
            StubBehavior       stub = new StubBehavior();

            behaviorCollection.Add(stub);

            TestUtilities.AssertThrowsInvalidOperationException(() => behaviorCollection.Add(stub));
        }
Пример #3
0
        public void Attach_MultipleObjects_ExceptionThrown()
        {
            BehaviorCollection behaviorCollection = new BehaviorCollection();
            StubBehavior       stub = new StubBehavior();

            behaviorCollection.Attach(new Button());

            TestUtilities.AssertThrowsInvalidOperationException(() => behaviorCollection.Attach(new StackPanel()));
        }
Пример #4
0
        public void VectorChanged_RemoveWhileNotAttached_DetachNotCalled()
        {
            BehaviorCollection behaviorCollection = new BehaviorCollection();

            StubBehavior behavior = new StubBehavior();

            behaviorCollection.Add(behavior);
            behaviorCollection.Remove(behavior);

            TestUtilities.AssertNotDetached(behavior);
        }
Пример #5
0
        public void VectorChanged_RemoveWhileAttached_Detached()
        {
            BehaviorCollection behaviorCollection = new BehaviorCollection();

            behaviorCollection.Attach(new ToggleSwitch());

            StubBehavior behavior = new StubBehavior();

            behaviorCollection.Add(behavior);
            behaviorCollection.Remove(behavior);

            TestUtilities.AssertDetached(behavior);
        }
Пример #6
0
        public void VectorChanged_ReplaceWhileAttached_OldDetachedNewAttached()
        {
            BehaviorCollection behaviorCollection = new BehaviorCollection();

            behaviorCollection.Attach(new Button());

            StubBehavior first = new StubBehavior();

            behaviorCollection.Add(first);

            StubBehavior second = new StubBehavior();

            behaviorCollection[0] = second;

            TestUtilities.AssertDetached(first);

            TestUtilities.AssertAttached(second, behaviorCollection.AssociatedObject);
        }
Пример #7
0
 public static void AssertNotAttached(StubBehavior behavior)
 {
     Assert.AreEqual(0, behavior.AttachCount, "The behavior should not be attached.");
     Assert.IsNull(behavior.AssociatedObject, "The AssociatedObject should be null for a non-attached Behavior.");
 }
Пример #8
0
 public static void AssertAttached(StubBehavior behavior, DependencyObject associatedObject)
 {
     Assert.AreEqual(1, behavior.AttachCount, "The behavior should be attached.");
     Assert.AreEqual(associatedObject, behavior.AssociatedObject, "The AssociatedObject of the Behavior should be what it was attached to.");
 }
Пример #9
0
 public static void AssertNotDetached(StubBehavior behavior)
 {
     Assert.AreEqual(0, behavior.DetachCount, "The Behavior should not be detached.");
 }
Пример #10
0
 public static void AssertDetached(StubBehavior behavior)
 {
     Assert.AreEqual(1, behavior.DetachCount, "The Behavior should be detached.");
     Assert.IsNull(behavior.AssociatedObject, "A Detached Behavior should have a null AssociatedObject.");
 }