diff --git a/src/utf_view/tests/code_unit_view.t.cpp b/src/utf_view/tests/code_unit_view.t.cpp index f99acb0..4f1a7f0 100644 --- a/src/utf_view/tests/code_unit_view.t.cpp +++ b/src/utf_view/tests/code_unit_view.t.cpp @@ -10,9 +10,61 @@ #include #include #include +#include namespace utf_view::tests { +static_assert( + std::input_iterator< + std::ranges::iterator_t< + as_char8_t_view< + std::ranges::subrange, std::default_sentinel_t>>>>); + +static_assert( + std::input_iterator< + std::ranges::iterator_t< + as_char8_t_view< + std::ranges::subrange, + std::default_sentinel_t>>>>); + +static_assert( + std::input_iterator< + std::ranges::iterator_t< + as_char8_t_view< + std::ranges::subrange, + std::default_sentinel_t>>>>); +static_assert( + !std::forward_iterator< + std::ranges::iterator_t< + as_char8_t_view< + std::ranges::subrange, + std::default_sentinel_t>>>>); + +static_assert( + std::forward_iterator< + std::ranges::iterator_t< + as_char8_t_view< + std::ranges::subrange, + std::default_sentinel_t>>>>); +static_assert( + std::forward_iterator< + std::ranges::sentinel_t< + as_char8_t_view< + std::ranges::subrange, + test_forward_iterator>>>>); +static_assert( + std::bidirectional_iterator< + std::ranges::iterator_t< + as_char8_t_view< + std::ranges::subrange, + std::default_sentinel_t>>>>); +static_assert( + std::bidirectional_iterator< + std::ranges::sentinel_t< + as_char8_t_view< + std::ranges::subrange, + test_bidi_iterator>>>>); + // TODO: Comprehensive testing for `code_unit_view` constexpr bool smoke_test() {