diff --git a/test/unit/range/views/persist_test.cpp b/test/unit/range/views/persist_test.cpp index 3bd36f38b5..e90b5228a1 100644 --- a/test/unit/range/views/persist_test.cpp +++ b/test/unit/range/views/persist_test.cpp @@ -11,14 +11,14 @@ #include #include +#include #include #include #include -#include #include -#include +#include // ============================================================================ // test templates @@ -26,68 +26,59 @@ TEST(view_persist, delegate_to_view_all) { + using namespace std::literals; + std::string vec{"foo"}; // pipe notation auto v = vec | seqan3::views::persist; - EXPECT_EQ("foo", v | seqan3::views::to); + EXPECT_RANGE_EQ("foo"sv, v); // function notation - std::string v2 = seqan3::views::persist(vec) | seqan3::views::to; - EXPECT_EQ("foo", v2); + EXPECT_RANGE_EQ("foo"sv, seqan3::views::persist(vec)); // combinability - auto v3 = vec | seqan3::views::persist | ranges::views::unique; - EXPECT_EQ("fo", v3 | seqan3::views::to); - std::string v3b = vec - | std::views::reverse - | seqan3::views::persist - | ranges::views::unique - | seqan3::views::to; - EXPECT_EQ("of", v3b); + EXPECT_RANGE_EQ("fo"sv, vec | seqan3::views::persist | ranges::views::unique); + EXPECT_RANGE_EQ("of"sv, vec | std::views::reverse | seqan3::views::persist | ranges::views::unique); // store combined auto a1 = seqan3::views::persist | ranges::views::unique; - auto v5 = vec | a1; - EXPECT_EQ("fo", v5 | seqan3::views::to); + EXPECT_RANGE_EQ("fo"sv, vec | a1); } TEST(view_persist, wrap_temporary) { + using namespace std::literals; + // pipe notation - auto v = std::string{"foo"} | seqan3::views::persist; - EXPECT_EQ("foo", v | seqan3::views::to); + EXPECT_RANGE_EQ("foo"sv, std::string{"foo"} | seqan3::views::persist); // function notation - std::string v2 = seqan3::views::persist(std::string{"foo"}) | seqan3::views::to; - EXPECT_EQ("foo", v2); + EXPECT_RANGE_EQ("foo"sv, seqan3::views::persist(std::string{"foo"})); // combinability - auto v3 = std::string{"foo"} | seqan3::views::persist | ranges::views::unique; - EXPECT_EQ("fo", v3 | seqan3::views::to); - std::string v3b = std::string{"foo"} - | seqan3::views::persist - | std::views::filter(seqan3::is_char<'o'>) - | ranges::views::unique - | seqan3::views::to; - EXPECT_EQ("o", v3b); + EXPECT_RANGE_EQ("fo"sv, std::string{"foo"} | seqan3::views::persist | ranges::views::unique); + EXPECT_RANGE_EQ("o"sv, std::string{"foo"} | seqan3::views::persist + | std::views::filter([](char const chr){return chr == 'o';}) + | ranges::views::unique); } TEST(view_persist, const) { + using namespace std::literals; + // inner const using t = std::string const; - auto v = t{"foo"} | seqan3::views::persist; - EXPECT_EQ("foo", v | seqan3::views::to); + EXPECT_RANGE_EQ("foo"sv, t{"foo"} | seqan3::views::persist); // outer const auto const & v2 = std::string{"foo"} | seqan3::views::persist; - EXPECT_EQ("foo", v2 | seqan3::views::to); + EXPECT_RANGE_EQ("foo"sv, v2); // inner + outer const using t = std::string const; auto const & v3 = t{"foo"} | seqan3::views::persist; - EXPECT_EQ("foo", v3 | seqan3::views::to); + EXPECT_RANGE_EQ("foo"sv, v3); } TEST(view_persist, concepts)