📄 truncation_test_unittest_.h
字号:
!STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_uint64_t, signed short, SHRT_MAX) ||
0)
{
r->report("truncation_test<signed short>() failed ", __LINE__);
bSuccess = false;
}
// => signed short (failure)
if(
( sizeof(short) < sizeof(int) &&
( STLSOFT_CONV_TRUNCATION_TEST_CASE(signed int, signed short, SHRT_MIN - 1) ||
STLSOFT_CONV_TRUNCATION_TEST_CASE(signed int, signed short, SHRT_MAX + 1) ||
STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned int, signed short, SHRT_MAX + 1))) ||
( sizeof(short) < sizeof(long) &&
( STLSOFT_CONV_TRUNCATION_TEST_CASE(signed long, signed short, SHRT_MIN - 1) ||
STLSOFT_CONV_TRUNCATION_TEST_CASE(signed long, signed short, SHRT_MAX + 1) ||
STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned long, signed short, SHRT_MAX + 1))) ||
STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_sint64_t, signed short, SHRT_MIN - 1) ||
STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_sint64_t, signed short, SHRT_MAX + 1) ||
STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_uint64_t, signed short, SHRT_MAX + 1) ||
0)
{
r->report("truncation_test<signed short>() failed ", __LINE__);
bSuccess = false;
}
// => unsigned short (success)
if(
!STLSOFT_CONV_TRUNCATION_TEST_CASE(char, unsigned short, 0) ||
( sizeof(char) < sizeof(short) &&
!STLSOFT_CONV_TRUNCATION_TEST_CASE(char, unsigned short, CHAR_MAX)) ||
( sizeof(char) < sizeof(short) &&
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed char, unsigned short, SCHAR_MAX)) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned char, unsigned short, 0) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned char, unsigned short, UCHAR_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed short, unsigned short, 0) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed short, unsigned short, SHRT_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned short, unsigned short, 0) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned short, unsigned short, SHRT_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed int, unsigned short, 0) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed int, unsigned short, SHRT_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned int, unsigned short, 0) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned int, unsigned short, SHRT_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed long, unsigned short, 0) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed long, unsigned short, SHRT_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned long, unsigned short, 0) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned long, unsigned short, SHRT_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_sint64_t, unsigned short, 0) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_sint64_t, unsigned short, SHRT_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_uint64_t, unsigned short, 0) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_uint64_t, unsigned short, SHRT_MAX) ||
0)
{
r->report("truncation_test<unsigned short>() failed ", __LINE__);
bSuccess = false;
}
// => unsigned short (failure)
if(
STLSOFT_CONV_TRUNCATION_TEST_CASE(signed int, unsigned short, - 1) ||
( sizeof(short) < sizeof(int) &&
( STLSOFT_CONV_TRUNCATION_TEST_CASE(signed int, unsigned short, USHRT_MAX + 1) ||
STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned int, unsigned short, USHRT_MAX + 1))) ||
STLSOFT_CONV_TRUNCATION_TEST_CASE(signed long, unsigned short, - 1) ||
( sizeof(short) < sizeof(long) &&
( STLSOFT_CONV_TRUNCATION_TEST_CASE(signed long, unsigned short, USHRT_MAX + 1) ||
STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned long, unsigned short, USHRT_MAX + 1))) ||
STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_sint64_t, unsigned short, - 1) ||
STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_sint64_t, unsigned short, USHRT_MAX + 1) ||
STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_uint64_t, unsigned short, USHRT_MAX + 1) ||
0)
{
r->report("truncation_test<unsigned short>() failed ", __LINE__);
bSuccess = false;
}
// => signed int (success)
if(
!STLSOFT_CONV_TRUNCATION_TEST_CASE(char, signed int, CHAR_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed char, signed int, SCHAR_MIN) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed char, signed int, SCHAR_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned char, signed int, 0) ||
( sizeof(char) < sizeof(int) &&
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned char, signed int, UCHAR_MAX)) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed short, signed int, SHRT_MIN) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed short, signed int, SHRT_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned short, signed int, 0) ||
( sizeof(short) < sizeof(int) &&
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned short, signed int, USHRT_MAX)) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed int, signed int, INT_MIN) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed int, signed int, INT_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned int, signed int, 0) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned int, signed int, INT_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed long, signed int, INT_MIN) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed long, signed int, INT_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned long, signed int, 0) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned long, signed int, INT_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_sint64_t, signed int, INT_MIN) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_sint64_t, signed int, INT_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_uint64_t, signed int, 0) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_uint64_t, signed int, INT_MAX) ||
0)
{
r->report("truncation_test<signed int>() failed ", __LINE__);
bSuccess = false;
}
// => signed int (failure)
if(
STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_sint64_t, signed int, ss_sint64_t(INT_MIN) - 1) ||
STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_sint64_t, signed int, ss_sint64_t(INT_MAX) + 1) ||
STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_uint64_t, signed int, ss_uint64_t(INT_MAX) + 1) ||
0)
{
r->report("truncation_test<signed int>() failed ", __LINE__);
bSuccess = false;
}
// => signed long (success)
if(
!STLSOFT_CONV_TRUNCATION_TEST_CASE(char, signed long, CHAR_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed char, signed long, SCHAR_MIN) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed char, signed long, SCHAR_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned char, signed long, 0) ||
( sizeof(char) < sizeof(long) &&
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned char, signed long, UCHAR_MAX)) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed short, signed long, SHRT_MIN) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed short, signed long, SHRT_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned short, signed long, 0) ||
( sizeof(short) < sizeof(long) &&
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned short, signed long, USHRT_MAX)) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed int, signed long, INT_MIN) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed int, signed long, INT_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned int, signed long, 0) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned int, signed long, INT_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed long, signed long, LONG_MIN) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed long, signed long, LONG_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned long, signed long, 0) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned long, signed long, LONG_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_sint64_t, signed long, LONG_MIN) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_sint64_t, signed long, LONG_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_uint64_t, signed long, 0) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_uint64_t, signed long, LONG_MAX) ||
0)
{
r->report("truncation_test<signed long>() failed ", __LINE__);
bSuccess = false;
}
// => signed long (failure)
if(
STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_sint64_t, signed long, ss_sint64_t(LONG_MIN) - 1) ||
STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_sint64_t, signed long, ss_sint64_t(LONG_MAX) + 1) ||
STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_uint64_t, signed long, ss_uint64_t(LONG_MAX) + 1) ||
0)
{
r->report("truncation_test<signed long>() failed ", __LINE__);
bSuccess = false;
}
// => unsigned long
if(
STLSOFT_CONV_TRUNCATION_TEST_CASE(signed short, unsigned long, - 1) ||
0)
{
r->report("truncation_test<unsigned long>() failed ", __LINE__);
bSuccess = false;
}
// => signed long long (success)
if(
!STLSOFT_CONV_TRUNCATION_TEST_CASE(char, ss_sint64_t, CHAR_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed char, ss_sint64_t, SCHAR_MIN) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed char, ss_sint64_t, SCHAR_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned char, ss_sint64_t, 0) ||
( sizeof(char) < sizeof(long) &&
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned char, ss_sint64_t, UCHAR_MAX)) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed short, ss_sint64_t, SHRT_MIN) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed short, ss_sint64_t, SHRT_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned short, ss_sint64_t, 0) ||
( sizeof(short) < sizeof(long) &&
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned short, ss_sint64_t, USHRT_MAX)) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed int, ss_sint64_t, INT_MIN) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed int, ss_sint64_t, INT_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned int, ss_sint64_t, 0) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned int, ss_sint64_t, INT_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed long, ss_sint64_t, LONG_MIN) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(signed long, ss_sint64_t, LONG_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned long, ss_sint64_t, 0) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(unsigned long, ss_sint64_t, LONG_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_sint64_t, ss_sint64_t, STLSOFT_LIMIT_TRAITS__SINT64_MIN) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_sint64_t, ss_sint64_t, STLSOFT_LIMIT_TRAITS__SINT64_MAX) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_uint64_t, ss_sint64_t, 0) ||
!STLSOFT_CONV_TRUNCATION_TEST_CASE(ss_uint64_t, ss_sint64_t, STLSOFT_LIMIT_TRAITS__SINT64_MAX) ||
0)
{
r->report("truncation_test<signed long long>() failed ", __LINE__);
bSuccess = false;
}
return bSuccess;
}
ss_bool_t test_stlsoft_conversion_truncation_test(unittest_reporter *r)
{
using stlsoft::unittest::unittest_initialiser;
ss_bool_t bSuccess = true;
unittest_initialiser init(r, "STLSoft", "conversion/truncation_test", __FILE__);
if(!test_stlsoft_conversion_truncation_test_to_char(r))
{
bSuccess = false;
}
if(!test_stlsoft_conversion_truncation_test_to_signed_char(r))
{
bSuccess = false;
}
if(!test_stlsoft_conversion_truncation_test_to_unsigned_char(r))
{
bSuccess = false;
}
if(!test_stlsoft_conversion_truncation_test_to_signed_short(r))
{
bSuccess = false;
}
if(!test_stlsoft_conversion_truncation_test_to_unsigned_int(r))
{
bSuccess = false;
}
if(!test_stlsoft_conversion_truncation_test_to_signed_int(r))
{
bSuccess = false;
}
if(!test_stlsoft_conversion_truncation_test_to_unsigned_short(r))
{
bSuccess = false;
}
if(!test_stlsoft_conversion_truncation_test_to_signed_long(r))
{
bSuccess = false;
}
if(!test_stlsoft_conversion_truncation_test_to_unsigned_long(r))
{
bSuccess = false;
}
if(!test_stlsoft_conversion_truncation_test_to_signed_long_long(r))
{
bSuccess = false;
}
if(!test_stlsoft_conversion_truncation_test_to_unsigned_long_long(r))
{
bSuccess = false;
}
if(!test_stlsoft_conversion_truncation_test_121(r))
{
bSuccess = false;
}
return bSuccess;
}
unittest_registrar unittest_stlsoft_conversion_truncation_test(test_stlsoft_conversion_truncation_test);
} // anonymous namespace
} // namespace unittest
#endif /* compiler */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -