static void test_1_02() { // 1. Setup pantheios::be::test::reset(); // 2. Create test data pantheios::log_NOTICE(pantheios::real(+1.1)); pantheios::log_NOTICE(pantheios::real(-1.1)); pantheios::log_NOTICE(pantheios::real(+0.0000001)); pantheios::log_NOTICE(pantheios::real(-0.0000001)); // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); XTESTS_TEST(!results.empty()); XTESTS_TEST(4 == results.size()); XTESTS_TEST_STRING_EQUAL(PSTR("1.1"), results[0].statement); XTESTS_TEST_STRING_EQUAL(PSTR("-1.1"), results[1].statement); // XTESTS_TEST_STRING_EQUAL(PSTR("0.0000001"), results[2].statement); // XTESTS_TEST_STRING_EQUAL(PSTR("-0.0000001"), results[3].statement); }
static void test_1_01() { // 1. Setup const PAN_CHAR_T prefix[] = PSTR("thread: "); PAN_CHAR_T tid_[21 + STLSOFT_NUM_ELEMENTS(prefix)]; PAN_CHAR_T const* tid = stlsoft::integer_to_string(&tid_[0], STLSOFT_NUM_ELEMENTS(tid_), pan_get_tid_()); PAN_CHAR_T const* stmt = tid - (STLSOFT_NUM_ELEMENTS(prefix) - 1); #ifdef PANTHEIOS_USE_WIDE_STRINGS ::wcsncpy(const_cast<PAN_CHAR_T*>(stmt), prefix, (STLSOFT_NUM_ELEMENTS(prefix) - 1)); #else /* ? PANTHEIOS_USE_WIDE_STRINGS */ ::strncpy(const_cast<PAN_CHAR_T*>(stmt), prefix, (STLSOFT_NUM_ELEMENTS(prefix) - 1)); #endif /* PANTHEIOS_USE_WIDE_STRINGS */ pantheios::be::test::reset(); // 2. Create test data pantheios::log_NOTICE(pantheios::threadId); pantheios::log_NOTICE(prefix, pantheios::threadId); // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); XTESTS_TEST(!results.empty()); XTESTS_TEST(2 == results.size()); XTESTS_TEST_STRING_EQUAL(tid, results[0].statement); XTESTS_TEST_STRING_EQUAL(stmt, results[1].statement); }
static void test_1_18() { // 1. Setup pantheios::be::test::reset(); // 2. Create test data char const* argv[] = { "abc" , "def ghi" , "jkl" }; pantheios::log_NOTICE(pantheios::args(STLSOFT_NUM_ELEMENTS(argv), argv, pantheios::args::alwaysQuoteArgs, "|")); // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); XTESTS_TEST(!results.empty()); XTESTS_TEST(1 == results.size()); XTESTS_TEST_MULTIBYTE_STRING_EQUAL("\"abc\"|\"def ghi\"|\"jkl\"", results[0].statement); }
static void test_1_04() { // 1. Setup pantheios::be::test::reset(); // 2. Create test data char const* argv[] = { "abc" , "def" , "ghi" , "jkl" }; pantheios::log_NOTICE(pantheios::args(STLSOFT_NUM_ELEMENTS(argv), argv)); // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); XTESTS_TEST(!results.empty()); XTESTS_TEST(1 == results.size()); XTESTS_TEST_MULTIBYTE_STRING_EQUAL("abc, def, ghi, jkl", results[0].statement); }
static void test_21() { // 1. Setup pantheios::be::test::reset(); // 2. Create test data std::string msgEl1(256, '~'); std::string msgEl2(4096, '#'); PANTHEIOS_TRACE_INFORMATIONAL(msgEl1, msgEl2); int LINE = __LINE__; // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); XTESTS_TEST(1 == results.size()); XTESTS_TEST(pantheios::informational == results[0].severity); PANTHEIOS_TEST_STRING_OBJECTS_EQUAL(fileline_stmt_((msgEl1 + msgEl2).c_str(), LINE), results[0].statement); }
static void test_1_05() { // 1. Setup pantheios::be::test::reset(); // 2. Create test data pantheios::boolean::set_value_strings(PSTR("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"), PSTR("T")); pantheios::log_NOTICE(PSTR("{"), pantheios::boolean(false), PSTR("}")); pantheios::log_NOTICE(PSTR("{"), pantheios::boolean(true), PSTR("}")); pantheios::boolean::set_value_strings(NULL, NULL); pantheios::log_NOTICE(PSTR("{"), pantheios::boolean(false), PSTR("}")); pantheios::log_NOTICE(PSTR("{"), pantheios::boolean(true), PSTR("}")); // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); XTESTS_TEST(!results.empty()); XTESTS_TEST_INTEGER_EQUAL(4u, results.size()); XTESTS_TEST_STRING_EQUAL(PSTR("{ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff}"), results[0].statement); XTESTS_TEST_STRING_EQUAL(PSTR("{T}"), results[1].statement); XTESTS_TEST_STRING_EQUAL(PSTR("{false}"), results[2].statement); XTESTS_TEST_STRING_EQUAL(PSTR("{true}"), results[3].statement); }
static void test_plain_characters() { static char const plain_characters[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789`~!@#$%^&*()-_=+[{]}|;:\",<.>/?"; // 1. Setup pantheios::be::test::reset(); // 2. Create test data { for(size_t i = 0; STLSOFT_NUM_ELEMENTS(plain_characters) - 1 != i; ++i) { PAN_CHAR_T const ch = plain_characters[i]; pantheios::log_NOTICE(PSTR("{"), pantheios::stream_character(ch), PSTR("}")); }} // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); XTESTS_TEST(!results.empty()); XTESTS_TEST_INTEGER_EQUAL(STLSOFT_NUM_ELEMENTS(plain_characters) - 1, results.size()); { for(size_t i = 0; STLSOFT_NUM_ELEMENTS(plain_characters) - 1 != i; ++i) { PAN_CHAR_T const ch = plain_characters[i]; PAN_CHAR_T sz[4] = { '{', ch, '}', '\0' }; XTESTS_TEST_STRING_EQUAL(sz, results[i].statement); }} }
static void test_21() { // 1. Setup pantheios::be::test::reset(); // 2. Create test data string_t msgEl1(256, '~'); string_t msgEl2(4096, '#'); pantheios::log(pantheios::informational, msgEl1, msgEl2); // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); XTESTS_TEST_INTEGER_EQUAL(1u, results.size()); XTESTS_TEST_STRING_EQUAL(msgEl1 + msgEl2, results[0].statement); XTESTS_TEST(pantheios::informational == results[0].severity); }
static void test_1_01() { { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(s_severities); ++i) { const int severity = s_severities[i]; // 1. Setup pantheios::be::test::reset(); // 2. Create test data pantheios::pantheios_logprintf(severity, PSTR("abc")); // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); if(!results.empty()) // Do test here, so will work with any back-end { XTESTS_TEST(1 == results.size()); PANTHEIOS_SEV_LEVELS_EQUAL(severity, results[0].severity); XTESTS_TEST_STRING_EQUAL(PSTR("abc"), results[0].statement); } }} }
static void test_1_2() { std::string sink; ff::fmt(sink, "{0}", "abc"); XTESTS_TEST("abc" == sink); }
static void test_01() { // 1. Setup pantheios::be::test::reset(); // 2. Create test data // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); XTESTS_TEST(results.empty()); XTESTS_TEST(0 == results.size()); }
static void test_1_7() { std::string sink; ff::fmt(sink, "{0} {1} {2} {3} {0} {4}", "the", "cat", "sat", "on", "mat"); XTESTS_TEST("the cat sat on the mat" == sink); }
static void test_1_5() { std::string sink; ff::fmt(sink, "{2}{1}{0}", "c", "b", "a"); XTESTS_TEST("abc" == sink); }
static void test_1_8() { std::string sink; ff::fmt(sink, "{0}{0}{0}{0}{0}{0}{0}{0}{0}{0} {1}{1}{1}{1}{1}{1}{1}{1}{1}{1}", "a", "b", "c"); XTESTS_TEST("aaaaaaaaaa bbbbbbbbbb" == sink); }
static void test_1_6() { std::string sink; ff::fmt(sink, "{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}{11}{12}{13}{14}{15}{16}{17}{18}{19}{20}{21}{22}{23}{24}{25}{26}{27}{28}{29}{30}{31}", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5"); XTESTS_TEST("abcdefghijklmnopqrstuvwxyz012345" == sink); }
static void test_11() { // 1. Setup pantheios::be::test::reset(); // 2. Create test data const size_t numEntries = 1000; int LINE1 = -1; int LINE2 = -1; { for(size_t i = 0; i < numEntries; ++i) { if(0 == (i % 2)) { PANTHEIOS_TRACE_INFORMATIONAL("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"); LINE1 = __LINE__; } else { PANTHEIOS_TRACE_INFORMATIONAL("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"); LINE2 = __LINE__; } }} // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); XTESTS_TEST(numEntries == results.size()); { for(size_t i = 0; i < numEntries; ++i) { XTESTS_TEST(pantheios::informational == results[i].severity); if(0 == (i % 2)) { PANTHEIOS_TEST_STRING_OBJECTS_EQUAL(fileline_stmt_("abcdefghijklmnopqrstuvwxyz", LINE1), results[i].statement); } else { PANTHEIOS_TEST_STRING_OBJECTS_EQUAL(fileline_stmt_("ABCDEFGHIJKLMNOPQRSTUVWXYZ", LINE2), results[i].statement); } }} }
static void test_1_11() { // 1. Setup pantheios::be::test::reset(); // 2. Create test data pantheios::log_NOTICE(pantheios::args(0, static_cast<char**>(NULL), pantheios::args::quoteArgsWithSpaces, "|")); // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); XTESTS_TEST(!results.empty()); XTESTS_TEST(1 == results.size()); XTESTS_TEST_MULTIBYTE_STRING_EQUAL("", results[0].statement); }
static void test_03() { // 1. Setup pantheios::be::test::reset(); // 2. Create test data PANTHEIOS_TRACE_NOTICE("abc"); int LINE = __LINE__; // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); XTESTS_TEST(!results.empty()); XTESTS_TEST(1 == results.size()); XTESTS_TEST(pantheios::notice == results[0].severity); PANTHEIOS_TEST_STRING_OBJECTS_EQUAL(fileline_stmt_("abc", LINE), results[0].statement); }
static void test_04() { // 1. Setup pantheios::be::test::reset(); // 2. Create test data PANTHEIOS_TRACE_INFORMATIONAL("abc", "def"); int LINE = __LINE__; // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); XTESTS_TEST(1 == results.size()); XTESTS_TEST(pantheios::informational == results[0].severity); PANTHEIOS_TEST_STRING_OBJECTS_EQUAL(fileline_stmt_("abcdef", LINE), results[0].statement); }
static void test_06() { // 1. Setup pantheios::be::test::reset(); // 2. Create test data PANTHEIOS_TRACE_INFORMATIONAL("abc", "def", "ghi", "jk", "lm", "no", "pq", "rs", "tu", "vw", "xy", "z"); int LINE = __LINE__; // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); XTESTS_TEST(1 == results.size()); XTESTS_TEST(pantheios::informational == results[0].severity); PANTHEIOS_TEST_STRING_OBJECTS_EQUAL(fileline_stmt_("abcdefghijklmnopqrstuvwxyz", LINE), results[0].statement); }
static void test_07() { // 1. Setup pantheios::be::test::reset(); // 2. Create test data PANTHEIOS_TRACE_INFORMATIONAL("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"); int LINE = __LINE__; // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); XTESTS_TEST(1 == results.size()); XTESTS_TEST(pantheios::informational == results[0].severity); PANTHEIOS_TEST_STRING_OBJECTS_EQUAL(fileline_stmt_("abcdefghijklmnopqrstuvwxyz", LINE), results[0].statement); }
static void test_1_02() { // 1. Setup pantheios::be::test::reset(); // 2. Create test data pantheios::log(pantheios::notice(1), PSTR("abc")); // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); XTESTS_TEST(!results.empty()); XTESTS_TEST(1 == results.size()); XTESTS_TEST_STRING_EQUAL(PSTR("abc"), results[0].statement); PANTHEIOS_SEV_LEVELS_EQUAL(PANTHEIOS_SEV_NOTICE | (1 << 4), results[0].severity); }
static void test_1_03() { // 1. Setup pantheios::be::test::reset(); // 2. Create test data pantheios::pantheios_logprintf(pantheios::error(0x01234567), PSTR("abc")); // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); XTESTS_TEST(!results.empty()); XTESTS_TEST(1 == results.size()); PANTHEIOS_SEV_LEVELS_EQUAL(PANTHEIOS_SEV_ERROR | (0x01234567 << 4), results[0].severity); XTESTS_TEST_STRING_EQUAL(PSTR("abc"), results[0].statement); }
static void test_1_01() { // 1. Setup pantheios::be::test::reset(); // 2. Create test data pantheios::log_NOTICE(pantheios::real(static_cast<float>(0))); pantheios::log_NOTICE(pantheios::real(static_cast<double>(0))); pantheios::log_NOTICE(pantheios::real(static_cast<long double>(0))); // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); XTESTS_TEST(!results.empty()); XTESTS_TEST(3 == results.size()); XTESTS_TEST_STRING_EQUAL(PSTR("0"), results[0].statement); XTESTS_TEST_STRING_EQUAL(PSTR("0"), results[1].statement); XTESTS_TEST_STRING_EQUAL(PSTR("0"), results[2].statement); }
static void test_2_03() { // 1. Setup pantheios::be::test::reset(); // 2. Create test data pantheios::log_NOTICE("[", pantheios::w2m(std::wstring(L"abc")), "]"); // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); XTESTS_TEST(!results.empty()); XTESTS_TEST_INTEGER_EQUAL(1u, results.size()); XTESTS_TEST_MULTIBYTE_STRING_EQUAL("[abc]", results[0].statement); }
static void test_3_09() { // 1. Setup pantheios::be::test::reset(); // 2. Create test data pantheios::log_NOTICE(pantheios::w2m(stlsoft::simple_wstring(L""))); // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); XTESTS_TEST(!results.empty()); XTESTS_TEST_INTEGER_EQUAL(1u, results.size()); XTESTS_TEST_MULTIBYTE_STRING_EQUAL("", results[0].statement); }
static void test_1_04() { { for(size_t i = 0; i != STLSOFT_NUM_ELEMENTS(s_severities); ++i) { const int severity = s_severities[i]; // 1. Setup pantheios::be::test::reset(); // 2. Create test data pantheios::pantheios_logputs(severity, PSTR("abc")); pantheios::pantheios_logputs(severity, PSTR("def")); pantheios::pantheios_logputs(severity, PSTR("abcdefghijklmnopqrstuvwxyz")); pantheios::pantheios_logputs(severity, PSTR("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")); // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); if(!results.empty()) // Do test here, so will work with any back-end { XTESTS_TEST(4 == results.size()); PANTHEIOS_SEV_LEVELS_EQUAL(severity, results[0].severity); XTESTS_TEST_STRING_EQUAL(PSTR("abc"), results[0].statement); PANTHEIOS_SEV_LEVELS_EQUAL(severity, results[1].severity); XTESTS_TEST_STRING_EQUAL(PSTR("def"), results[1].statement); PANTHEIOS_SEV_LEVELS_EQUAL(severity, results[2].severity); XTESTS_TEST_STRING_EQUAL(PSTR("abcdefghijklmnopqrstuvwxyz"), results[2].statement); PANTHEIOS_SEV_LEVELS_EQUAL(severity, results[3].severity); XTESTS_TEST_STRING_EQUAL(PSTR("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"), results[3].statement); } }} }
static void test_05() { // 1. Setup pantheios::be::test::reset(); // 2. Create test data pantheios::log(pantheios::informational, PSTR("abc"), PSTR("def"), PSTR("ghi")); // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); XTESTS_TEST_INTEGER_EQUAL(1u, results.size()); XTESTS_TEST_STRING_EQUAL(PSTR("abcdefghi"), results[0].statement); XTESTS_TEST(pantheios::informational == results[0].severity); }
static void test_07() { // 1. Setup pantheios::be::test::reset(); // 2. Create test data pantheios::log(pantheios::informational, PSTR("a"), PSTR("b"), PSTR("c"), PSTR("d"), PSTR("e"), PSTR("f"), PSTR("g"), PSTR("h"), PSTR("i"), PSTR("j"), PSTR("k"), PSTR("l"), PSTR("m"), PSTR("n"), PSTR("o"), PSTR("p"), PSTR("q"), PSTR("r"), PSTR("s"), PSTR("t"), PSTR("u"), PSTR("v"), PSTR("w"), PSTR("x"), PSTR("y"), PSTR("z")); // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); XTESTS_TEST_INTEGER_EQUAL(1u, results.size()); XTESTS_TEST_STRING_EQUAL(PSTR("abcdefghijklmnopqrstuvwxyz"), results[0].statement); XTESTS_TEST(pantheios::informational == results[0].severity); }
static void test_06() { // 1. Setup pantheios::be::test::reset(); // 2. Create test data pantheios::log(pantheios::informational, PSTR("abc"), PSTR("def"), PSTR("ghi"), PSTR("jk"), PSTR("lm"), PSTR("no"), PSTR("pq"), PSTR("rs"), PSTR("tu"), PSTR("vw"), PSTR("xy"), PSTR("z")); // 3. Verification pantheios::be::test::Results results = pantheios::be::test::results(); XTESTS_TEST_INTEGER_EQUAL(1u, results.size()); XTESTS_TEST_STRING_EQUAL(PSTR("abcdefghijklmnopqrstuvwxyz"), results[0].statement); XTESTS_TEST(pantheios::informational == results[0].severity); }