#include "../tmain.hpp"
void test_NumberFormatter_Format()
{
// 整数的格式化
assert (Poco::NumberFormatter::format(123) == "123");
assert (Poco::NumberFormatter::format(-123) == "-123");
assert (Poco::NumberFormatter::format(-123, 5) == " -123");
assert (Poco::NumberFormatter::format((unsigned) 123) == "123");
assert (Poco::NumberFormatter::format((unsigned) 123, 5) == " 123");
assert (Poco::NumberFormatter::format0((unsigned) 123, 5) == "00123");
assert (Poco::NumberFormatter::format((long) 123) == "123");
assert (Poco::NumberFormatter::format((long) -123) == "-123");
assert (Poco::NumberFormatter::format((long) -123, 5) == " -123");
assert (Poco::NumberFormatter::format((unsigned long) 123) == "123");
assert (Poco::NumberFormatter::format((unsigned long) 123, 5) == " 123");
#if defined(POCO_HAVE_INT64)
assert (Poco::NumberFormatter::format((Poco::Int64) 123) == "123");
assert (Poco::NumberFormatter::format((Poco::Int64) -123) == "-123");
assert (Poco::NumberFormatter::format((Poco::Int64) -123, 5) == " -123");
assert (Poco::NumberFormatter::format((Poco::UInt64) 123) == "123");
assert (Poco::NumberFormatter::format((Poco::UInt64) 123, 5) == " 123");
#endif
if (sizeof(void*) == 4)
{
assert (Poco::NumberFormatter::format((void*) 0x12345678) == "12345678");
}
else
{
assert (Poco::NumberFormatter::format((void*) 0x12345678) == "0000000012345678");
}
// 小数的格式化
assert (Poco::NumberFormatter::format(12.25) == "12.25");
assert (Poco::NumberFormatter::format(12.25, 4) == "12.2500");
assert (Poco::NumberFormatter::format(12.25, 8, 4) == " 12.2500");
}
void test_NumberFormatter_Format0()
{
assert (Poco::NumberFormatter::format0(123, 5) == "00123");
assert (Poco::NumberFormatter::format0(-123, 5) == "-0123");
assert (Poco::NumberFormatter::format0((long) 123, 5) == "00123");
assert (Poco::NumberFormatter::format0((long) -123, 5) == "-0123");
assert (Poco::NumberFormatter::format0((unsigned long) 123, 5) == "00123");
}
void test_NumberFormatterHex()
{
assert (Poco::NumberFormatter::formatHex(0x12) == "12");
assert (Poco::NumberFormatter::formatHex(0xab) == "AB");
assert (Poco::NumberFormatter::formatHex(0x12, 4) == "0012");
assert (Poco::NumberFormatter::formatHex(0xab, 4) == "00AB");
assert (Poco::NumberFormatter::formatHex((unsigned) 0x12) == "12");
assert (Poco::NumberFormatter::formatHex((unsigned) 0xab) == "AB");
assert (Poco::NumberFormatter::formatHex((unsigned) 0x12, 4) == "0012");
assert (Poco::NumberFormatter::formatHex((unsigned) 0xab, 4) == "00AB");
assert (Poco::NumberFormatter::formatHex((long) 0x12) == "12");
assert (Poco::NumberFormatter::formatHex((long) 0xab) == "AB");
assert (Poco::NumberFormatter::formatHex((long) 0x12, 4) == "0012");
assert (Poco::NumberFormatter::formatHex((long) 0xab, 4) == "00AB");
assert (Poco::NumberFormatter::formatHex((unsigned long) 0x12) == "12");
assert (Poco::NumberFormatter::formatHex((unsigned long) 0xab) == "AB");
assert (Poco::NumberFormatter::formatHex((unsigned long) 0x12, 4) == "0012");
assert (Poco::NumberFormatter::formatHex((unsigned long) 0xab, 4) == "00AB");
#if defined(POCO_HAVE_INT64)
assert (Poco::NumberFormatter::formatHex((Poco::Int64) 0x12) == "12");
assert (Poco::NumberFormatter::formatHex((Poco::Int64) 0xab) == "AB");
assert (Poco::NumberFormatter::formatHex((Poco::Int64) 0x12, 4) == "0012");
assert (Poco::NumberFormatter::formatHex((Poco::Int64) 0xab, 4) == "00AB");
assert (Poco::NumberFormatter::formatHex((Poco::UInt64) 0x12) == "12");
assert (Poco::NumberFormatter::formatHex((Poco::UInt64) 0xab) == "AB");
assert (Poco::NumberFormatter::formatHex((Poco::UInt64) 0x12, 4) == "0012");
assert (Poco::NumberFormatter::formatHex((Poco::UInt64) 0xab, 4) == "00AB");
#endif
}
void test_NumberFormatterFloat()
{
std::string s(Poco::NumberFormatter::format(1.0f));
assert (s == "1");
s = Poco::NumberFormatter::format(0.1f);
assert (s == "0.1");
s = Poco::NumberFormatter::format(1.0);
assert (s == "1");
s = Poco::NumberFormatter::format(0.1);
assert (s == "0.1");
}
【Poco】Poco::NumberFormatter的例子
最新推荐文章于 2023-12-13 23:30:50 发布