You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2007/01/09 22:09:55 UTC
svn commit: r494579 - in
/incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test:
CASTestSetup.java FeatureStructureTest.java
Author: schor
Date: Tue Jan 9 13:09:54 2007
New Revision: 494579
URL: http://svn.apache.org/viewvc?view=rev&rev=494579
Log:
UIMA-25 added a test case to FeatureStructureTest that tests
assignment of FSArray to a feature declared to be an
array of some other type. Test passes with current code,
but would fail if the strange test in ll_subsumes which says
a superType subsumes a type and vice-versa at the same time, is
disabled.
Modified:
incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/CASTestSetup.java
incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/FeatureStructureTest.java
Modified: incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/CASTestSetup.java
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/CASTestSetup.java?view=diff&rev=494579&r1=494578&r2=494579
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/CASTestSetup.java (original)
+++ incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/CASTestSetup.java Tue Jan 9 13:09:54 2007
@@ -53,6 +53,13 @@
public static final String TOKEN_TYPE_TYPE = "TokenType";
public static final String WORD_TYPE = "Word";
+
+ public static final String ARRAYFSWITHSUBTYPE_TYPE = "ArrayFsWithSubtype";
+
+ public static final String ARRAYFSWITHSUBTYPE_TYPE_FEAT = "subArrayOfAnnot";
+
+ public static final String ARRAYFSWITHSUBTYPE_TYPE_FEAT_Q = ARRAYFSWITHSUBTYPE_TYPE + TypeSystem.FEATURE_SEPARATOR
+ + ARRAYFSWITHSUBTYPE_TYPE_FEAT;
public static final String SEP_TYPE = "Separator";
@@ -127,6 +134,9 @@
Type tokenType = tsm.addType(TOKEN_TYPE, annotType);
Type tokenTypeType = tsm.addType(TOKEN_TYPE_TYPE, topType);
tsm.addType(WORD_TYPE, tokenTypeType);
+ Type arrayFsWithSubtypeType = tsm.addType(ARRAYFSWITHSUBTYPE_TYPE, topType);
+ Type arrayOfAnnot = tsm.getArrayType(annotType);
+ tsm.addFeature(ARRAYFSWITHSUBTYPE_TYPE_FEAT, arrayFsWithSubtypeType, arrayOfAnnot);
tsm.addType(SEP_TYPE, tokenTypeType);
tsm.addType(EOS_TYPE, tokenTypeType);
tsm.addFeature(TOKEN_TYPE_FEAT, tokenType, tokenTypeType);
Modified: incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/FeatureStructureTest.java
URL: http://svn.apache.org/viewvc/incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/FeatureStructureTest.java?view=diff&rev=494579&r1=494578&r2=494579
==============================================================================
--- incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/FeatureStructureTest.java (original)
+++ incubator/uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/FeatureStructureTest.java Tue Jan 9 13:09:54 2007
@@ -21,6 +21,7 @@
import junit.framework.TestCase;
+import org.apache.uima.cas.ArrayFS;
import org.apache.uima.cas.CAS;
import org.apache.uima.cas.CASRuntimeException;
import org.apache.uima.cas.Feature;
@@ -54,6 +55,10 @@
private Type tokenTypeType;
private Type wordType;
+
+ private Type arrayFsWithSubtypeType;
+
+ private Feature arrayFsWithSubtypeTypeFeat;
private Type group1Type;
@@ -114,6 +119,9 @@
assertTrue(this.tokenTypeType != null);
this.wordType = this.ts.getType(CASTestSetup.WORD_TYPE);
assertTrue(this.wordType != null);
+ this.arrayFsWithSubtypeType = this.ts.getType(CASTestSetup.ARRAYFSWITHSUBTYPE_TYPE);
+ assertTrue(this.arrayFsWithSubtypeType != null);
+ this.arrayFsWithSubtypeTypeFeat = this.ts.getFeatureByFullName(CASTestSetup.ARRAYFSWITHSUBTYPE_TYPE_FEAT_Q);
this.group1Type = this.ts.getType(CASTestSetup.GROUP_1);
assertTrue(this.group1Type != null);
this.group2Type = this.ts.getType(CASTestSetup.GROUP_2);
@@ -178,6 +186,22 @@
assertTrue(token.getType().equals(tokenType1));
}
+ public void testSetArrayValuedFeature() {
+ FeatureStructure testFS = this.cas.createFS(this.arrayFsWithSubtypeType);
+ assertTrue(testFS.getFeatureValue(this.arrayFsWithSubtypeTypeFeat) == null);
+ ArrayFS arrayFS = cas.createArrayFS(1);
+ testFS.setFeatureValue(arrayFsWithSubtypeTypeFeat, arrayFS);
+ assertTrue(true);
+ boolean caughtExc = false;
+ try {
+ testFS.setFeatureValue(arrayFsWithSubtypeTypeFeat, testFS);
+ } catch (CASRuntimeException e) {
+ caughtExc = true;
+ assertTrue(e.getError() == CASRuntimeException.INAPPROP_RANGE);
+ }
+ assertTrue(caughtExc);
+ }
+
public void testSetFeatureValue() {
FeatureStructure token = this.cas.createFS(this.tokenType);
assertTrue(token.getFeatureValue(this.tokenTypeFeat) == null);