db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Craig Russell <Craig.Russ...@Sun.COM>
Subject Detach test case names
Date Tue, 20 Sep 2005 22:01:55 GMT
Hi Matthew,

Here are some test case names for review. This is from the  
spreadsheet. See how well it comes out in email.

Craig

A12.6.8-1
We define a new property called DetachOnClose  
PersistenceManager.setDetachOnClose(boolean detachOnClose) sets the  
DetachOnClose property


no
api/persistencemanager/detach/GetSetDetachOnClose
A12.6.8-2
PersistenceManager.getDetachOnClose() gets the value for the  
DetachOnClose property


no
api/persistencemanager/detach/GetSetDetachOnClose
A12.6.8-3
With this flag set to true, after close, the PersistenceManager  
guarantees that all persistent instances in the cache behave as  
detached instances


no
api/persistencemanager/detach/DetachOnCloseCreatesDetachedInstances
A12.6.8-4
can be serialized as detached instances.


no
api/persistencemanager/detach/SerializeCreatesDetachedInstances
A12.6.8-5
restored serialized instances are treated as detached instances.


no
api/persistencemanager/detach/RestoreSerializedInstances
A12.6.8-9
The order of instances in the parameter Collection’s iteration  
corresponds to the order of corresponding instances in the returned  
Collection’s iteration.


no
api/persistencemanager/detach/DetachOrderOfDetachedInstances
A12.6.8-10
If a detachCopy method is called with an active transaction, the  
parameter Collection of instances is first made persistent, and the  
reachability algorithm is run on the instances


no
api/persistencemanager/detach/DetachReachabilityOfDetachedInstances
A12.6.8-11
If a detachCopy method is called outside an active transaction, the  
reachability algorithm will not be run; if any transient instances  
are reachable via persistent fields, a JDOUserException is thrown for  
each persistent instance containing such fields.


no
api/persistencemanager/detach/ 
DetachTransientInstancesOutsideTransactionThrowsException
A12.6.8-12
If a detachCopy method is called outside an active transaction, the  
NontransactionalRead property must be true or JDOUserException is  
thrown.


no
api/persistencemanager/detach/ 
DetachOutsideTransactionRequiresNontransactionalRead
A12.6.8-13
For each instance in the parameter Collection, a corresponding  
detached copy is created.


no
api/persistencemanager/detach/DetachCreatesCopies
A12.6.8-14
If there are duplicates in the parameter Collection, the  
corresponding detached copy is used for each such duplicate.


no
api/persistencemanager/detach/DetachDuplicatesCreatesSingleInstance
A12.6.8-15
Instances in the persistent-new and persistent-dirty state are  
updated with their object identity and version


no
api/persistencemanager/detach/DetachNewAndDirtyInstancesAreUpdated
A12.6.8-16
If instances in a deleted state (either persistent-deleted or  
persistent-new-deleted) are attempted to be detached, a  
JDOUserException is thrown with nested JDOUserExceptions, one for  
each such instance.


no
api/persistencemanager/detach/DetachDeletedInstancesThrowsException
A12.6.8-17
All fields outside the FetchPlan in the detached instances are set to  
the Java language default value for the type of the field.


no
api/persistencemanager/detach/DetachedUnloadedFieldsHaveDefaultValues
A12.6.8-18
Fields in the FetchPlan of primitive and wrapper types are set to  
their values from the datastore


no
api/persistencemanager/detach/DetachFieldsLoadedFromDatabase
A12.6.8-19
Fields of references to persistence-capable types are set to the  
detached copy corresponding to the persistent instance.


no
api/persistencemanager/detach/DetachRelationshipsSetToDetachedInstances
A12.6.8-20
Fields of Collections and Maps are set to detached SCO instances  
containing references to detached copies corresponding to persistent  
instances in the datastore.


no
api/persistencemanager/detach/DetachRelationshipsSetToDetachedInstances
A12.6.8-21
While detached, any field access to a field that was not fetched  
throws JDODetachedFieldAccessException.


no
api/persistencemanager/detach/AccessingUnloadedFIeldsThrowsException
A12.6.8-22
Each detached instance has a persistent identity that can be obtained  
via the static JDOHelper method getObjectId(Object pc).


no
api/persistencemanager/detach/DetachedInstancesGetObjectId
A12.6.8-23
The version of detached instances can be obtained by the static  
JDOHelper method getVersion(Object pc).


no
api/persistencemanager/detach/DetachedInstancesGetObjectId
A12.6.8-24
Each detached instance must be of a class identified in the JDO  
metadata as detachable, or a JDOUserException is thrown with a nested  
JDOUserException for each such instance.


no
api/persistencemanager/detach/DetachNonDetachableThrowsException
A12.6.8-25
The order of instances in the parameter Collection’s iteration  
corresponds to the order of corresponding instances in the returned  
Collection’s iteration.


no
api/persistencemanager/detach/AttachOrderOfDetachedInstances
A12.6.8-26
Changes made to instances while detached are applied to the  
corresponding persistent instances in the cache.


no
api/persistencemanager/detach/AttachAppliesChangesToPersistentInstances
A12.6.8-27
New instances associated with the detached instances are added to the  
persistent instances in the corresponding place.


no
api/persistencemanager/detach/AttachOrderOfDetachedInstances
A12.6.8-28
If it cannot determine if changes were made, then it must mark the  
instance dirty.


no
api/persistencemanager/detach/AttachMarksInstancesDirty
A12.6.8-29
The makeTransactional flag, if set to true, requires the  
implementation to mark transactional the persistent instances  
corresponding to all instances in the closure of the detached graph.


no
api/persistencemanager/detach/AttachMarksInstancesTransactional
A12.6.8-30
If an instance that is not of a detachable class is attempted to be  
attached, a JDOUserException is thrown with a nested JDOUserException  
for each such instance.


no
api/persistencemanager/detach/AttachNonDetachableThrowsException



Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!


Mime
View raw message