63 lines
1.5 KiB
C++
63 lines
1.5 KiB
C++
#ifndef __TESTFILEFORMAT_H
|
|
#define __TESTFILEFORMAT_H
|
|
|
|
#include <cxxtest/TestSuite.h>
|
|
|
|
#include <ledger.h>
|
|
|
|
using namespace std;
|
|
using namespace ledger;
|
|
|
|
class TestFileFormat : public CxxTest::TestSuite
|
|
{
|
|
public:
|
|
void testEmptyFileIsTextualFile()
|
|
{
|
|
stringstream emptyStream(stringstream::in);
|
|
textual_parser_t textualParser;
|
|
TS_ASSERT(textualParser.test(emptyStream));
|
|
TS_ASSERT(emptyStream.good());
|
|
TS_ASSERT_EQUALS(0, emptyStream.tellg());
|
|
}
|
|
|
|
#if defined(HAVE_EXPAT) || defined(HAVE_XMLPARSE)
|
|
void testEmptyFileIsNotXMLFile()
|
|
{
|
|
stringstream emptyStream(stringstream::in);
|
|
xml_parser_t xmlParser;
|
|
TS_ASSERT(!xmlParser.test(emptyStream));
|
|
TS_ASSERT(emptyStream.good());
|
|
TS_ASSERT_EQUALS(0, emptyStream.tellg());
|
|
}
|
|
|
|
void testEmptyFileIsNotGnuCashFile()
|
|
{
|
|
stringstream emptyStream(stringstream::in);
|
|
gnucash_parser_t gnucashParser;
|
|
TS_ASSERT(!gnucashParser.test(emptyStream));
|
|
TS_ASSERT(emptyStream.good());
|
|
TS_ASSERT_EQUALS(0, emptyStream.tellg());
|
|
}
|
|
#endif
|
|
|
|
void testEmptyFileIsNotBinaryFile()
|
|
{
|
|
stringstream emptyStream(stringstream::in);
|
|
binary_parser_t binaryParser;
|
|
TS_ASSERT(!binaryParser.test(emptyStream));
|
|
TS_ASSERT(emptyStream.good());
|
|
TS_ASSERT_EQUALS(0, emptyStream.tellg());
|
|
}
|
|
|
|
void testEmptyFileIsNotQIFFile()
|
|
{
|
|
stringstream emptyStream(stringstream::in);
|
|
qif_parser_t qifParser;
|
|
TS_ASSERT(!qifParser.test(emptyStream));
|
|
TS_ASSERT(emptyStream.good());
|
|
TS_ASSERT_EQUALS(0, emptyStream.tellg());
|
|
}
|
|
|
|
};
|
|
|
|
#endif // __TESTFILEFORMAT_H
|