summaryrefslogtreecommitdiff
path: root/libdbpp/unittests/testUtils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libdbpp/unittests/testUtils.cpp')
-rw-r--r--libdbpp/unittests/testUtils.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/libdbpp/unittests/testUtils.cpp b/libdbpp/unittests/testUtils.cpp
index e43faae..b7947c7 100644
--- a/libdbpp/unittests/testUtils.cpp
+++ b/libdbpp/unittests/testUtils.cpp
@@ -33,6 +33,22 @@ BOOST_AUTO_TEST_CASE( forEachRow )
});
}
+BOOST_AUTO_TEST_CASE( forEachRowNulls )
+{
+ auto db = DB::ConnectionPtr(DB::MockDatabase::openConnectionTo("pqmock"));
+ auto sel = DB::SelectCommandPtr(db->newSelectCommand("SELECT a, b, c, d, e, f FROM forEachRow ORDER BY a DESC LIMIT 1"));
+ sel->forEachRow<int64_t, boost::optional<double>, std::string, boost::optional<boost::posix_time::ptime>, boost::optional<boost::posix_time::time_duration>, bool>(
+ [](auto a, auto b, auto c, auto d, auto e, auto f) {
+ BOOST_REQUIRE_EQUAL(2, a);
+ BOOST_REQUIRE(b);
+ BOOST_REQUIRE_EQUAL(2.3, *b);
+ BOOST_REQUIRE_EQUAL("Some text", c);
+ BOOST_REQUIRE(!d);
+ BOOST_REQUIRE(!e);
+ BOOST_REQUIRE_EQUAL(false, f);
+ });
+}
+
BOOST_AUTO_TEST_CASE( execute )
{
auto db = DB::ConnectionPtr(DB::MockDatabase::openConnectionTo("pqmock"));