1/*
2 * Copyright 2014, Haiku, Inc.
3 * Distributed under the terms of the MIT License.
4 */
5
6
7#include "DateTimeTest.h"
8
9#include <DateTime.h>
10
11#include <cppunit/TestSuite.h>
12
13
14class DateTimeTest : public BTestCase {
15	public:
16		DateTimeTest(std::string name = "");
17
18		void test(void);
19};
20
21
22DateTimeTest::DateTimeTest(std::string name)
23	:
24	BTestCase(name)
25{
26}
27
28
29void
30DateTimeTest::test()
31{
32	BDateTime dateTime;
33
34	// Should be just one second before epoch
35	dateTime.SetTime_t(-1);
36
37	CPPUNIT_ASSERT(dateTime.IsValid());
38	CPPUNIT_ASSERT_EQUAL(59, dateTime.Time().Second());
39	CPPUNIT_ASSERT_EQUAL(59, dateTime.Time().Minute());
40	CPPUNIT_ASSERT_EQUAL(23, dateTime.Time().Hour());
41	CPPUNIT_ASSERT_EQUAL(31, dateTime.Date().Day());
42	CPPUNIT_ASSERT_EQUAL(12, dateTime.Date().Month());
43	CPPUNIT_ASSERT_EQUAL(1969, dateTime.Date().Year());
44}
45
46
47CppUnit::Test*
48DateTimeTestSuite()
49{
50	CppUnit::TestSuite* testSuite = new CppUnit::TestSuite();
51
52	testSuite->addTest(new DateTimeTest("BDateTime"));
53
54	return testSuite;
55}
56