summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-05-12 12:35:41 +0200
committerCarl Hetherington <cth@carlh.net>2020-05-12 13:12:48 +0200
commitd0ed9dd836b270d6bf75b302535de0f0f8f376e5 (patch)
treeedd68c3b5fd610f3252493614df9d0b5eee47b98 /test
parentc871f79f49087582c6ea7a42e79fd5fd3968bf00 (diff)
Add a proper implementation of add_months() and a test for the
case when it fails by giving erroneous dates like 30th February.
Diffstat (limited to 'test')
-rw-r--r--test/util_test.cc38
1 files changed, 23 insertions, 15 deletions
diff --git a/test/util_test.cc b/test/util_test.cc
index a537909d..047f7fa1 100644
--- a/test/util_test.cc
+++ b/test/util_test.cc
@@ -277,19 +277,27 @@ BOOST_AUTO_TEST_CASE (unique_string_test)
BOOST_AUTO_TEST_CASE (local_time_add_months_test)
{
- dcp::LocalTime t("2013-06-23T18:06:59.123");
- t.add_months(-1);
- BOOST_CHECK_EQUAL (t, dcp::LocalTime("2013-05-23T18:06:59.123"));
- t.add_months(1);
- BOOST_CHECK_EQUAL (t, dcp::LocalTime("2013-06-23T18:06:59.123"));
- t.add_months(1);
- BOOST_CHECK_EQUAL (t, dcp::LocalTime("2013-07-23T18:06:59.123"));
- t.add_months(4);
- BOOST_CHECK_EQUAL (t, dcp::LocalTime("2013-11-23T18:06:59.123"));
- t.add_months(2);
- BOOST_CHECK_EQUAL (t, dcp::LocalTime("2014-01-23T18:06:59.123"));
- t.add_months(-14);
- BOOST_CHECK_EQUAL (t, dcp::LocalTime("2012-11-23T18:06:59.123"));
- t.add_months(14);
- BOOST_CHECK_EQUAL (t, dcp::LocalTime("2014-01-23T18:06:59.123"));
+ {
+ dcp::LocalTime t("2013-06-23T18:06:59.123");
+ t.add_months(-1);
+ BOOST_CHECK_EQUAL (t, dcp::LocalTime("2013-05-23T18:06:59.123"));
+ t.add_months(1);
+ BOOST_CHECK_EQUAL (t, dcp::LocalTime("2013-06-23T18:06:59.123"));
+ t.add_months(1);
+ BOOST_CHECK_EQUAL (t, dcp::LocalTime("2013-07-23T18:06:59.123"));
+ t.add_months(4);
+ BOOST_CHECK_EQUAL (t, dcp::LocalTime("2013-11-23T18:06:59.123"));
+ t.add_months(2);
+ BOOST_CHECK_EQUAL (t, dcp::LocalTime("2014-01-23T18:06:59.123"));
+ t.add_months(-14);
+ BOOST_CHECK_EQUAL (t, dcp::LocalTime("2012-11-23T18:06:59.123"));
+ t.add_months(14);
+ BOOST_CHECK_EQUAL (t, dcp::LocalTime("2014-01-23T18:06:59.123"));
+ }
+
+ {
+ dcp::LocalTime t("2018-01-30T11:00:00+01:00");
+ t.add_months (1);
+ BOOST_CHECK_EQUAL (t.as_string(), "2018-02-28T11:00:00+01:00");
+ }
}