X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=test%2Flogicdatasnapshot.cpp;h=66232cd6975be057bb6f9fa3d1cf7b4e027da037;hb=8743e7cba1f05ea0dde3dd566f28e6082ed055d0;hp=6e1f26364d778feb7e16a0e1a8edb306c1d6410a;hpb=6e66a9d46c279355965744548639ba5ef7cdb2cf;p=pulseview.git diff --git a/test/logicdatasnapshot.cpp b/test/logicdatasnapshot.cpp index 6e1f263..66232cd 100644 --- a/test/logicdatasnapshot.cpp +++ b/test/logicdatasnapshot.cpp @@ -18,6 +18,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +#define __STDC_LIMIT_MACROS +#include + #include #include "../logicdatasnapshot.h" @@ -37,6 +40,28 @@ void push_logic(LogicDataSnapshot &s, unsigned int length, uint8_t value) delete[] (uint8_t*)logic.data; } +BOOST_AUTO_TEST_CASE(Pow2) +{ + BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(-2, 0), -2); + BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(-1, 0), -1); + BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(0, 0), 0); + BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(1, 0), 1); + BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(2, 0), 2); + + BOOST_CHECK_EQUAL( + LogicDataSnapshot::pow2_ceil(INT64_MIN, 0), INT64_MIN); + BOOST_CHECK_EQUAL( + LogicDataSnapshot::pow2_ceil(INT64_MAX, 0), INT64_MAX); + + BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(-3, 1), -2); + BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(-2, 1), -2); + BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(-1, 1), 0); + BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(0, 1), 0); + BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(1, 1), 2); + BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(2, 1), 2); + BOOST_CHECK_EQUAL(LogicDataSnapshot::pow2_ceil(3, 1), 4); +} + BOOST_AUTO_TEST_CASE(Basic) { // Create an empty LogicDataSnapshot object