要測(cè)試stringstream
的準(zhǔn)確性和穩(wěn)定性,可以編寫一些測(cè)試用例來(lái)驗(yàn)證其功能
#include<iostream>
#include <sstream>
#include<string>
#include <cassert>
void test_stringstream() {
// 測(cè)試1:基本輸入輸出
std::stringstream ss1;
ss1 << "Hello, World!";
std::string str1;
ss1 >> str1;
assert(str1 == "Hello,");
ss1 >> str1;
assert(str1 == "World!");
// 測(cè)試2:數(shù)值轉(zhuǎn)換
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);
// 測(cè)試3:字符串拼接
std::stringstream ss3;
ss3 << "Hello" << ", " << "World!"<< std::ends;
std::string str3 = ss3.str();
assert(str3 == "Hello, World!");
// 測(cè)試4:錯(cuò)誤處理
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;
}
這個(gè)示例包含了四個(gè)測(cè)試用例,分別測(cè)試了stringstream
的基本輸入輸出、數(shù)值轉(zhuǎn)換、字符串拼接和錯(cuò)誤處理。通過(guò)運(yùn)行這些測(cè)試用例,可以驗(yàn)證stringstream
的準(zhǔn)確性和穩(wěn)定性。當(dāng)然,你可以根據(jù)需要添加更多的測(cè)試用例來(lái)覆蓋更多的場(chǎng)景。