public void CreatingNewCardShouldCreateBothDataAndTheControlAndSendProperNotification() { // This test checks a bunch of things at once because CreateCardAndView actually creates controls, so // is very expensive to call. WonderRulesCharacter testSubject = _TestData.EmptyRulesetCharacter(); const string cardName = "The new card"; testSubject.Name = cardName; testSubject.MonitorEvents(); testSubject.CreateCardAndView(); testSubject.CardData.Select(c => c.Name).Should().Equal(new object[] { cardName }); testSubject.Cards.Select(c => c.DataContext.As <CardData>().Name).Should().Equal(new object[] { cardName }); testSubject.ShouldRaisePropertyChangeFor(s => s.PersistableData); }