OpenFPM_pdata  4.1.0
Project that contain the implementation of distributed structures
 
Loading...
Searching...
No Matches
MetaParser_unit_test.cpp
1/*
2 * MetaParser_unit_test.cpp
3 *
4 * Created on: Mar 3, 2019
5 * Author: i-bird
6 */
7
8#define BOOST_TEST_DYN_LINK
9#include <boost/test/unit_test.hpp>
10
11#include "MetaParser.hpp"
12
13BOOST_AUTO_TEST_SUITE( vtk_writer_tests )
14
15BOOST_AUTO_TEST_CASE( vtk_writer_meta_parser_use )
16{
17 std::string test_options("time = 5.0");
18 std::string test_options2("time=6.0");
19 std::string test_options3("time =7.0");
20 std::string test_options4("time= 8.0");
21 std::string test_options5("time= 9.0");
22
23 double time = 1.0;
24
25 MetaParser_options opts;
26 opts.add_options()
27 ("time", MetaParser_def::value<double>(&time));
28
29 MetaParser mp(opts);
30 mp.parse(test_options);
31
32 BOOST_REQUIRE_EQUAL(time,5.0);
33
34 time = 0.0;
35 bool exist = mp.getOption("time",time);
36
37 BOOST_REQUIRE_EQUAL(exist,true);
38 BOOST_REQUIRE_EQUAL(time,5.0);
39
40 exist = mp.getOption("invalid",time);
41 BOOST_REQUIRE_EQUAL(exist,false);
42
43 // parse another
44
45 mp.clear();
46
47 time = 0.0;
48 mp.parse(test_options2);
49
50 BOOST_REQUIRE_EQUAL(time,6.0);
51
52 time = 0.0;
53 exist = mp.getOption("time",time);
54
55 BOOST_REQUIRE_EQUAL(exist,true);
56 BOOST_REQUIRE_EQUAL(time,6.0);
57
58 exist = mp.getOption("invalid",time);
59 BOOST_REQUIRE_EQUAL(exist,false);
60
61 // parse another
62
63 mp.clear();
64
65 time = 0.0;
66 mp.parse(test_options3);
67
68 BOOST_REQUIRE_EQUAL(time,7.0);
69
70 time = 0.0;
71 exist = mp.getOption("time",time);
72
73 BOOST_REQUIRE_EQUAL(exist,true);
74 BOOST_REQUIRE_EQUAL(time,7.0);
75
76 exist = mp.getOption("invalid",time);
77 BOOST_REQUIRE_EQUAL(exist,false);
78
79 // parse another
80
81 mp.clear();
82
83 time = 0.0;
84 mp.parse(test_options4);
85
86 BOOST_REQUIRE_EQUAL(time,8.0);
87
88 time = 0.0;
89 exist = mp.getOption("time",time);
90
91 BOOST_REQUIRE_EQUAL(exist,true);
92 BOOST_REQUIRE_EQUAL(time,8.0);
93
94 exist = mp.getOption("invalid",time);
95 BOOST_REQUIRE_EQUAL(exist,false);
96
97 // parse another
98
99 mp.clear();
100
101 time = 0.0;
102 mp.parse(test_options5);
103
104 BOOST_REQUIRE_EQUAL(time,9.0);
105
106 time = 0.0;
107 exist = mp.getOption("time",time);
108
109 BOOST_REQUIRE_EQUAL(exist,true);
110 BOOST_REQUIRE_EQUAL(time,9.0);
111
112 exist = mp.getOption("invalid",time);
113 BOOST_REQUIRE_EQUAL(exist,false);
114
115}
116
117BOOST_AUTO_TEST_SUITE_END()