#include #include #include #include namespace { namespace LT = boost::local_time; bool isConvertableToLocalDateTime(const std::string& value) { LT::local_time_input_facet* input_facet = new LT::local_time_input_facet(); input_facet->format("%Y-%m-%d"); std::stringstream ss; ss.imbue(std::locale(std::locale::classic(), input_facet)); ss.str(value); LT::local_date_time ldt(LT::not_a_date_time); ss >> ldt; std::cout << "ldt " << ldt << std::endl; return !ss.fail(); } } // anonymous namespace void simple_date_time_test() { // data with one digit month BOOST_CHECK( ! isConvertableToLocalDateTime("1999-1-01") ); // isConvertableToLocalDateTime returns true but false is expected // data with rubbish suffix BOOST_CHECK( ! isConvertableToLocalDateTime("1999-1-01_to_be_or_not_to_be") ); // isConvertableToLocalDateTime returns true but false is expected } using boost::unit_test::test_suite; test_suite* init_unit_test_suite(int argc, char* argv[]) { test_suite* test = BOOST_TEST_SUITE("simple_date_time_test"); test->add( BOOST_TEST_CASE( &simple_date_time_test ) ); return test; }