You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-commits@db.apache.org by jd...@db.apache.org on 2005/01/12 21:14:18 UTC

[Apache JDO Wiki] New: Chapter18TestCoverageNotes

   Date: 2005-01-12T12:14:18
   Editor: MichelleCaisse
   Wiki: Apache JDO Wiki
   Page: Chapter18TestCoverageNotes
   URL: http://wiki.apache.org/jdo/Chapter18TestCoverageNotes

   no comment

New Page:

To support interface and property, we need a separate test schema, interfaces, and test cases.


The standard mappings of Company model will use the following elements and attributes.


||XML Element/attribute||Tested by Company Model Completeness Test?||Use Company Model for test||
|| <!ELEMENT jdo ((package)+, (query)*, (extension)*)> ||y|| ||
|| <!ELEMENT package (interface*, class*, sequence*, extension*)> ||y|| ||
|| <!ATTLIST package name CDATA #REQUIRED> ||y || ||
|| <!ELEMENT interface ((property)*, (extension*))> || ||n ||
|| <!ATTLIST interface name CDATA #REQUIRED> || ||n ||
|| <!ATTLIST interface requires-extent (true|false) ‘true’> || ||n ||
|| <!ELEMENT property ((collection|map|array|column)? , extension*)> || ||n ||
|| <!ATTLIST property name CDATA #REQUIRED> || ||n ||
|| <!ATTLIST property column CDATA #IMPLIED> || ||n ||
|| <!ELEMENT class (datastore-identity?, implements*, inheritance?, join*, foreign-key*, index*, field*, version?, query*, fetch-group*, extension*)> ||y || ||
|| <!ATTLIST class name CDATA #REQUIRED> ||y || ||
|| <!ATTLIST class identity-type (application|datastore|nondurable) #IMPLIED> ||y || ||
|| <!ATTLIST class table CDATA #IMPLIED> ||y || ||
|| <!ATTLIST class requires-extent (true|false) ‘true’>
y
|| <!ATTLIST class persistence-capable-superclass CDATA #IMPLIED>
n/a
|| <!ATTLIST class embedded-only (true|false) #IMPLIED>
y
|| <!ATTLIST class persistence-modifier (persistence-capable|persistence-aware|non-persistent) #IMPLIED>
y
|| <!ELEMENT join (column*, index?, foreign-key?, extension*)>
y
|| <!ATTLIST join table CDATA #IMPLIED>
y
|| <!ATTLIST join column CDATA #IMPLIED>
y
|| <!ATTLIST join outer (true|false) ‘false’>
n
yes
|| <!ATTLIST join foreign-key CDATA #IMPLIED>
y
|| <!ELEMENT datastore-identity ((column)*, (extension)*)>
y
|| <!ATTLIST datastore-identity column CDATA #IMPLIED>
y
|| <!ATTLIST datastore-identity strategy CDATA #IMPLIED>
y
multiple mappings
|| <!ATTLIST datastore-identity sequence-name CDATA #IMPLIED>
n
multiple mappings
|| <!ATTLIST datastore-identity factory-class CDATA #IMPLIED>
n
multiple mappings
|| <!ELEMENT implements ((property-field)+, (extension)*)>
separate schema
|| <!ATTLIST implements name CDATA #REQUIRED>
separate schema
|| <!ELEMENT inheritance (discriminator?, extension*)>
y
|| <!ATTLIST inheritance strategy CDATA #IMPLIED>
y
multiple mappings
|| <!ELEMENT discriminator (column?, extension*)>
y
|| <!ATTLIST discriminator column CDATA #IMPLIED>
n
yes, multiple mappings
|| <!ATTLIST discriminator value CDATA #IMPLIED>
y
multiple mappings
|| <!ATTLIST discriminator strategy CDATA #IMPLIED>
y
multiple mappings
|| <!ELEMENT column (extension*)>
y
|| <!ATTLIST column name CDATA #IMPLIED>
y
|| <!ATTLIST column target CDATA #IMPLIED>
y
|| <!ATTLIST column target-field CDATA #IMPLIED>
n
special test xcalia
|| <!ATTLIST column jdbc-type CDATA #IMPLIED>
y
|| <!ATTLIST column sql-type CDATA #IMPLIED>
n
special mapping
|| <!ATTLIST column length CDATA #IMPLIED>
y
|| <!ATTLIST column scale CDATA #IMPLIED>
y
|| <!ATTLIST column nulls-allowed CDATA #IMPLIED>
y
|| <!ELEMENT property-field (extension*)>
|| <!ATTLIST property-field name #REQUIRED>
|| <!ATTLIST property-field field-name #REQUIRED>
|| <!ELEMENT field ((collection|map|array|(column*))?, join?, element?, key?, value?, order?, embedded?, index?, foreign-key?, extension*)?>
y
|| <!ATTLIST field name CDATA #REQUIRED>
y
|| <!ATTLIST field persistence-modifier (persistent|transactional|none) #IMPLIED>
y
|| <!ATTLIST field table CDATA #IMPLIED>
y
|| <!ATTLIST field null-value (exception|default|none) ‘none’>
y
different mapping
|| <!ATTLIST field default-fetch-group (true|false) #IMPLIED>
y
different test case
different mappings
|| <!ATTLIST field embedded (true|false) #IMPLIED>
y
yes, but need different mappings
|| <!ATTLIST field serialized (true|false) #IMPLIED>
n
different mappings
|| <!ATTLIST field dependent (true|false) #IMPLIED>
y
|| <!ATTLIST field value-factory CDATA #IMPLIED>
n
different test case different mapping
|| <!ATTLIST field foreign-key CDATA #IMPLIED>
y
|| <!ATTLIST field fetch-group CDATA #IMPLIED>
n
same test different mapping
|| <!ATTLIST field depth CDATA #IMPLIED>
n
different test case
|| <!ELEMENT foreign-key (column*, extension*)>
y
|| <!ATTLIST foreign-key deferred (true|false) #IMPLIED>
n
different test case different mapping
|| <!ATTLIST foreign-key delete-action (cascade|restrict|null|default) #IMPLIED>
n
what does this mean?
|| <!ATTLIST foreign-key update-action (cascade|restrict|null|default) #IMPLIED>
n
what does this mean?
|| <!ATTLIST foreign-key unique (true|false) #IMPLIED>
n
different test case
|| <!ATTLIST foreign-key name CDATA #IMPLIED>
y
<!ELEMENT collection (extension*)>
y
|| <!ATTLIST collection element-type CDATA #IMPLIED>
y
|| <!ATTLIST collection embedded-element (true|false) #IMPLIED>
n
different test case different mapping
|| <!ATTLIST collection dependent-element (true|false) #IMPLIED>
y
|| <!ELEMENT map (extension)*>
n
n
|| <!ATTLIST map key-type CDATA #IMPLIED>
n
n
|| <!ATTLIST map embedded-key (true|false) #IMPLIED>
n
n
|| <!ATTLIST map dependent-key (true|false) #IMPLIED>
n
n
|| <!ATTLIST map value-type CDATA #IMPLIED>
n
n
|| <!ATTLIST map embedded-value (true|false) #IMPLIED>
n
n
|| <!ATTLIST map dependent-value (true|false) #IMPLIED>
n
n
|| <!ELEMENT key (column*, index?, embedded?, foreign-key?, extension*)>
n
n
|| <!ATTLIST key column CDATA #IMPLIED>
n
n
<!ATTLIST key serialized (true|false) #IMPLIED>
n
n
<!ATTLIST key foreign-key CDATA #IMPLIED>
n
n
<!ELEMENT value (column*, index?, embedded?, foreign-key?, extension*)>
n
n
<!ATTLIST value column CDATA #IMPLIED>
n
n
<!ATTLIST value serialized (true|false) #IMPLIED>
n
n
<!ATTLIST value foreign-key CDATA #IMPLIED>
n
n
<!ELEMENT array (extension*)>
n
n
<!ATTLIST array embedded-element (true|false) #IMPLIED>
n
n
<!ATTLIST array dependent-element (true|false) #IMPLIED>
n
n
<!ELEMENT element (column*, index?, embedded?, foreign-key?, extension*)>
y
<!ATTLIST element column CDATA #IMPLIED>
y
<!ATTLIST element serialized (true|false) #IMPLIED>
n
different model
<!ATTLIST element foreign-key CDATA #IMPLIED>
y
<!ELEMENT order (column*, extension*)>
n
different model
<!ATTLIST order column CDATA #IMPLIED>
n
different model
<!ELEMENT fetch-group (fetch-group|field)*>
n
<!ATTLIST fetch-group name CDATA #REQUIRED>
n
<!ATTLIST fetch-group post-load (true|false) #IMPLIED>
n
<!ELEMENT embedded (field*, owner?, extension*)>
y
<!ELEMENT owner (field?, extension*)>
n
different model
<!ELEMENT sequence (extension*)>
n
same model, different mapping
<!ATTLIST sequence name CDATA #REQUIRED>
n
same model, different mapping
<!ATTLIST sequence sequence-name CDATA #REQUIRED>
n
same model, different mapping
<!ATTLIST sequence strategy (non-transactional|transactional-contiguous|transactional-holes-allowed) #REQUIRED>
n
same model, different mapping
<!ELEMENT index (column*, extension*)>
y
<!ATTLIST index name CDATA #IMPLIED>
y
<!ATTLIST index unique (true|false) ‘false’>
y
<!ELEMENT query (extension*)>
n/a
<!ATTLIST query name CDATA #IMPLIED>
n/a
<!ATTLIST query language CDATA #IMPLIED>
n/a
<!ATTLIST query ignore-cache CDATA #IMPLIED>
n/a
<!ATTLIST query unmodifiable (true|false) false>
n/a
<!ELEMENT extension ANY>
n/a
<!ATTLIST extension vendor-name CDATA #REQUIRED>
n/a
<!ATTLIST extension key CDATA #IMPLIED>
n/a
<!ATTLIST extension value CDATA #IMPLIED>
n/a