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 <[email protected]>
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() {

Reply via email to