You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by re...@apache.org on 2022/11/10 15:09:52 UTC

[uima-uimafit] 01/01: Issue #207: Cannot override CAS content set in a BeforeEach method

This is an automated email from the ASF dual-hosted git repository.

rec pushed a commit to branch bugfix/207-Cannot-override-CAS-content-set-in-a-BeforeEach-method
in repository https://gitbox.apache.org/repos/asf/uima-uimafit.git

commit 02177f58840a03c98063697892348c3835b857d4
Author: Richard Eckart de Castilho <re...@apache.org>
AuthorDate: Thu Nov 10 16:09:40 2022 +0100

    Issue #207: Cannot override CAS content set in a BeforeEach method
    
    - Reset CAS after the test, not before the test
---
 .../java/org/apache/uima/fit/testing/junit/ManagedCas.java    | 10 ++--------
 .../java/org/apache/uima/fit/testing/junit/ManagedJCas.java   | 11 +++--------
 2 files changed, 5 insertions(+), 16 deletions(-)

diff --git a/uimafit-junit/src/main/java/org/apache/uima/fit/testing/junit/ManagedCas.java b/uimafit-junit/src/main/java/org/apache/uima/fit/testing/junit/ManagedCas.java
index 5031171..0d3a063 100644
--- a/uimafit-junit/src/main/java/org/apache/uima/fit/testing/junit/ManagedCas.java
+++ b/uimafit-junit/src/main/java/org/apache/uima/fit/testing/junit/ManagedCas.java
@@ -38,7 +38,6 @@ import org.apache.uima.resource.metadata.TypeSystemDescription;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.extension.AfterAllCallback;
 import org.junit.jupiter.api.extension.AfterTestExecutionCallback;
-import org.junit.jupiter.api.extension.BeforeTestExecutionCallback;
 import org.junit.jupiter.api.extension.ExtensionContext;
 import org.junit.jupiter.api.extension.TestWatcher;
 
@@ -50,8 +49,7 @@ import org.junit.jupiter.api.extension.TestWatcher;
  * handed out to any thread are reset (except any CASes which may meanwhile have been garbage
  * collected).
  */
-public final class ManagedCas implements TestWatcher, BeforeTestExecutionCallback,
-        AfterTestExecutionCallback, AfterAllCallback {
+public final class ManagedCas implements TestWatcher, AfterTestExecutionCallback, AfterAllCallback {
   private final ThreadLocal<CAS> casHolder;
 
   private final Set<CAS> managedCases = synchronizedSet(newSetFromMap(new WeakHashMap<>()));
@@ -103,14 +101,10 @@ public final class ManagedCas implements TestWatcher, BeforeTestExecutionCallbac
     casHolder.remove();
   }
 
-  @Override
-  public void beforeTestExecution(ExtensionContext aContext) throws Exception {
-    managedCases.forEach(CAS::reset);
-  }
-
   @Override
   public void afterTestExecution(ExtensionContext context) throws Exception {
     managedCases.forEach(this::assertValid);
+    managedCases.forEach(CAS::reset);
   }
 
   public ManagedCas skipValidation() {
diff --git a/uimafit-junit/src/main/java/org/apache/uima/fit/testing/junit/ManagedJCas.java b/uimafit-junit/src/main/java/org/apache/uima/fit/testing/junit/ManagedJCas.java
index 759c1f7..2d34514 100644
--- a/uimafit-junit/src/main/java/org/apache/uima/fit/testing/junit/ManagedJCas.java
+++ b/uimafit-junit/src/main/java/org/apache/uima/fit/testing/junit/ManagedJCas.java
@@ -38,7 +38,6 @@ import org.apache.uima.resource.metadata.TypeSystemDescription;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.extension.AfterAllCallback;
 import org.junit.jupiter.api.extension.AfterTestExecutionCallback;
-import org.junit.jupiter.api.extension.BeforeTestExecutionCallback;
 import org.junit.jupiter.api.extension.ExtensionContext;
 import org.junit.jupiter.api.extension.TestWatcher;
 
@@ -50,8 +49,8 @@ import org.junit.jupiter.api.extension.TestWatcher;
  * handed out to any thread are reset (except any JCases which may meanwhile have been garbage
  * collected).
  */
-public final class ManagedJCas implements TestWatcher, BeforeTestExecutionCallback,
-        AfterTestExecutionCallback, AfterAllCallback {
+public final class ManagedJCas
+        implements TestWatcher, AfterTestExecutionCallback, AfterAllCallback {
   private final ThreadLocal<JCas> casHolder;
 
   private final Set<JCas> managedCases = synchronizedSet(newSetFromMap(new WeakHashMap<>()));
@@ -103,14 +102,10 @@ public final class ManagedJCas implements TestWatcher, BeforeTestExecutionCallba
     casHolder.remove();
   }
 
-  @Override
-  public void beforeTestExecution(ExtensionContext aContext) throws Exception {
-    managedCases.forEach(JCas::reset);
-  }
-
   @Override
   public void afterTestExecution(ExtensionContext context) throws Exception {
     managedCases.forEach(this::assertValid);
+    managedCases.forEach(JCas::reset);
   }
 
   public ManagedJCas skipValidation() {