コード例 #1
0
 public void CeaseListentingWhenMemberRemoved()
 {
     TestCollection.Remove(Fred);
     Expect(TestCollection.Count, Is.EqualTo(2));
     Expect(TestCollection.IndexOf(Fred), Is.Negative);
     Expect(ItemEventList.Count, Is.EqualTo(0), "Item Event count (pre change)");
     Expect(CollectionEventList.Count, Is.EqualTo(1), "Collection Event count (pre change)");
     Expect(CollectionEventList[0].Action, Is.EqualTo(NotifyCollectionChangedAction.Remove), "Action (remove)");
     Expect(CollectionEventList[0].OldItems.Count, Is.EqualTo(1), "OldItems count");
     Expect(CollectionEventList[0].NewItems, Is.Null, "NewItems count");
     Expect(CollectionEventList[0].OldItems[0], Is.EqualTo(Fred), "OldItems[0] dereference");
     CollectionEventList.Clear();          // Empty for next operation
     ItemEventList.Clear();
     Fred.Id = 7;
     Expect(CollectionEventList.Count, Is.EqualTo(0), "Collection Event count (post change)");
     Expect(ItemEventList.Count, Is.EqualTo(0), "Item Event count (post change)");
 }