From 4f88977f9ab60d7d71594887565595e40e6df0a8 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Mon, 16 Jun 2014 08:49:36 +0200 Subject: [PATCH] Add a first test for BDateTime. * We need to write more of those. --- src/tests/kits/support/DateTimeTest.cpp | 55 +++++++++++++++++++ src/tests/kits/support/DateTimeTest.h | 15 +++++ src/tests/kits/support/Jamfile | 3 + .../kits/support/SupportKitTestAddon.cpp | 2 + 4 files changed, 75 insertions(+) create mode 100644 src/tests/kits/support/DateTimeTest.cpp create mode 100644 src/tests/kits/support/DateTimeTest.h diff --git a/src/tests/kits/support/DateTimeTest.cpp b/src/tests/kits/support/DateTimeTest.cpp new file mode 100644 index 00000000000..6a0fa9319e5 --- /dev/null +++ b/src/tests/kits/support/DateTimeTest.cpp @@ -0,0 +1,55 @@ +/* + * Copyright 2014, Haiku, Inc. + * Distributed under the terms of the MIT License. + */ + + +#include "DateTimeTest.h" + +#include + +#include + + +class DateTimeTest : public BTestCase { + public: + DateTimeTest(std::string name = ""); + + void test(void); +}; + + +DateTimeTest::DateTimeTest(std::string name) + : + BTestCase(name) +{ +} + + +void +DateTimeTest::test() +{ + BDateTime dateTime; + + // Should be just one second before epoch + dateTime.SetTime_t(-1); + + CPPUNIT_ASSERT(dateTime.IsValid()); + CPPUNIT_ASSERT_EQUAL(59, dateTime.Time().Second()); + CPPUNIT_ASSERT_EQUAL(59, dateTime.Time().Minute()); + CPPUNIT_ASSERT_EQUAL(23, dateTime.Time().Hour()); + CPPUNIT_ASSERT_EQUAL(31, dateTime.Date().Day()); + CPPUNIT_ASSERT_EQUAL(12, dateTime.Date().Month()); + CPPUNIT_ASSERT_EQUAL(1969, dateTime.Date().Year()); +} + + +CppUnit::Test* +DateTimeTestSuite() +{ + CppUnit::TestSuite* testSuite = new CppUnit::TestSuite(); + + testSuite->addTest(new DateTimeTest("BDateTime")); + + return testSuite; +} diff --git a/src/tests/kits/support/DateTimeTest.h b/src/tests/kits/support/DateTimeTest.h new file mode 100644 index 00000000000..39548e6ed46 --- /dev/null +++ b/src/tests/kits/support/DateTimeTest.h @@ -0,0 +1,15 @@ +/* + * Copyright 2014, Haiku, Inc. + * Distributed under the terms of the MIT License. + */ +#ifndef _DATE_TIME_TEST_H_ +#define _DATE_TIME_TEST_H_ + + +#include "TestCase.h" + + +CppUnit::Test *DateTimeTestSuite(); + + +#endif // _DATE_TIME_TEST_H_ diff --git a/src/tests/kits/support/Jamfile b/src/tests/kits/support/Jamfile index 37304f48d9d..94678025097 100644 --- a/src/tests/kits/support/Jamfile +++ b/src/tests/kits/support/Jamfile @@ -29,6 +29,9 @@ UnitTestLib libsupporttest.so AutolockLockerTest.cpp AutolockLooperTest.cpp + # BDateTime + DateTimeTest.cpp + # BLocker (all in ./blocker) LockerTest.cpp BenaphoreLockCountTest1.cpp diff --git a/src/tests/kits/support/SupportKitTestAddon.cpp b/src/tests/kits/support/SupportKitTestAddon.cpp index e611d1af6f0..5f614a08fa0 100644 --- a/src/tests/kits/support/SupportKitTestAddon.cpp +++ b/src/tests/kits/support/SupportKitTestAddon.cpp @@ -10,6 +10,7 @@ #include "bstring/StringTest.h" #include "bblockcache/BlockCacheTest.h" #include "ByteOrderTest.h" +#include "DateTimeTest.h" BTestSuite * @@ -20,6 +21,7 @@ getTestSuite() // ##### Add test suites here ##### suite->addTest("BArchivable", ArchivableTestSuite()); suite->addTest("BAutolock", AutolockTestSuite()); + suite->addTest("BDateTime", DateTimeTestSuite()); suite->addTest("BLocker", LockerTestSuite()); suite->addTest("BMemoryIO", MemoryIOTestSuite()); suite->addTest("BMallocIO", MallocIOTestSuite());