要测试stringstream
的准确性和稳定性,可以编写一些测试用例来验证其功能
#include<iostream>
#include <sstream>
#include<string>
#include <cassert>
void test_stringstream() {
// 测试1:基本输入输出
std::stringstream ss1;
ss1 << "Hello, World!";
std::string str1;
ss1 >> str1;
assert(str1 == "Hello,");
ss1 >> str1;
assert(str1 == "World!");
// 测试2:数值转换
std::stringstream ss2;
ss2 << "123 456.789";
int int_val;
float float_val;
ss2 >> int_val;
assert(int_val == 123);
ss2 >> float_val;
assert(float_val == 456.789f);
// 测试3:字符串拼接
std::stringstream ss3;
ss3 << "Hello" << ", " << "World!"<< std::ends;
std::string str3 = ss3.str();
assert(str3 == "Hello, World!");
// 测试4:错误处理
std::stringstream ss4("123 abc");
int int_val4;
std::string str_val4;
ss4 >> int_val4;
assert(int_val4 == 123);
ss4 >> str_val4;
assert(ss4.fail());
}
int main() {
test_stringstream();
std::cout << "All tests passed."<< std::endl;
return 0;
}
这个示例包含了四个测试用例,分别测试了stringstream
的基本输入输出、数值转换、字符串拼接和错误处理。通过运行这些测试用例,可以验证stringstream
的准确性和稳定性。当然,你可以根据需要添加更多的测试用例来覆盖更多的场景。