use of org.llorllale.cactoos.matchers.Assertion in project cactoos by yegor256.
the class IoCheckedBiProcTest method executesWrappedProc.
@Test
void executesWrappedProc() throws Exception {
final AtomicInteger counter = new AtomicInteger();
new IoCheckedBiProc<>((first, second) -> counter.incrementAndGet()).exec(true, true);
new Assertion<>("Must execute wrapped proc", counter.get(), new IsEqual<>(1)).affirm();
}
use of org.llorllale.cactoos.matchers.Assertion in project cactoos by yegor256.
the class CheckedTest method throwsIoExceptionWithModifiedMessage.
@Test
public void throwsIoExceptionWithModifiedMessage() throws Exception {
final String message = "error msg";
new Assertion<>("Must throw io exception with modified message", () -> new Checked<>(() -> {
throw new IOException("io");
}, exp -> new IOException(message, exp)).value(), new Throws<>(message, IOException.class)).affirm();
}
use of org.llorllale.cactoos.matchers.Assertion in project cactoos by yegor256.
the class CheckedProcTest method noExceptionThrown.
@Test
public void noExceptionThrown() throws Exception {
final AtomicInteger counter = new AtomicInteger();
new CheckedProc<>(input -> counter.incrementAndGet(), exp -> exp).exec(false);
new Assertion<>("Must not throw an exception", counter.get(), new IsEqual<>(1)).affirm();
}
use of org.llorllale.cactoos.matchers.Assertion in project cactoos by yegor256.
the class AsyncTest method runsInBackgroundWithoutFuture.
@Test
void runsInBackgroundWithoutFuture() {
final CountDownLatch latch = new CountDownLatch(1);
new Assertion<>("Must run in the background without us touching the Future", new Async<>(new FuncOf<>(input -> latch.countDown(), true)), new IsApplicable<>(true, new Satisfies<>(future -> latch.await(1L, TimeUnit.SECONDS)))).affirm();
}
use of org.llorllale.cactoos.matchers.Assertion in project cactoos by yegor256.
the class AsyncTest method runsInBackgroundWithExecutorService.
@Test
void runsInBackgroundWithExecutorService() {
final String name = "secret name for thread executor";
final ThreadFactory factory = r -> new Thread(r, name);
final CountDownLatch latch = new CountDownLatch(1);
new Assertion<>("Must run in the background with specific thread executor", new Async<>(new FuncOf<>(input -> {
if (!input.equals(Thread.currentThread().getName())) {
throw new IllegalStateException("Another thread executor was used");
}
latch.countDown();
}, true), Executors.newSingleThreadExecutor(factory)), new IsApplicable<>(name, new Satisfies<>(future -> {
future.get();
return latch.getCount() == 0;
}))).affirm();
}
Aggregations