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);
   }


Reply via email to