Files
opm-common/opm/parser/eclipse/Parser/tests/createInlineItemTest.cpp
Andreas Lauser ea38a25af4 remove all trailing white space
this is just the result of

```
find -iname "*.[ch]pp" | xargs sed -i "s/ *$//"
find opm/parser/share/keywords -type f |  xargs sed -i "s/ *$//"
```

so if it causes conflicts with other patches, the others should get
priority. The rationale behind this patch is that some people tell
their editor to remove white space which leads to larger than
necessary patches...
2014-12-08 16:34:28 +01:00

182 lines
5.7 KiB
C++

#include <iostream>
#include <stdio.h>
#include <fstream>
#include <string.h>
#include <opm/parser/eclipse/Parser/ParserItem.hpp>
#include <opm/parser/eclipse/Parser/ParserIntItem.hpp>
#include <opm/parser/eclipse/Parser/ParserStringItem.hpp>
#include <opm/parser/eclipse/Parser/ParserDoubleItem.hpp>
#include <opm/parser/eclipse/Parser/ParserFloatItem.hpp>
using namespace Opm;
static void createHeader(std::ofstream& of , const std::string& test_module) {
of << "#define BOOST_TEST_MODULE " << test_module << std::endl;
of << "#include <boost/test/unit_test.hpp>" << std::endl;
of << "#include <opm/parser/eclipse/Parser/ParserItem.hpp>" << std::endl;
of << "#include <opm/parser/eclipse/Parser/ParserIntItem.hpp>" << std::endl;
of << "#include <opm/parser/eclipse/Parser/ParserStringItem.hpp>" << std::endl;
of << "#include <opm/parser/eclipse/Parser/ParserDoubleItem.hpp>" << std::endl;
of << "#include <opm/parser/eclipse/Parser/ParserFloatItem.hpp>" << std::endl;
of << "using namespace Opm;" << std::endl << std::endl;
}
static void startTest(std::ofstream& of, const std::string& test_name) {
of << "BOOST_AUTO_TEST_CASE(" << test_name << ") {" << std::endl;
}
static void endTest(std::ofstream& of) {
of << "}" << std::endl << std::endl;
}
static void intItem(std::ofstream& of) {
startTest(of , "IntItem");
of << " ParserIntItem * item = new ParserIntItem(\"NAME\" , SINGLE);" << std::endl;
of << " ParserIntItem * inlineItem = ";
{
ParserIntItem * item = new ParserIntItem("NAME" , SINGLE);
item->inlineNew( of );
of << ";" << std::endl;
delete item;
}
of << " BOOST_CHECK( item->equal( *inlineItem ) );" << std::endl;
endTest(of);
}
static void intItemWithDefault(std::ofstream& of) {
startTest(of , "IntItemWithDefault");
of << " ParserIntItem * item = new ParserIntItem(\"NAME\" , SINGLE , 100);" << std::endl;
of << " ParserIntItem * inlineItem = ";
{
ParserIntItem * item = new ParserIntItem("NAME" , SINGLE , 100);
item->inlineNew( of );
of << ";" << std::endl;
delete item;
}
of << " BOOST_CHECK( item->equal( *inlineItem ) );" << std::endl;
endTest(of);
}
/*****************************************************************/
static void DoubleItem(std::ofstream& of) {
startTest(of , "DoubleItem");
of << " ParserDoubleItem * item = new ParserDoubleItem(\"NAME\" , ALL);" << std::endl;
of << " ParserDoubleItem * inlineItem = ";
{
ParserDoubleItem * item = new ParserDoubleItem("NAME" , ALL);
item->inlineNew( of );
of << ";" << std::endl;
delete item;
}
of << " BOOST_CHECK( item->equal( *inlineItem ) );" << std::endl;
endTest(of);
}
static void DoubleItemWithDefault(std::ofstream& of) {
startTest(of , "DoubleItemWithDefault");
of << " ParserDoubleItem * item = new ParserDoubleItem(\"NAME\" , SINGLE , 100.89);" << std::endl;
of << " ParserDoubleItem * inlineItem = ";
{
ParserDoubleItem * item = new ParserDoubleItem("NAME" , SINGLE , 100.89);
item->inlineNew( of );
of << ";" << std::endl;
delete item;
}
of << " BOOST_CHECK( item->equal( *inlineItem ) );" << std::endl;
endTest(of);
}
/*****************************************************************/
static void FloatItem(std::ofstream& of) {
startTest(of , "FloatItem");
of << " ParserFloatItem * item = new ParserFloatItem(\"NAME\" , ALL);" << std::endl;
of << " ParserFloatItem * inlineItem = ";
{
ParserFloatItem * item = new ParserFloatItem("NAME" , ALL);
item->inlineNew( of );
of << ";" << std::endl;
delete item;
}
of << " BOOST_CHECK( item->equal( *inlineItem ) );" << std::endl;
endTest(of);
}
static void FloatItemWithDefault(std::ofstream& of) {
startTest(of , "FloatItemWithDefault");
of << " ParserFloatItem * item = new ParserFloatItem(\"NAME\" , SINGLE , 100.89);" << std::endl;
of << " ParserFloatItem * inlineItem = ";
{
ParserFloatItem * item = new ParserFloatItem("NAME" , SINGLE , 100.89);
item->inlineNew( of );
of << ";" << std::endl;
delete item;
}
of << " BOOST_CHECK( item->equal( *inlineItem ) );" << std::endl;
endTest(of);
}
/*****************************************************************/
static void stringItem(std::ofstream& of) {
startTest(of , "StringItem");
of << " ParserStringItem * item = new ParserStringItem(\"NAME\" , SINGLE);" << std::endl;
of << " ParserStringItem * inlineItem = ";
{
ParserStringItem * item = new ParserStringItem("NAME" , SINGLE);
item->inlineNew( of );
of << ";" << std::endl;
delete item;
}
of << " BOOST_CHECK( item->equal( *inlineItem ) );" << std::endl;
endTest(of);
}
static void stringItemWithDefault(std::ofstream& of) {
startTest(of , "StringItemWithDefault");
of << " ParserStringItem * item = new ParserStringItem(\"NAME\" , SINGLE , \"100\");" << std::endl;
of << " ParserStringItem * inlineItem = ";
{
ParserStringItem * item = new ParserStringItem("NAME" , SINGLE , "100");
item->inlineNew( of );
of << ";" << std::endl;
delete item;
}
of << " BOOST_CHECK( item->equal( *inlineItem ) );" << std::endl;
endTest(of);
}
int main(int /* argc */ , char ** argv) {
const char * test_src = argv[1];
const char * test_module = argv[2];
std::ofstream of( test_src );
createHeader(of , test_module);
intItem( of );
intItemWithDefault( of );
DoubleItem( of );
DoubleItemWithDefault( of );
FloatItem( of );
FloatItemWithDefault( of );
stringItem( of );
stringItemWithDefault( of );
of.close();
}