+/*
+ * test sunrise and sunset functions.
+ */
+
+#include <date.h>
+
+#include <assert.h>
+
+// Hardinxveld:
+const double latitude = 51.821366;
+const double longitude = 4.844401;
+
+extern hour calculate_sunrise(double latitude, double longtitude, date when);
+extern hour calculate_sunset(double latitude, double longtitude, date when);
+
+int main()
+{
+ date when;
+ hour sunrise_at, sunset_at;
+
+ when = date(1, 1, 2020);
+
+ std::cout << "On the date " << when << ":\n";
+ sunrise_at = calculate_sunrise(latitude, longitude, when);
+ std::cout << "Sunrise : " << sunrise_at << " UTC.\n";
+ sunset_at = calculate_sunset(latitude, longitude, when);
+ std::cout << "Sunset : " << sunset_at << " UTC.\n";
+ assert(sunrise_at == hour(7, 51, 29));
+ assert(sunset_at == hour(15, 29, 47));
+
+ when = date(30, 6, 2020);
+
+ std::cout << "On the date " << when << ":\n";
+ sunrise_at = calculate_sunrise(latitude, longitude, when);
+ std::cout << "Sunrise : " << sunrise_at << " UTC.\n";
+ sunset_at = calculate_sunset(latitude, longitude, when);
+ std::cout << "Sunset : " << sunset_at << " UTC.\n";
+ assert(sunrise_at == hour(3, 29, 3));
+ assert(sunset_at == hour(19, 52, 13));
+}