1 /*++ 2 Copyright (c) 2006 Microsoft Corporation 3 4 Module Name: 5 6 tst_string_buffer.cpp 7 8 Abstract: 9 10 Test string buffer 11 12 Author: 13 14 Leonardo de Moura (leonardo) 2006-10-14. 15 16 Revision History: 17 18 --*/ 19 #include<cstdlib> 20 #include "util/debug.h" 21 #include "util/string_buffer.h" 22 #include "util/trace.h" 23 tst1()24static void tst1() { 25 string_buffer<> b; 26 b << "Testing" << 10 << true; 27 ENSURE(strcmp(b.c_str(), "Testing10true") == 0); 28 } 29 tst2()30static void tst2() { 31 string_buffer<> b; 32 for (unsigned i = 0; i < 10000; i++) { 33 int r = rand() % 10; 34 b << r; 35 } 36 TRACE("string_buffer", tout << b.c_str() << "\n";); 37 ENSURE(strlen(b.c_str()) == 10000); 38 } 39 tst3()40static void tst3() { 41 string_buffer<32> b; 42 string_buffer<128> b2; 43 b2 << "World"; 44 b << "Hello" << " " << b2; 45 ENSURE(strcmp(b.c_str(), "Hello World") == 0); 46 } 47 tst_string_buffer()48void tst_string_buffer() { 49 tst1(); 50 tst2(); 51 tst3(); 52 } 53