diff options
Diffstat (limited to 'tests/test-environment.cpp')
-rw-r--r-- | tests/test-environment.cpp | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/test-environment.cpp b/tests/test-environment.cpp new file mode 100644 index 0000000..da8e4e0 --- /dev/null +++ b/tests/test-environment.cpp @@ -0,0 +1,48 @@ +#include <boost/test/unit_test.hpp> +#include <boost/test/data/dataset.hpp> +#include <boost/test/data/monomorphic.hpp> +#include <boost/test/data/test_case.hpp> + +#include <boost/property_tree/ptree.hpp> +#include <boost/property_tree/xml_parser.hpp> + +#include <sstream> +#include <string> + +using namespace std::string_literals; +namespace pt = boost::property_tree; + +// test ptree construction and xml serialization +BOOST_AUTO_TEST_CASE(property_tree_put) +{ + pt::ptree p; + pt::ptree list; + + pt::ptree entry; + + entry.put_value("name1.txt"); + entry.put("<xmlattr>.type", "file1"); + + list.push_back(pt::ptree::value_type("listentry", entry)); + + entry.put_value("name2.txt"); + entry.put("<xmlattr>.type", "file2"); + + list.push_back(pt::ptree::value_type("listentry", entry)); + + p.push_back(pt::ptree::value_type("list", list)); + + std::stringstream ss; + + pt::xml_parser::write_xml(ss, p /*, pt::xml_parser::xml_writer_make_settings<std::string>(' ', 1)*/); + + BOOST_CHECK_EQUAL(ss.str(), "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<list><listentry type=\"file1\">name1.txt</listentry><listentry type=\"file2\">name2.txt</listentry></list>"); +} + +// test std::stoul for negative numbers +BOOST_AUTO_TEST_CASE(string_stoul) +{ + unsigned long l = std::stoul("-1"); + + BOOST_CHECK_EQUAL(l, std::numeric_limits<unsigned long>::max()); +} |