MCPcopy Create free account
hub / github.com/Tracktion/choc / testStringUtilities

Function testStringUtilities

tests/choc_tests.h:348–710  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

346}
347
348inline 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 "));

Callers

nothing calls this directly

Calls 15

CHOC_TESTFunction · 0.85
floatToStringFunction · 0.85
createHexStringFunction · 0.85
trimFunction · 0.85
trimStartFunction · 0.85
trimEndFunction · 0.85
endsWithFunction · 0.85
getDurationDescriptionFunction · 0.85
getByteSizeDescriptionFunction · 0.85
findInvalidUTF8DataFunction · 0.85
findLineAndColumnFunction · 0.85

Tested by

no test coverage detected