阅读量:0
要测试C++中std::stringstream
的准确性,你可以编写一些测试用例来检查其功能是否符合预期
#include<iostream> #include <sstream> #include<string> #include <cassert> void test_stringstream() { // 测试1:向stringstream写入数据并读取 std::stringstream ss1; ss1 << "Hello, World!"; std::string str1; ss1 >> str1; assert(str1 == "Hello,"); // 测试2:向stringstream写入整数和浮点数,然后读取 std::stringstream ss2; ss2 << 42 << " " << 3.14; int int_val; float float_val; ss2 >> int_val >> float_val; assert(int_val == 42); assert(float_val == 3.14f); // 测试3:从stringstream读取不存在的数据 std::stringstream ss3; int non_existent_value; ss3 >> non_existent_value; assert(ss3.fail()); } int main() { test_stringstream(); std::cout << "All tests passed!"<< std::endl; return 0; }
这个示例包含了三个测试用例,分别测试了以下场景:
- 向
std::stringstream
写入字符串并读取。 - 向
std::stringstream
写入整数和浮点数,然后读取。 - 尝试从
std::stringstream
读取不存在的数据。
在每个测试用例中,我们使用assert()
函数来检查结果是否符合预期。如果所有测试都通过,程序将输出"All tests passed!"。如果有任何断言失败,程序将终止并显示失败的断言。