void StringUtilsTest::testFormatData() { uint8_t data[] = {0, 'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', 1, 2}; std::stringstream str; FormatData(&str, data, sizeof(data)); OLA_ASSERT_EQ( string("00 48 65 6c 6c 6f 20 57 .Hello W\n" "6f 72 6c 64 01 02 orld..\n"), str.str()); // try 4 bytes per line with a 2 space indent str.str(""); FormatData(&str, data, sizeof(data), 2, 4); OLA_ASSERT_EQ( string(" 00 48 65 6c .Hel\n" " 6c 6f 20 57 lo W\n" " 6f 72 6c 64 orld\n" " 01 02 ..\n"), str.str()); str.str(""); // try ending on the block boundary uint8_t data1[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o'}; FormatData(&str, data1, sizeof(data1), 0, 4); OLA_ASSERT_EQ( string("48 65 6c 6c Hell\n" "6f 20 57 6f o Wo\n"), str.str()); }