From: Richard B. <rb...@us...> - 2004-12-17 03:28:00
|
Update of /cvsroot/jcframework/Nunit/InheritedClasses In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24066/InheritedClasses Added Files: AutoIdClasses.vb AutoIdTests.vb Log Message: Unit test for identity columns --- NEW FILE: AutoIdClasses.vb --- Imports AToMSFramework Namespace InheritedClasses <AFTable("AutoIdParent", "MSA", AFTableAttribute.KeyType.usePrimary), _ AFAssociation(GetType(AutoIdChild), "Children", CUDAMap.CardinalityEnum.ONE_TO_MANY, Retrieve:=True, Save:=True), _ AFAssociationEntry("Children", "Id", "ParentId")> _ Public Class AutoIdParent Inherits CPersistentObject Private _Id As Integer <AFColumn("autoId", Identity:=True, iskey:=True)> _ Public Property Id() As Integer Get Return _Id End Get Set(ByVal Value As Integer) _Id = Value SetDirtyFlag() End Set End Property Private _Children As New CPersistentCollection Public Property Children() As CPersistentCollection Get Return _Children End Get Set(ByVal Value As CPersistentCollection) _Children = Value End Set End Property Private _Description As String <AFColumn("description")> _ Public Property Description() As String Get Return _Description End Get Set(ByVal Value As String) _Description = Value SetDirtyFlag() End Set End Property Public Overrides Function getNewObject() As AToMSFramework.CPersistentObject Return New AutoIdParent End Function Public Overrides Function IsValid() As Boolean Return True End Function End Class <AFTable("AutoIdChild", "MSA", AFTableAttribute.KeyType.usePrimary)> _ Public Class AutoIdChild Inherits CPersistentObject Private _Id As Integer <AFColumn("autoId", Identity:=True, iskey:=True)> _ Public Property Id() As Integer Get Return _Id End Get Set(ByVal Value As Integer) _Id = Value SetDirtyFlag() End Set End Property Private _Description As String <AFColumn("description")> _ Public Property Description() As String Get Return _Description End Get Set(ByVal Value As String) _Description = Value SetDirtyFlag() End Set End Property Private _Parent As AutoIdParent Public Property Parent() As AutoIdParent Get Return _Parent End Get Set(ByVal Value As AutoIdParent) _Parent = Value SetDirtyFlag() End Set End Property Private _ParentId As Integer <AFColumn("ParentId")> _ Public Property ParentId() As Integer Get If _Parent Is Nothing Then Return _ParentId Else Return _Parent.Id End If End Get Set(ByVal Value As Integer) _ParentId = Value End Set End Property Public Overrides Function getNewObject() As AToMSFramework.CPersistentObject Return New AutoIdChild End Function Public Overrides Function IsValid() As Boolean Return True End Function End Class End Namespace --- NEW FILE: AutoIdTests.vb --- Imports AToMSFramework Imports NUnit.Framework Namespace InheritedClasses <TestFixture()> Public Class AutoIdTests Private pbroker As CPersistenceBroker Private parent As AutoIdParent Private child As AutoIdChild Private rc As CRetrieveCriteria Private c As CCursor <TestFixtureSetUp()> Public Sub Init() Environment.CurrentDirectory = "C:\Projects\MMM\Nunit_AtomsFramework" Dim retry As Boolean = True While retry = True Try 'Remove any existing test database System.IO.File.Delete(".\db1.mdb") retry = False Catch iox As IO.IOException 'file is in use - so we will loop around until it is released GC.Collect() Catch ex As Exception retry = False End Try End While System.IO.File.Copy(".\original db1.mdb", ".\db1.mdb") pbroker = New CPersistenceBroker pbroker.init() End Sub <TestFixtureTearDown()> Public Sub Dispose() pbroker.Dispose() pbroker = Nothing End Sub <Test()> Public Sub SaveNewObjectTree() parent = New AutoIdParent parent.Description = "AutoParent" child = New AutoIdChild child.Description = "Child1" child.Parent = parent parent.Children.Add(child) child = New AutoIdChild child.Description = "Child2" child.Parent = parent parent.Children.Add(child) parent.Save() Assert.IsTrue(parent.Id > 0) Assert.IsTrue(CType(parent.Children.Item(0), AutoIdChild).Id > 0) Assert.IsTrue(CType(parent.Children.Item(1), AutoIdChild).Id > 0) End Sub End Class End Namespace |