c++

如何测试c++中streamstring的准确性

小樊
83
2024-09-13 01:57:14
栏目: 编程语言

要测试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;
}

这个示例包含了三个测试用例,分别测试了以下场景:

  1. std::stringstream写入字符串并读取。
  2. std::stringstream写入整数和浮点数,然后读取。
  3. 尝试从std::stringstream读取不存在的数据。

在每个测试用例中,我们使用assert()函数来检查结果是否符合预期。如果所有测试都通过,程序将输出"All tests passed!"。如果有任何断言失败,程序将终止并显示失败的断言。

0
看了该问题的人还看了