From: Richard B. <rb...@us...> - 2005-04-01 00:00:51
|
Update of /cvsroot/jcframework/Nunit/InheritedClasses In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15894/InheritedClasses Modified Files: AtomsFrameworkTests.vb CEmployee.vb Log Message: Unit tests for caching and event listeners, and also for timestamps on interfaces. Index: CEmployee.vb =================================================================== RCS file: /cvsroot/jcframework/Nunit/InheritedClasses/CEmployee.vb,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- CEmployee.vb 16 Mar 2005 11:34:12 -0000 1.2 +++ CEmployee.vb 1 Apr 2005 00:00:10 -0000 1.3 @@ -15,6 +15,7 @@ Private WithEvents m_children As CPersistentCollection Private m_team As CTeam Private m_teamoid As String + Public Event NameChanged As EventHandler <AFColumn("name", Find:=True)> _ Public Property Name() As String @@ -24,6 +25,7 @@ Set(ByVal Value As String) m_name = Value SetDirtyFlag() + RaiseEvent NameChanged(Me, New System.EventArgs) End Set End Property Index: AtomsFrameworkTests.vb =================================================================== RCS file: /cvsroot/jcframework/Nunit/InheritedClasses/AtomsFrameworkTests.vb,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- AtomsFrameworkTests.vb 3 Mar 2005 00:37:24 -0000 1.15 +++ AtomsFrameworkTests.vb 1 Apr 2005 00:00:10 -0000 1.16 @@ -593,5 +593,89 @@ Assert.IsTrue(emp.Persistent, "persistent check failed") End Sub + <Test()> Public Sub CheckEvents() + AddHandler emp.NameChanged, AddressOf NameChanged + eventcount = 0 + emp.Name = "Events" + Assert.AreEqual(1, eventcount) + emp.Find() + Assert.IsFalse(emp.Persistent) + emp.Save() + emp = New CEmployee + emp.Name = "Events" + emp.Find() + 'Should not have any events from the previous handler still firing + eventcount = 0 + emp.Name = "New Name 1" + Assert.AreEqual(0, eventcount) + AddHandler emp.NameChanged, AddressOf NameChanged + emp.Name = "New Name 2" + Assert.AreEqual(1, eventcount) + End Sub + + <Test()> Public Sub CheckEvents2() + AddHandler emp.NameChanged, AddressOf NameChanged + eventcount = 0 + emp.Name = "Events2" + Assert.AreEqual(1, eventcount) + emp.Find() + Assert.IsFalse(emp.Persistent) + emp.Save() + emp = New CEmployee + eventcount = 0 + AddHandler emp.NameChanged, AddressOf NameChanged + emp.Name = "Events2" + Assert.AreEqual(1, eventcount) + 'Should retain the event handlers + emp.Find() + emp.Name = "New Name 1" + Assert.AreEqual(2, eventcount) + End Sub + + <Test()> Public Sub CheckEvents3() + AddHandler emp.NameChanged, AddressOf NameChanged + eventcount = 0 + emp.Name = "Events3" + Assert.AreEqual(1, eventcount) + emp.Find() + Assert.IsFalse(emp.Persistent) + emp.Save() + pbroker.ClearCache() + emp = New CEmployee + eventcount = 0 + AddHandler emp.NameChanged, AddressOf NameChanged + emp.Name = "Events3" + Assert.AreEqual(1, eventcount) + 'Event should fire when property is set during retrieve + emp.Find() + Assert.AreEqual(2, eventcount) + 'Check event is still wired up after find completes + emp.Name = "Events3a" + Assert.AreEqual(3, eventcount) + End Sub + + <Test()> Public Sub CheckEvents4() + AddHandler emp.NameChanged, AddressOf NameChanged + eventcount = 0 + emp.Name = "Events4" + Assert.AreEqual(1, eventcount) + emp.Find() + Assert.IsFalse(emp.Persistent) + emp.Save() + emp = New CEmployee + emp.Name = "Events4" + emp.Find(emp) + 'Should not have any events from the previous handler still firing + eventcount = 0 + emp.Name = "Events4a" + Assert.AreEqual(0, eventcount) + AddHandler emp.NameChanged, AddressOf NameChanged + emp.Name = "Events4b" + Assert.AreEqual(1, eventcount) + End Sub + + Private Sub NameChanged(ByVal sender As Object, ByVal e As System.EventArgs) + eventcount += 1 + End Sub End Class End Namespace \ No newline at end of file |