import zio.ZIO;
import zio.console.Console;
import zio.test.*;
import zio.test.Assertion.*;
public class ExampleSpec implements DefaultRunnableSpec {
public Spec<?> spec() {
return describe("example") {
it("should add two numbers") {
ZIO<Integer, String, Integer> add = ZIO.fromFunction((Console c) -> {
int result = 1 + 2;
return result;
});
ZIO<Integer, String, TestResult> test = add.mapError(Object::toString).map(result ->
assert(result, equalTo(3))
);
return test.provide(new Console() {}).map(TestResult::succeeded);
}
};
}
public static void main(String[] args) {
TestRunner.run(new ExampleSpec().spec());
}
}
<dependency>
<groupId>dev.zio</groupId>
<artifactId>zio</artifactId>
<version>1.0.0-RC21-2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>dev.zio</groupId>
<artifactId>zio-test</artifactId>
<version>1.0.0-RC21-2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>dev.zio</groupId>
<artifactId>zio-test-junit</artifactId>
<version>1.0.0-RC21-2</version>
<scope>test</scope>
</dependency>