Added unit test for nice_unit_format()
authorGuilherme Maciel Ferreira <guilherme.maciel.ferreira@intra2net.com>
Mon, 31 Jan 2011 13:51:12 +0000 (14:51 +0100)
committerGuilherme Maciel Ferreira <guilherme.maciel.ferreira@intra2net.com>
Mon, 31 Jan 2011 13:51:12 +0000 (14:51 +0100)
test/stringfunc.cpp

index de9db50..9c61423 100644 (file)
@@ -103,6 +103,79 @@ BOOST_AUTO_TEST_CASE(html_entities3)
     BOOST_CHECK_EQUAL(string("&#270; &#3889; &#32904;"), output);
 }
 
+BOOST_AUTO_TEST_CASE(nice_unit_format1)
+{
+    const int64_t two_bytes = 2;
+    string output = nice_unit_format(two_bytes);
+    BOOST_CHECK_EQUAL(string("2.00 Bytes"), output);
+}
+
+BOOST_AUTO_TEST_CASE(nice_unit_format2)
+{
+    const int64_t two_kilobytes = 2000;
+    string output = nice_unit_format(two_kilobytes);
+    BOOST_CHECK_EQUAL(string("2.00 KBytes"), output);
+
+    const int64_t two_and_half_kilobytes = 2500;
+    output = nice_unit_format(two_and_half_kilobytes);
+    BOOST_CHECK_EQUAL(string("2.50 KBytes"), output);
+}
+
+BOOST_AUTO_TEST_CASE(nice_unit_format3)
+{
+    const int64_t two_megabytes = 2000000;
+    string output = nice_unit_format(two_megabytes);
+    BOOST_CHECK_EQUAL(string("2.00 MBytes"), output);
+
+    const int64_t two_and_half_megabytes = 2500000;
+    output = nice_unit_format(two_and_half_megabytes);
+    BOOST_CHECK_EQUAL(string("2.50 MBytes"), output);
+}
+
+BOOST_AUTO_TEST_CASE(nice_unit_format4)
+{
+    const int64_t two_gigabytes = 2000000000LL;
+    string output = nice_unit_format(two_gigabytes);
+    BOOST_CHECK_EQUAL(string("2.00 GBytes"), output);
+
+    const int64_t two_and_half_gigabytes = 2500000000LL;
+    output = nice_unit_format(two_and_half_gigabytes);
+    BOOST_CHECK_EQUAL(string("2.50 GBytes"), output);
+}
+
+BOOST_AUTO_TEST_CASE(nice_unit_format5)
+{
+    const int64_t two_terabytes = 2000000000000LL;
+    string output = nice_unit_format(two_terabytes);
+    BOOST_CHECK_EQUAL(string("2.00 TBytes"), output);
+
+    const int64_t two_and_half_terabytes = 2500000000000LL;
+    output = nice_unit_format(two_and_half_terabytes);
+    BOOST_CHECK_EQUAL(string("2.50 TBytes"), output);
+}
+
+BOOST_AUTO_TEST_CASE(nice_unit_format6)
+{
+    const int64_t two_petabytes = 2000000000000000LL;
+    string output = nice_unit_format(two_petabytes);
+    BOOST_CHECK_EQUAL(string("2.00 PBytes"), output);
+
+    const int64_t two_and_half_petabytes = 2500000000000000LL;
+    output = nice_unit_format(two_and_half_petabytes);
+    BOOST_CHECK_EQUAL(string("2.50 PBytes"), output);
+}
+
+BOOST_AUTO_TEST_CASE(nice_unit_format7)
+{
+    const int64_t two_exabytes = 2000000000000000000LL;
+    string output = nice_unit_format(two_exabytes);
+    BOOST_CHECK_EQUAL(string("2.00 EBytes"), output);
+
+    const int64_t two_and_half_exabytes = 2500000000000000000LL;
+    output = nice_unit_format(two_and_half_exabytes);
+    BOOST_CHECK_EQUAL(string("2.50 EBytes"), output);
+}
+
 BOOST_AUTO_TEST_CASE(imaputf7_to_utf8)
 {
     string output = utf7imap_to_utf8("Sp&AOQ-m");