#include "catch.hpp" #include "expected.hpp" #include using std::string; tl::expected getInt3(int val) { return val; } tl::expected getInt2(int val) { return val; } tl::expected getInt1() { return getInt2(5).and_then(getInt3); } TEST_CASE("Issue 1", "[issues.1]") { getInt1(); } tl::expected operation1() { return 42; } tl::expected operation2(int const val) { return "Bananas"; } TEST_CASE("Issue 17", "[issues.17]") { auto const intermediate_result = operation1(); intermediate_result.and_then(operation2); }