uhd/host/tests/compat_test.cpp
Martin Braun f30e1ea9b7 lib: Add compat_num class
This is a class to hold compat numbers, and provide comparison operators
for it.
2022-07-12 13:22:44 -05:00

43 lines
1.3 KiB
C++

//
// Copyright 2022 Ettus Research, a National Instruments Brand
//
// SPDX-License-Identifier: GPL-3.0-or-later
//
#include <uhdlib/utils/compat_check.hpp>
#include <boost/test/unit_test.hpp>
using namespace uhd;
BOOST_AUTO_TEST_CASE(test_compat_num16)
{
compat_num16 cn{5, 3};
BOOST_CHECK(cn == compat_num16(5, 3));
BOOST_CHECK(cn < compat_num16(5, 4));
BOOST_CHECK(cn < compat_num16(6, 0));
BOOST_CHECK(cn <= compat_num16(6, 0));
BOOST_CHECK(cn <= compat_num16(5, 3));
BOOST_CHECK(cn > compat_num16(5, 2));
BOOST_CHECK(cn > compat_num16(4, 7));
BOOST_CHECK(cn >= compat_num16(4, 7));
BOOST_CHECK(cn >= compat_num16(5, 3));
BOOST_CHECK(cn != compat_num16(0, 0));
BOOST_CHECK(cn == compat_num16((5 << 8) | 3));
}
BOOST_AUTO_TEST_CASE(test_compat_num32)
{
compat_num32 cn{5, 3};
BOOST_CHECK(cn == compat_num32(5, 3));
BOOST_CHECK(cn < compat_num32(5, 4));
BOOST_CHECK(cn < compat_num32(6, 0));
BOOST_CHECK(cn <= compat_num32(6, 0));
BOOST_CHECK(cn <= compat_num32(5, 3));
BOOST_CHECK(cn > compat_num32(5, 2));
BOOST_CHECK(cn > compat_num32(4, 7));
BOOST_CHECK(cn >= compat_num32(4, 7));
BOOST_CHECK(cn >= compat_num32(5, 3));
BOOST_CHECK(cn != compat_num32(0, 0));
BOOST_CHECK(cn == compat_num32((5 << 16) | 3));
}