Author: schor
Date: Tue Nov 24 20:45:21 2015
New Revision: 1716253
URL: http://svn.apache.org/viewvc?rev=1716253&view=rev
Log:
[UIMA-4663] update the Cas Copier test - it was trying to copy a subtype of
AnnotationBase into the base CAS and expected it to work, but it is not
allowed, because the base CAS has no Sofa and cannot be used to store Feature
Structures which are subtypes of Annotation Base
Modified:
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/util/CasCopierTest.java
Modified:
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/util/CasCopierTest.java
URL:
http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/util/CasCopierTest.java?rev=1716253&r1=1716252&r2=1716253&view=diff
==============================================================================
---
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/util/CasCopierTest.java
(original)
+++
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/test/java/org/apache/uima/util/CasCopierTest.java
Tue Nov 24 20:45:21 2015
@@ -30,6 +30,7 @@ import org.apache.uima.UIMAFramework;
import org.apache.uima.UIMARuntimeException;
import org.apache.uima.cas.ArrayFS;
import org.apache.uima.cas.CAS;
+import org.apache.uima.cas.CASRuntimeException;
import org.apache.uima.cas.FSIterator;
import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.impl.CASImpl;
@@ -336,13 +337,22 @@ public class CasCopierTest extends TestC
CasComparer.assertEquals(arrFS, copyArrFS);
// test with using base cas
+
+ // Note that in v3, you cannot create subtypes of AnnotationBase in the
base CAS
destCas = CasCreationUtils.createCas(typeSystem, new
TypePriorities_impl(), indexes);
destCas.setDocumentText(srcCas.getDocumentText());
copier = new CasCopier(((CASImpl)srcCas).getBaseCAS(),
((CASImpl)destCas).getBaseCAS());
annotIter = srcCas.getAnnotationIndex().iterator();
annot = annotIter.next();
- copy = copier.copyFs(annot);
+ boolean wascaught = false;
+ try {
+ copy = copier.copyFs(annot);
+ } catch (CASRuntimeException e) {
+ wascaught = true;
+ assertEquals(e.getMessageKey(),
CASRuntimeException.DISALLOW_CREATE_ANNOTATION_IN_BASE_CAS);
+ }
+ assertTrue(wascaught);
// verify copy
CasComparer.assertEquals(annot, copy);
}