@Before public void setUp() throws InterruptedException { WriteSessionCleaner instance = Deencapsulation.getField(WriteSessionCleaner.class, WriteSessionCleaner.class); if(instance!=null) { instance.shutdown(); Thread lastThread=Deencapsulation.getField(instance,Thread.class); if(lastThread!=null) { lastThread.join(); } } Deencapsulation.setField(WriteSessionCleaner.class, "instance", null); }
private void canBeFound(final Class<? extends Enum<?>> enumClass, final Object expected) { final Enum<?> cast = enumClass.cast(expected); final Object actual = Deencapsulation.invoke(enumClass, "valueOf",cast.name()); assertThat(actual,equalTo(expected)); }
private Key unassambledKey() { Key sut=newInstance(Key.class.getName()); assertCacheIsEmpty(sut); assertThat(getField(sut,"templateId"),nullValue()); assertThat(getField(sut,"nameType"),nullValue()); assertThat(getField(sut,"nameValue"),nullValue()); return sut; }
private ApplicationContext setUpContext(RuntimeDelegate delegate) { ApplicationContext sut=ApplicationContext.getInstance(); Deencapsulation.setField(sut, "delegate",delegate); return sut; }
ExportImportDevice device = Deencapsulation.newInstance(ExportImportDevice.class, new Class[]{ExportImportDeviceParser.class}, parser); device.setImportMode(ImportMode.CreateOrUpdate); result.add(device);
@Test public void clearCleansCache() throws Exception { final CaseInsensitiveMap<String> sut=new CaseInsensitiveMap<String>(); final Map<String,String> cache=Deencapsulation.getField(sut,"caseInsensitiveKeys"); assertThat(sut.put("KEY","value"),nullValue()); assertThat(cache.keySet(),hasSize(1)); sut.clear(); assertThat(cache.keySet(),hasSize(0)); }
private ApplicationContext createContext() { ApplicationContext sut=ApplicationContext.getInstance(); Deencapsulation.setField(sut, "delegate",delegate); return sut; }
private void exerciseEnumerationGeneratedCode(Class<?> enumClass) { Object[] enumValues=(Object[])Deencapsulation.invoke(enumClass, "values"); for(Object enumValue:enumValues) { Object valueOf = Deencapsulation.invoke(enumClass, "valueOf",enumValue.toString()); assertThat(valueOf,sameInstance(enumValue)); } }
@Test public void testEqualsOnClassLoaders$sameClassNameAndSystemHashCode() throws Exception { HandlerId id1 = resourceHandlerId(); HandlerId id2 = containerHandlerId(); Deencapsulation.setField(id2, "className",Deencapsulation.getField(id1, "className")); Deencapsulation.setField(id2, "systemHashCode",Deencapsulation.getField(id1, "systemHashCode")); assertThat(id1,not(equalTo(id2))); assertThat(id2,not(equalTo(id1))); }
@Test public void testRestartsOnFailure() throws Exception { final CountDownLatch started=new CountDownLatch(1); final CountDownLatch failed=new CountDownLatch(1); ReferenceQueue<ContextWriteSession> referenceQueue=new ReferenceQueue<ContextWriteSession>() { @Override public Reference<? extends ContextWriteSession> remove() throws InterruptedException { started.await(); failed.countDown(); throw new Error("Failure"); } }; WriteSessionCleaner sut = Deencapsulation. newInstance(WriteSessionCleaner.class,referenceQueue); sut.start(); Thread firstThread=Deencapsulation.getField(sut,Thread.class); started.countDown(); failed.await(); firstThread.join(); sut.shutdown(); Thread lastThread=Deencapsulation.getField(sut,Thread.class); if(lastThread!=null) { lastThread.join(); } }
private void setAReachableLatestCommit() { ((GitlabMergeRequestStatus) getField(subject, "mergeRequestStatus")).setLatestCommitOfMergeRequest( mergeRequest.getId().toString(), commit.getId()); } }
@Test public void testAssembly$corruption() throws Exception { Key sut=unassambledKey(); Key key=Key.newInstance(RESOURCE_ID); setField(sut, "templateId", key.templateId()); setField(sut, "nameType", "bad type"); setField(sut, "nameValue", key.nameValue()); ResourceId id=sut.resourceId(); assertThat(id,equalTo(key.resourceId())); assertThat(sut,equalTo(key)); assertThat(sut.nameType(),equalTo(key.nameType())); }
private void verifyEnum(final Class<? extends Enum<?>> enumClass) { final Object invoke = Deencapsulation.invoke(enumClass, "values"); assertThat(invoke.getClass().isArray(),equalTo(true)); final Object[] values=(Object[])invoke; for(final Object expected:values) { canBeFound(enumClass, expected); } }
@Test public void testEqualsOnClassLoaders$sameClassName() throws Exception { HandlerId id1 = resourceHandlerId(); HandlerId id2 = containerHandlerId(); Deencapsulation.setField(id2, "className",Deencapsulation.getField(id1, "className")); assertThat(id1,not(equalTo(id2))); assertThat(id2,not(equalTo(id1))); }
@Test public void testCannotStartTwice() throws Exception { ReferenceQueue<ContextWriteSession> referenceQueue=new ReferenceQueue<ContextWriteSession>(); WriteSessionCleaner sut = Deencapsulation. newInstance(WriteSessionCleaner.class,referenceQueue); sut.start(); Thread firstThread=Deencapsulation.getField(sut,Thread.class); try { sut.start(); } catch (IllegalStateException e) { assertThat(e.getMessage(),equalTo("Write Session Cleaner is already running")); } finally { sut.shutdown(); firstThread.join(); } }
private SnapshotResolver buildResolver(ReadSession session, final ResourceSnapshotResolver resolver) { RuntimeDelegate.setInstance(new MockedRuntimeDelegate(resolver)); SnapshotResolver result= SnapshotResolver. builder(). withReadSession(session). withCanonicalBase(CANONICAL_BASE). build(); assertThat(result,notNullValue()); assertThat(Deencapsulation.getField(result, "resolver"),sameInstance((Object)resolver)); return result; } }
@Test public void testAdapt$illegalArgumentException() throws Exception { TypeAdapter<Term, URI> adapter = TypeAdapter.createAdapter(Term.class, URI.class); Deencapsulation.setField(adapter,"adapterMethod",External.class.getDeclaredMethod("noParameterMethod")); try { adapter.adapt(RDF.TYPE); fail("Should not adapt Term to URI if IllegalArgumentException is thrown"); } catch (IllegalStateException e) { assertThat(e.getMessage(),equalTo(SHOULD_ACCEPT)); } }
@Test public void onCompleted_notMuted(@Mocked final AbstractBuild build) { new NonStrictExpectations(subject) {{ invoke(subject, "getCause", (AbstractBuild) build); result = cause; invoke(subject, "getResult", (AbstractBuild) build); result = Result.SUCCESS; invoke(subject, "getRootUrl"); result = "http://git.example.com"; invoke(subject, "isPublishBuildProgressMessages"); result = true; }}; subject.onCompleted(build); new Verifications() {{ repository.createNote(anyInt, anyString, anyBoolean, anyBoolean); times = 1; }}; }
@BeforeClass public static void setUpBefore() { RuntimeDelegate.setInstance(new MockedRuntimeDelegate()); ApplicationContext instance = ApplicationContext.getInstance(); Deencapsulation.setField( instance, "delegate", RuntimeDelegate.getInstance()); DELEGATE=Deencapsulation.getField(instance, "delegate"); }