[Groonga-commit] groonga/grnxx at a15c516 [master] Update tests for grnxx::StringBuilder.

Back to archive index

susumu.yata null+****@clear*****
Mon Jul 1 13:17:21 JST 2013


susumu.yata	2013-07-01 13:17:21 +0900 (Mon, 01 Jul 2013)

  New Revision: a15c5165d71fb2e77ac08558f8d1587986ebe268
  https://github.com/groonga/grnxx/commit/a15c5165d71fb2e77ac08558f8d1587986ebe268

  Message:
    Update tests for grnxx::StringBuilder.

  Modified files:
    test/test_string_builder.cpp
    test/test_string_format.cpp

  Modified: test/test_string_builder.cpp (+55 -64)
===================================================================
--- test/test_string_builder.cpp    2013-07-01 13:07:41 +0900 (5e080be)
+++ test/test_string_builder.cpp    2013-07-01 13:17:21 +0900 (8cfba9c)
@@ -17,62 +17,68 @@
 */
 #include <cassert>
 
+#include "grnxx/bytes.hpp"
 #include "grnxx/logger.hpp"
 #include "grnxx/string_builder.hpp"
 #include "grnxx/time.hpp"
 
 void test_basic_operations() {
-  grnxx::StringBuilder builder;
+  {
+    grnxx::StringBuilder builder;
+    assert(builder);
+    assert(builder.bytes() == "");
 
-  assert(builder);
-  assert(builder.bytes() == "");
-
-  assert(!builder.append('X'));
-  assert(builder.bytes() == "");
-
-  char buf[4];
-  builder = grnxx::StringBuilder(buf);
-
-  assert(builder);
-  assert(builder.bytes() == "");
-
-  assert(builder.append('0'));
-  assert(builder.append('1'));
-  assert(builder.append('2'));
-  assert(!builder.append('3'));
-  assert(builder.bytes() == "012");
-
-  builder = grnxx::StringBuilder(buf, 3);
-
-  assert(!builder.append("0123", 4));
-  assert(builder.bytes() == "01");
+    assert(!builder.append('X'));
+    assert(builder.bytes() == "");
+  }
 
-  builder = grnxx::StringBuilder(grnxx::STRING_BUILDER_AUTO_RESIZE);
+  {
+    char buf[4];
+    grnxx::StringBuilder builder(buf);
+    assert(builder);
+    assert(builder.bytes() == "");
+
+    assert(builder.append('0'));
+    assert(builder.append('1'));
+    assert(builder.append('2'));
+    assert(!builder.append('3'));
+    assert(builder.bytes() == "012");
+  }
 
-  assert(builder.append('X', 3));
-  assert(builder.append('Y', 2));
-  assert(builder.append('Z', 1));
-  assert(builder.append('-', 0));
-  assert(builder.bytes() == "XXXYYZ");
+  {
+    char buf[4];
+    grnxx::StringBuilder builder(buf, 3);
+    assert(!builder.append("0123", 4));
+    assert(builder.bytes() == "01");
+  }
 
-  assert(builder.resize(4).bytes() == "XXXY");
-  assert(builder.resize(1000).length() == 1000);
+  {
+    grnxx::StringBuilder builder(grnxx::STRING_BUILDER_AUTO_RESIZE);
+    assert(builder.append('X', 3));
+    assert(builder.append('Y', 2));
+    assert(builder.append('Z', 1));
+    assert(builder.append('-', 0));
+    assert(builder.bytes() == "XXXYYZ");
 
-  builder = grnxx::StringBuilder(grnxx::STRING_BUILDER_AUTO_RESIZE);
+    assert(builder.resize(4).bytes() == "XXXY");
+    assert(builder.resize(1000).length() == 1000);
+  }
 
-  assert(builder);
-  assert(builder.bytes() == "");
+  {
+    grnxx::StringBuilder builder(grnxx::STRING_BUILDER_AUTO_RESIZE);
+    assert(builder);
+    assert(builder.bytes() == "");
 
-  const size_t STRING_LENGTH = 1 << 20;
-  for (size_t i = 0; i < STRING_LENGTH; ++i) {
-    assert(builder.append('X'));
+    const size_t STRING_LENGTH = 1 << 20;
+    for (size_t i = 0; i < STRING_LENGTH; ++i) {
+      assert(builder.append('X'));
+    }
+    assert(builder.bytes().size() == STRING_LENGTH);
   }
-  assert(builder.bytes().size() == STRING_LENGTH);
 }
 
 void test_char() {
   grnxx::StringBuilder builder(grnxx::STRING_BUILDER_AUTO_RESIZE);
-
   builder << '0';
   builder << '1';
   builder << '2';
@@ -82,41 +88,35 @@ void test_char() {
 
 void test_integer() {
   grnxx::StringBuilder builder(grnxx::STRING_BUILDER_AUTO_RESIZE);
-
   builder << 0;
   assert(builder.bytes() == "0");
 
-  builder = grnxx::StringBuilder(grnxx::STRING_BUILDER_AUTO_RESIZE);
-
+  builder.clear();
   builder << 0U;
   assert(builder.bytes() == "0");
 
-  builder = grnxx::StringBuilder(grnxx::STRING_BUILDER_AUTO_RESIZE);
-
+  builder.clear();
   builder << std::numeric_limits<std::int8_t>::min() << '/'
           << std::numeric_limits<std::int8_t>::max() << ','
           << std::numeric_limits<std::uint8_t>::min() << '/'
           << std::numeric_limits<std::uint8_t>::max();
   assert(builder.bytes() == "-128/127,0/255");
 
-  builder = grnxx::StringBuilder(grnxx::STRING_BUILDER_AUTO_RESIZE);
-
+  builder.clear();
   builder << std::numeric_limits<std::int16_t>::min() << '/'
           << std::numeric_limits<std::int16_t>::max() << ','
           << std::numeric_limits<std::uint16_t>::min() << '/'
           << std::numeric_limits<std::uint16_t>::max();
   assert(builder.bytes() == "-32768/32767,0/65535");
 
-  builder = grnxx::StringBuilder(grnxx::STRING_BUILDER_AUTO_RESIZE);
-
+  builder.clear();
   builder << std::numeric_limits<std::int32_t>::min() << '/'
           << std::numeric_limits<std::int32_t>::max() << ','
           << std::numeric_limits<std::uint32_t>::min() << '/'
           << std::numeric_limits<std::uint32_t>::max();
   assert(builder.bytes() == "-2147483648/2147483647,0/4294967295");
 
-  builder = grnxx::StringBuilder(grnxx::STRING_BUILDER_AUTO_RESIZE);
-
+  builder.clear();
   builder << std::numeric_limits<std::int64_t>::min() << '/'
           << std::numeric_limits<std::int64_t>::max() << ','
           << std::numeric_limits<std::uint64_t>::min() << '/'
@@ -127,36 +127,30 @@ void test_integer() {
 
 void test_floating_point_number() {
   grnxx::StringBuilder builder(grnxx::STRING_BUILDER_AUTO_RESIZE);
-
   builder << 0.0;
   assert(builder.bytes() == "0.000000");
 
-  builder = grnxx::StringBuilder(grnxx::STRING_BUILDER_AUTO_RESIZE);
-
+  builder.clear();
   builder << 16.5;
   assert(builder.bytes() == "16.500000");
 
-  builder = grnxx::StringBuilder(grnxx::STRING_BUILDER_AUTO_RESIZE);
-
+  builder.clear();
   builder << 2.75F;
   assert(builder.bytes() == "2.750000");
 
-  builder = grnxx::StringBuilder(grnxx::STRING_BUILDER_AUTO_RESIZE);
-
+  builder.clear();
   builder << (1.0 / 0.0) << '/' << (-1.0 / 0.0) << '/' << (0.0 / 0.0);
   assert(builder.bytes() == "inf/-inf/nan");
 }
 
 void test_bool() {
   grnxx::StringBuilder builder(grnxx::STRING_BUILDER_AUTO_RESIZE);
-
   builder << true << '/' << false;
   assert(builder.bytes() == "true/false");
 }
 
 void test_void_pointer() {
   grnxx::StringBuilder builder(grnxx::STRING_BUILDER_AUTO_RESIZE);
-
   builder << reinterpret_cast<void *>(0x13579BDF);
   if (sizeof(void *) == 4) {
     assert(builder.bytes() == "0x13579BDF");
@@ -164,20 +158,17 @@ void test_void_pointer() {
     assert(builder.bytes() == "0x0000000013579BDF");
   }
 
-  builder = grnxx::StringBuilder(grnxx::STRING_BUILDER_AUTO_RESIZE);
-
+  builder.clear();
   builder << static_cast<void *>(nullptr);
   assert(builder.bytes() == "nullptr");
 }
 
 void test_zero_terminated_string() {
   grnxx::StringBuilder builder(grnxx::STRING_BUILDER_AUTO_RESIZE);
-
   builder << "Hello, " << "world!";
   assert(builder.bytes() == "Hello, world!");
 
-  builder = grnxx::StringBuilder(grnxx::STRING_BUILDER_AUTO_RESIZE);
-
+  builder.clear();
   builder << static_cast<char *>(nullptr);
   assert(builder.bytes() == "nullptr");
 }

  Modified: test/test_string_format.cpp (+14 -32)
===================================================================
--- test/test_string_format.cpp    2013-07-01 13:07:41 +0900 (09f40a8)
+++ test/test_string_format.cpp    2013-07-01 13:17:21 +0900 (5ba7ba6)
@@ -20,89 +20,71 @@
 #include <iostream>
 #include <sstream>
 
+#include "grnxx/bytes.hpp"
 #include "grnxx/logger.hpp"
 #include "grnxx/stopwatch.hpp"
+#include "grnxx/string_builder.hpp"
 #include "grnxx/string_format.hpp"
 
 void test_align() {
-  grnxx::StringBuilder builder;
-
   char buf[8];
-  builder = grnxx::StringBuilder(buf);
-
+  grnxx::StringBuilder builder(buf);
   assert(builder << grnxx::StringFormat::align(
          "ABC", 6, '-', grnxx::STRING_FORMAT_ALIGNMENT_LEFT));
   assert(builder.bytes() == "ABC---");
 
-  builder = grnxx::StringBuilder(buf);
-
+  builder.clear();
   assert(builder << grnxx::StringFormat::align(
          "ABC", 6, '-', grnxx::STRING_FORMAT_ALIGNMENT_RIGHT));
   assert(builder.bytes() == "---ABC");
 
-  builder = grnxx::StringBuilder(buf);
-
+  builder.clear();
   assert(builder << grnxx::StringFormat::align(
          "ABC", 6, '-', grnxx::STRING_FORMAT_ALIGNMENT_CENTER));
   assert(builder.bytes() == "-ABC--");
 }
 
 void test_align_left() {
-  grnxx::StringBuilder builder;
-
   char buf[8];
-  builder = grnxx::StringBuilder(buf);
-
+  grnxx::StringBuilder builder(buf);
   assert(builder << grnxx::StringFormat::align_left(123, 5));
   assert(builder.bytes() == "123  ");
 
-  builder = grnxx::StringBuilder(buf);
-
+  builder.clear();
   assert(builder << grnxx::StringFormat::align_left(234, 5, 'X'));
   assert(builder.bytes() == "234XX");
 
-  builder = grnxx::StringBuilder(buf);
-
+  builder.clear();
   assert(!(builder << grnxx::StringFormat::align_left(345, 10, 'x')));
   assert(builder.bytes() == "345xxxx");
 }
 
 void test_align_right() {
-  grnxx::StringBuilder builder;
-
   char buf[8];
-  builder = grnxx::StringBuilder(buf);
-
+  grnxx::StringBuilder builder(buf);
   assert(builder << grnxx::StringFormat::align_right(456, 5));
   assert(builder.bytes() == "  456");
 
-  builder = grnxx::StringBuilder(buf);
-
+  builder.clear();
   assert(builder << grnxx::StringFormat::align_right(567, 5, 'X'));
   assert(builder.bytes() == "XX567");
 
-  builder = grnxx::StringBuilder(buf);
-
+  builder.clear();
   assert(!(builder << grnxx::StringFormat::align_right(678, 8, 'x')));
   assert(builder.bytes() == "xxxxx67");
 }
 
 void test_align_center() {
-  grnxx::StringBuilder builder;
-
   char buf[8];
-  builder = grnxx::StringBuilder(buf);
-
+  grnxx::StringBuilder builder(buf);
   assert(builder << grnxx::StringFormat::align_center(789, 5));
   assert(builder.bytes() == " 789 ");
 
-  builder = grnxx::StringBuilder(buf);
-
+  builder.clear();
   assert(builder << grnxx::StringFormat::align_center(890, 5, 'X'));
   assert(builder.bytes() == "X890X");
 
-  builder = grnxx::StringBuilder(buf);
-
+  builder.clear();
   assert(!(builder << grnxx::StringFormat::align_center(901, 8, 'x')));
   assert(builder.bytes() == "xx901xx");
 }
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index