|
|
@@ -39,8 +39,8 @@ TEST(EitherStreamTest, ContainsErrorValue) {
|
|
|
auto strm = stream::either::make_stream<MathObject>(1.0).flatmap(
|
|
|
[](double d) { return divide(d, 0); });
|
|
|
|
|
|
- EXPECT_THAT(strm.value().index(), Eq(1));
|
|
|
- EXPECT_THAT(std::get<MathError>(strm.value()), Eq(MathError::DivideByZero));
|
|
|
+ strm.match([](double) { GTEST_FAIL(); },
|
|
|
+ [](MathError me) { EXPECT_THAT(me, MathError::DivideByZero); });
|
|
|
}
|
|
|
|
|
|
TEST(EitherStreamTest, ErrorValueMatchesToErrorHandler) {
|
|
|
@@ -74,12 +74,15 @@ TEST(EitherStreamTest, ErrorPropogatesBypassingMap) {
|
|
|
TEST(EitherStreamTest, ErrorPropogatesBypassingFlatmap) {
|
|
|
auto ex = stream::either::make_stream<MathObject>(1.0).flatmap(
|
|
|
[](double d) { return log(0.0, d); });
|
|
|
- EXPECT_THAT(std::get<MathError>(ex.value()), Eq(MathError::DomainError));
|
|
|
+ ex.match([](double) { GTEST_FAIL(); },
|
|
|
+ [](MathError me) { EXPECT_THAT(me, MathError::DomainError); });
|
|
|
|
|
|
auto strm = stream::either::make_stream<MathObject>(1.0).flatmap(
|
|
|
[](double d) { return log(1.0, d); });
|
|
|
- EXPECT_THAT(std::get<MathError>(strm.value()), Eq(MathError::DivideByZero));
|
|
|
+ strm.match([](double) { GTEST_FAIL(); },
|
|
|
+ [](MathError me) { EXPECT_THAT(me, MathError::DivideByZero); });
|
|
|
|
|
|
strm = strm.flatmap([](double d) { return log(0.0, d); });
|
|
|
- EXPECT_THAT(std::get<MathError>(strm.value()), Eq(MathError::DivideByZero));
|
|
|
+ strm.match([](double) { GTEST_FAIL(); },
|
|
|
+ [](MathError me) { EXPECT_THAT(me, MathError::DivideByZero); });
|
|
|
}
|