#include <compare>
#include <cassert>
#include "test_macros.h"
constexpr bool test()
{
assert(!std::is_eq(std::strong_ordering::less));
assert( std::is_eq(std::strong_ordering::equal));
assert(!std::is_eq(std::strong_ordering::greater));
assert(!std::is_eq(std::weak_ordering::less));
assert( std::is_eq(std::weak_ordering::equivalent));
assert(!std::is_eq(std::weak_ordering::greater));
assert(!std::is_eq(std::partial_ordering::less));
assert( std::is_eq(std::partial_ordering::equivalent));
assert(!std::is_eq(std::partial_ordering::greater));
assert(!std::is_eq(std::partial_ordering::unordered));
assert( std::is_neq(std::strong_ordering::less));
assert(!std::is_neq(std::strong_ordering::equal));
assert( std::is_neq(std::strong_ordering::greater));
assert( std::is_neq(std::weak_ordering::less));
assert(!std::is_neq(std::weak_ordering::equivalent));
assert( std::is_neq(std::weak_ordering::greater));
assert( std::is_neq(std::partial_ordering::less));
assert(!std::is_neq(std::partial_ordering::equivalent));
assert( std::is_neq(std::partial_ordering::greater));
assert( std::is_neq(std::partial_ordering::unordered));
assert( std::is_lt(std::strong_ordering::less));
assert(!std::is_lt(std::strong_ordering::equal));
assert(!std::is_lt(std::strong_ordering::greater));
assert( std::is_lt(std::weak_ordering::less));
assert(!std::is_lt(std::weak_ordering::equivalent));
assert(!std::is_lt(std::weak_ordering::greater));
assert( std::is_lt(std::partial_ordering::less));
assert(!std::is_lt(std::partial_ordering::equivalent));
assert(!std::is_lt(std::partial_ordering::greater));
assert(!std::is_lt(std::partial_ordering::unordered));
assert( std::is_lteq(std::strong_ordering::less));
assert( std::is_lteq(std::strong_ordering::equal));
assert(!std::is_lteq(std::strong_ordering::greater));
assert( std::is_lteq(std::weak_ordering::less));
assert( std::is_lteq(std::weak_ordering::equivalent));
assert(!std::is_lteq(std::weak_ordering::greater));
assert( std::is_lteq(std::partial_ordering::less));
assert( std::is_lteq(std::partial_ordering::equivalent));
assert(!std::is_lteq(std::partial_ordering::greater));
assert(!std::is_lteq(std::partial_ordering::unordered));
assert(!std::is_gt(std::strong_ordering::less));
assert(!std::is_gt(std::strong_ordering::equal));
assert( std::is_gt(std::strong_ordering::greater));
assert(!std::is_gt(std::weak_ordering::less));
assert(!std::is_gt(std::weak_ordering::equivalent));
assert( std::is_gt(std::weak_ordering::greater));
assert(!std::is_gt(std::partial_ordering::less));
assert(!std::is_gt(std::partial_ordering::equivalent));
assert( std::is_gt(std::partial_ordering::greater));
assert(!std::is_gt(std::partial_ordering::unordered));
assert(!std::is_gteq(std::strong_ordering::less));
assert( std::is_gteq(std::strong_ordering::equal));
assert( std::is_gteq(std::strong_ordering::greater));
assert(!std::is_gteq(std::weak_ordering::less));
assert( std::is_gteq(std::weak_ordering::equivalent));
assert( std::is_gteq(std::weak_ordering::greater));
assert(!std::is_gteq(std::partial_ordering::less));
assert( std::is_gteq(std::partial_ordering::equivalent));
assert( std::is_gteq(std::partial_ordering::greater));
assert(!std::is_gteq(std::partial_ordering::unordered));
ASSERT_NOEXCEPT(std::is_eq(std::partial_ordering::less));
ASSERT_NOEXCEPT(std::is_neq(std::partial_ordering::less));
ASSERT_NOEXCEPT(std::is_lt(std::partial_ordering::less));
ASSERT_NOEXCEPT(std::is_lteq(std::partial_ordering::less));
ASSERT_NOEXCEPT(std::is_gt(std::partial_ordering::less));
ASSERT_NOEXCEPT(std::is_gteq(std::partial_ordering::less));
return true;
}
int main(int, char**) {
test();
static_assert(test());
return 0;
}