public void ChangeTrackingModelCollection_BasicFunctionalityTest() { using (var verify = new Verify()) { var person = new ChangeTrackingPersonCollection(); var eventAssert = new PropertyChangedEventTest(verify, person); Assert.IsNull(person.FirstName); Assert.AreEqual("", person.LastName); person.FirstName = "John"; eventAssert.ExpectEvent("FirstName"); eventAssert.ExpectEvent("FullName"); eventAssert.ExpectEvent("IsChangedLocal"); eventAssert.ExpectEvent("IsChanged"); person.LastName = "Doe"; eventAssert.ExpectEvent("LastName"); eventAssert.ExpectEvent("FullName"); person.InvokeGoodPropertyMessage(); eventAssert.ExpectEvent("FullName"); } }