aboutsummaryrefslogtreecommitdiff
path: root/tests/test-planner.cpp
diff options
context:
space:
mode:
authorCharles Kerr <charles.kerr@canonical.com>2014-01-22 09:06:01 -0600
committerCharles Kerr <charles.kerr@canonical.com>2014-01-22 09:06:01 -0600
commitdd41db685c518acab1c8e3676f4292f66e4d0476 (patch)
tree1611bc63d0a8f18d6786a084069eb662a5b159ea /tests/test-planner.cpp
parent9415a7cea370352141ec4e1cd140137e9215fded (diff)
downloadayatana-indicator-datetime-dd41db685c518acab1c8e3676f4292f66e4d0476.tar.gz
ayatana-indicator-datetime-dd41db685c518acab1c8e3676f4292f66e4d0476.tar.bz2
ayatana-indicator-datetime-dd41db685c518acab1c8e3676f4292f66e4d0476.zip
copyediting: rename the test/ directory's .cc files to .cpp for consistency with src/
Diffstat (limited to 'tests/test-planner.cpp')
-rw-r--r--tests/test-planner.cpp85
1 files changed, 85 insertions, 0 deletions
diff --git a/tests/test-planner.cpp b/tests/test-planner.cpp
new file mode 100644
index 0000000..3072aea
--- /dev/null
+++ b/tests/test-planner.cpp
@@ -0,0 +1,85 @@
+/*
+ * Copyright 2013 Canonical Ltd.
+ *
+ * Authors:
+ * Charles Kerr <charles.kerr@canonical.com>
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 3, as published
+ * by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranties of
+ * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "glib-fixture.h"
+
+#include <datetime/appointment.h>
+#include <datetime/clock-mock.h>
+#include <datetime/date-time.h>
+#include <datetime/planner.h>
+#include <datetime/planner-eds.h>
+
+#include <langinfo.h>
+#include <locale.h>
+
+using unity::indicator::datetime::Appointment;
+using unity::indicator::datetime::DateTime;
+using unity::indicator::datetime::PlannerEds;
+
+/***
+****
+***/
+
+typedef GlibFixture PlannerFixture;
+
+TEST_F(PlannerFixture, EDS)
+{
+ PlannerEds planner;
+ wait_msec(100);
+
+ auto now = g_date_time_new_now_local();
+ planner.time.set(DateTime(now));
+ wait_msec(2500);
+
+ std::vector<Appointment> thisMonth = planner.thisMonth.get();
+ std::cerr << thisMonth.size() << " appointments this month" << std::endl;
+ for(const auto& a : thisMonth)
+ std::cerr << a.summary << std::endl;
+}
+
+
+TEST_F(PlannerFixture, HelloWorld)
+{
+ auto halloween = g_date_time_new_local(2020, 10, 31, 18, 30, 59);
+ auto christmas = g_date_time_new_local(2020, 12, 25, 0, 0, 0);
+
+ Appointment a;
+ a.summary = "Test";
+ a.begin = halloween;
+ a.end = g_date_time_add_hours(halloween, 1);
+ const Appointment b = a;
+ a.summary = "Foo";
+
+ EXPECT_EQ(a.summary, "Foo");
+ EXPECT_EQ(b.summary, "Test");
+ EXPECT_EQ(0, g_date_time_compare(a.begin(), b.begin()));
+ EXPECT_EQ(0, g_date_time_compare(a.end(), b.end()));
+
+ Appointment c;
+ c.begin = christmas;
+ c.end = g_date_time_add_hours(christmas, 1);
+ Appointment d;
+ d = c;
+ EXPECT_EQ(0, g_date_time_compare(c.begin(), d.begin()));
+ EXPECT_EQ(0, g_date_time_compare(c.end(), d.end()));
+ a = d;
+ EXPECT_EQ(0, g_date_time_compare(d.begin(), a.begin()));
+ EXPECT_EQ(0, g_date_time_compare(d.end(), a.end()));
+}
+