-// ANNA - Anna is Not 'N' Anymore
+// ANNA - Anna is Not Nothingness Anymore
//
// (c) Copyright 2005-2014 Eduardo Ramos Testillano & Francisco Ruiz Rayo
//
-// https://bitbucket.org/testillano/anna
+// http://redmine.teslayout.com/projects/anna-suite
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
-// * Neither the name of Google Inc. nor the names of its
+// * Neither the name of the copyright holder nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
#define BOOST_TEST_MODULE ANNA_TIME_TEST
+#include <anna/test/clang_specific.hpp>
#include <boost/test/included/unit_test.hpp>
//#include <iostream>
// http://www.boost.org/doc/libs/1_44_0/libs/test/doc/html/utf/testing-tools/reference.html
BOOST_AUTO_TEST_CASE(date) {
- const char * tzarg = NULL;
anna::time::functions::initialize();
anna::time::Date current, current2;
- current.setCurrent();
+ current.setNow();
unsigned int ntptime = current.getNtpTimestamp();
time_t unixtime = current.getUnixTimestamp();
current2.storeNtp(ntptime);
std::string ntpStr = current2.asString();
current2.storeUnix(unixtime);
std::string unixStr = current2.asString();
-
BOOST_REQUIRE_EQUAL(ntpStr, unixStr);
anna::time::Date myBirth("CET"); // 19 December 1974, 10:00 (GMT+1 = UTC + 1 = CET)
- //anna::time::Date myBirth; // if Context TZ = shell TZ = "CET"
myBirth.store("19741219101500"); // yyyymmddHHmmss
-
anna::time::Date same_moment_canary_island("GMT");
same_moment_canary_island.store(myBirth.getUnixTimestamp());
- myBirth.setTzContext("GMT");
+ myBirth.setTz("GMT");
BOOST_REQUIRE_EQUAL(same_moment_canary_island.yyyymmddHHmmss(), myBirth.yyyymmddHHmmss());
anna::time::Date birthday("EET");
birthday.store(same_moment_canary_island.getTm(), "GMT"); // TZ origin = "GMT"
- //BOOST_REQUIRE_EQUAL(birthday, myBirth);
BOOST_REQUIRE_EQUAL(birthday.getUnixTimestamp(), myBirth.getUnixTimestamp());
- myBirth.setTzContext(anna::time::functions::getLocalTz().getValue().c_str());
- birthday.setTzContext(anna::time::functions::getLocalTz().getValue().c_str()); // Go from "EET" to "CET"
+ myBirth.setTz();
+ birthday.setTz();
+ BOOST_REQUIRE_EQUAL(myBirth.asString(), birthday.asString());
BOOST_REQUIRE_EQUAL(myBirth.yyyymmddHHmmss(), birthday.yyyymmddHHmmss());
+ myBirth.setTz("GMT");
+ BOOST_REQUIRE_EQUAL(myBirth.yyyymmddHHmmss(), "19741219091500");
+
// Adding 18 years to 'myBirth':
+ same_moment_canary_island.setTz("CET");
+ anna::time::Date eighteen("CET");
struct tm Tm = myBirth.getTm();
Tm.tm_year += 18;
- anna::time::Date eighteen("CET");
- eighteen.store(Tm);
+ eighteen.store(Tm, "GMT");
BOOST_REQUIRE(eighteen >= same_moment_canary_island);
+ BOOST_REQUIRE_EQUAL(eighteen.yyyymmddHHmmss(), "19921219101500");
}