1
0
mirror of https://github.com/stefanocasazza/ULib.git synced 2025-09-28 19:05:55 +08:00
ULib/tests/ulib/test_bit_array.cpp
2017-02-24 19:00:25 +01:00

64 lines
1.1 KiB
C++

// test_bit_array.cpp
#include <ulib/utility/bit_array.h>
#ifndef U_HTTP2_DISABLE
# include <ulib/utility/http2.h>
#endif
int U_EXPORT main(int argc, char** argv)
{
U_ULIB_INIT(argv);
U_TRACE(5, "::main(%d,%p)", argc, argv)
UBitArray addrmask;
uint32_t i, nbits = addrmask.getNumBits();
U_ASSERT_EQUALS( addrmask.count(), 0 )
for (i = 0; i < nbits; ++i)
{
U_ASSERT_EQUALS( addrmask[i], false )
}
addrmask.setAll();
U_ASSERT_EQUALS( addrmask.count(), nbits )
for (i = 0; i < nbits; ++i)
{
U_ASSERT( addrmask[i] )
}
addrmask.clearAll();
U_ASSERT_EQUALS( addrmask.count(), 0 )
for (i = 0; i < nbits; ++i)
{
U_ASSERT_EQUALS( addrmask[i], false )
}
addrmask.setAll();
addrmask.set(1024);
++nbits;
U_ASSERT_EQUALS( addrmask.count(), nbits )
for (i = 0; i < nbits; ++i)
{
U_ASSERT( addrmask[i] )
}
for (nbits = addrmask.getNumBits(); i < nbits; ++i)
{
U_ASSERT_EQUALS( addrmask[i], false )
}
#if defined(DEBUG) && !defined(U_HTTP2_DISABLE)
UHTTP2::testHpackDynTbl();
#endif
}