要測試C++中std::stringstream
的準(zhǔn)確性,你可以編寫一些測試用例來檢查其功能是否符合預(yù)期
#include<iostream>
#include <sstream>
#include<string>
#include <cassert>
void test_stringstream() {
// 測試1:向stringstream寫入數(shù)據(jù)并讀取
std::stringstream ss1;
ss1 << "Hello, World!";
std::string str1;
ss1 >> str1;
assert(str1 == "Hello,");
// 測試2:向stringstream寫入整數(shù)和浮點(diǎn)數(shù),然后讀取
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讀取不存在的數(shù)據(jù)
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
寫入整數(shù)和浮點(diǎn)數(shù),然后讀取。std::stringstream
讀取不存在的數(shù)據(jù)。在每個測試用例中,我們使用assert()
函數(shù)來檢查結(jié)果是否符合預(yù)期。如果所有測試都通過,程序?qū)⑤敵?quot;All tests passed!"。如果有任何斷言失敗,程序?qū)⒔K止并顯示失敗的斷言。