@@ -0,0 +1,1622 @@
+package org.realityforge.arez;%0A%0Aimport javax.annotation.Nonnull;%0Aimport org.realityforge.braincheck.BrainCheckTestUtil;%0Aimport org.testng.annotations.AfterMethod;%0Aimport org.testng.annotations.BeforeMethod;%0A%0A@SuppressWarnings( %22Duplicates%22 )%0Apublic abstract class AbstractArezIntegrationTest%0A%7B%0A  @BeforeMethod%0A  protected void beforeTest()%0A    throws Exception%0A  %7B%0A    BrainCheckTestUtil.setVerboseErrorMessages( true );%0A    BrainCheckTestUtil.setCheckInvariants( true );%0A    BrainCheckTestUtil.setCheckApiInvariants( true );%0A%0A    ArezConfigTestUtil.setEnableNames( true );%0A    ArezConfigTestUtil.setPurgeReactionsWhenRunawayDetected( false );%0A    ArezConfigTestUtil.setEnforceTransactionType( true );%0A    ArezConfigTestUtil.setEnableSpy( true );%0A    getProxyLogger().setLogger( null );%0A    Arez.setProvider( null );%0A  %7D%0A%0A  @AfterMethod%0A  protected void afterTest()%0A    throws Exception%0A  %7B%0A    BrainCheckTestUtil.setVerboseErrorMessages( false );%0A    BrainCheckTestUtil.setCheckInvariants( false );%0A    BrainCheckTestUtil.setCheckApiInvariants( false );%0A%0A    ArezConfigTestUtil.setEnableNames( false );%0A    ArezConfigTestUtil.setPurgeReactionsWhenRunawayDetected( true );%0A    ArezConfigTestUtil.setEnforceTransactionType( false );%0A    ArezConfigTestUtil.setEnableSpy( false );%0A    getProxyLogger().setLogger( null );%0A  %7D%0A%0A  @Nonnull%0A  private ArezLogger.ProxyLogger getProxyLogger()%0A  %7B%0A    return (ArezLogger.ProxyLogger) ArezLogger.getLogger();%0A  %7D%0A%0A  @SuppressWarnings( %22SameParameterValue%22 )%0A  protected void setEnableNames( final boolean enableNames )%0A  %7B%0A    ArezConfigTestUtil.setEnableNames( enableNames );%0A  %7D%0A%7D%0A

Introduce abstract test class so can modify global settings as part of testing