| 346 | } |
| 347 | |
| 348 | inline void testStringUtilities (choc::test::TestProgress& progress) |
| 349 | { |
| 350 | CHOC_CATEGORY (Strings); |
| 351 | |
| 352 | { |
| 353 | CHOC_TEST (FloatToString) |
| 354 | |
| 355 | CHOC_EXPECT_EQ ("1.0", choc::text::floatToString (1.0)); |
| 356 | CHOC_EXPECT_EQ ("1.0", choc::text::floatToString (1.0)); |
| 357 | CHOC_EXPECT_EQ ("1.1", choc::text::floatToString (1.1)); |
| 358 | CHOC_EXPECT_EQ ("1.1", choc::text::floatToString (1.1)); |
| 359 | CHOC_EXPECT_EQ ("0.0", choc::text::floatToString (1.123e-6, 4)); |
| 360 | CHOC_EXPECT_EQ ("1.0", choc::text::floatToString (1.0, 1)); |
| 361 | CHOC_EXPECT_EQ ("1.0", choc::text::floatToString (1.0, 2)); |
| 362 | CHOC_EXPECT_EQ ("1.1", choc::text::floatToString (1.1, 2)); |
| 363 | CHOC_EXPECT_EQ ("1.12", choc::text::floatToString (1.126, 2)); |
| 364 | CHOC_EXPECT_EQ ("0.0012", choc::text::floatToString (1.23e-3, 4)); |
| 365 | CHOC_EXPECT_EQ ("0.0", choc::text::floatToString (0.0f)); |
| 366 | CHOC_EXPECT_EQ ("0.0", choc::text::floatToString (0.0f)); |
| 367 | CHOC_EXPECT_EQ ("-0.0", choc::text::floatToString (-1.0f / std::numeric_limits<float>::infinity())); |
| 368 | CHOC_EXPECT_EQ ("-0.0", choc::text::floatToString (-1.0 / std::numeric_limits<double>::infinity())); |
| 369 | CHOC_EXPECT_EQ ("inf", choc::text::floatToString (std::numeric_limits<float>::infinity())); |
| 370 | CHOC_EXPECT_EQ ("-inf", choc::text::floatToString (-std::numeric_limits<float>::infinity())); |
| 371 | CHOC_EXPECT_EQ ("inf", choc::text::floatToString (std::numeric_limits<double>::infinity())); |
| 372 | CHOC_EXPECT_EQ ("-inf", choc::text::floatToString (-std::numeric_limits<double>::infinity())); |
| 373 | CHOC_EXPECT_EQ ("nan", choc::text::floatToString (std::numeric_limits<float>::quiet_NaN())); |
| 374 | CHOC_EXPECT_EQ ("-nan", choc::text::floatToString (-std::numeric_limits<float>::quiet_NaN())); |
| 375 | CHOC_EXPECT_EQ ("nan", choc::text::floatToString (std::numeric_limits<double>::quiet_NaN())); |
| 376 | CHOC_EXPECT_EQ ("-nan", choc::text::floatToString (-std::numeric_limits<double>::quiet_NaN())); |
| 377 | CHOC_EXPECT_EQ ("3.4028235e38", choc::text::floatToString (std::numeric_limits<float>::max())); |
| 378 | CHOC_EXPECT_EQ ("1.1754944e-38", choc::text::floatToString (std::numeric_limits<float>::min())); |
| 379 | CHOC_EXPECT_EQ ("-3.4028235e38", choc::text::floatToString (std::numeric_limits<float>::lowest())); |
| 380 | CHOC_EXPECT_EQ ("1.7976931348623157e308", choc::text::floatToString (std::numeric_limits<double>::max())); |
| 381 | CHOC_EXPECT_EQ ("2.2250738585072014e-308", choc::text::floatToString (std::numeric_limits<double>::min())); |
| 382 | CHOC_EXPECT_EQ ("-1.7976931348623157e308", choc::text::floatToString (std::numeric_limits<double>::lowest())); |
| 383 | } |
| 384 | |
| 385 | { |
| 386 | CHOC_TEST (HexConversion) |
| 387 | |
| 388 | CHOC_EXPECT_EQ ("1", choc::text::createHexString (1)); |
| 389 | CHOC_EXPECT_EQ ("100", choc::text::createHexString (256)); |
| 390 | CHOC_EXPECT_EQ ("ffff", choc::text::createHexString (65535)); |
| 391 | CHOC_EXPECT_EQ ("fffffffffffffffe", choc::text::createHexString (-2ll)); |
| 392 | CHOC_EXPECT_EQ ("00000001", choc::text::createHexString (1, 8)); |
| 393 | CHOC_EXPECT_EQ ("00000100", choc::text::createHexString (256, 8)); |
| 394 | CHOC_EXPECT_EQ ("0000ffff", choc::text::createHexString (65535, 8)); |
| 395 | CHOC_EXPECT_EQ ("fffffffffffffffe", choc::text::createHexString (-2ll, 8)); |
| 396 | } |
| 397 | |
| 398 | { |
| 399 | CHOC_TEST (Trimming) |
| 400 | |
| 401 | CHOC_EXPECT_EQ ("test", choc::text::trim ("test")); |
| 402 | CHOC_EXPECT_EQ ("test", choc::text::trim (" test")); |
| 403 | CHOC_EXPECT_EQ ("test", choc::text::trim (" test")); |
| 404 | CHOC_EXPECT_EQ ("test", choc::text::trim ("test ")); |
| 405 | CHOC_EXPECT_EQ ("test", choc::text::trim ("test ")); |
nothing calls this directly
no test coverage detected