-2

現在、プロジェクトで cppunit テストを行っています。プログラムを正常にコンパイルして実行すると、checkWord と checkFile の 2 つの関数はどちらも「true」の bool 値を返します。次に、これらの 2 つの関数を cppunit テストに使用します。出力結果は常に OK(0) になります。OK(1) の代わりに、CPPUNIT_ASSERT() のいずれかを実行すると表示されるはずです。誰でもこれで私を助けることができますか?

以下は、プロジェクトの私のコードです。

checkWord 関数

bool ScrambleWordGame::checkWord(string checkWord) {
ifstream file("WordDatabase.txt");
vector <string> wordList;

copy(istream_iterator<string>(file),
     istream_iterator<string>(),
     back_inserter(wordList));   
file.close();    

if(find(wordList.begin(),wordList.end(),checkWord) != wordList.end())
    return true;
else 
    return false;
}

checkFile 関数

bool ScrambleWordGame::checkFile(string filename) {
ifstream file(filename.c_str());
if(file)
    return true;
else 
    return false;
file.close();
}

SWGTest.cpp

#include "ScrambleWordGameTest.h"
#include "ScrambleWordGame.h"

void ScrambleWordGameTest::testEquals() {
  CPPUNIT_ASSERT(swg.checkFile("WordDatabase.dat"));
//CPPUNIT_ASSERT(swg.checkWord("cat"));
}
4

1 に答える 1