summaryrefslogtreecommitdiff
path: root/test/unit/t_times.cc
blob: 7f35bf50055f5684d26d2bc662f73510032f8d45 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include "t_times.h"

CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(DateTimeTestCase, "util");

void DateTimeTestCase::setUp() {}
void DateTimeTestCase::tearDown() {}

void DateTimeTestCase::testConstructors()
{
#if 0
  std::time_t time_t_now = std::time(NULL);
  struct tm * moment = std::localtime(&time_t_now);

  std::time_t localMoment = std::mktime(moment);

  ptime d0;
  ptime d1(parse_datetime("1990/01/01"));
  ptime d3(boost::posix_time::from_time_t(localMoment));
  ptime d4(parse_datetime("2006/12/25"));
  //ptime d5(parse_datetime("12/25"));
  ptime d6(parse_datetime("2006.12.25"));
  //ptime d7(parse_datetime("12.25"));
  ptime d8(parse_datetime("2006-12-25"));
  //ptime d9(parse_datetime("12-25"));
#if 0
  ptime d10(parse_datetime("tue"));
  ptime d11(parse_datetime("tuesday"));
  ptime d12(parse_datetime("feb"));
  ptime d13(parse_datetime("february"));
  ptime d14(parse_datetime("2006"));
#endif
  ptime d15(d3);

  assertTrue(d0.is_not_a_date_time());
  assertFalse(d1.is_not_a_date_time());
  assertFalse(d4.is_not_a_date_time());

  assertTrue(now > d1);
  //assertTrue(now <= d3);
  assertTrue(now > d4);

  assertEqual(d3, d15);
  assertEqual(d4, d6);
  assertEqual(d4, d8);
  //assertEqual(d5, d7);
  //assertEqual(d5, d9);
#if 0
  assertEqual(d10, d11);
  assertEqual(d12, d13);
#endif
  
#if 0
  assertThrow(parse_datetime("2007/02/29"), datetime_error *);
  assertThrow(parse_datetime("2007/13/01"), datetime_error *);
  assertThrow(parse_datetime("2007/00/01"), datetime_error *);
  assertThrow(parse_datetime("2007/01/00"), datetime_error *);
  assertThrow(parse_datetime("2007/00/00"), datetime_error *);
  assertThrow(parse_datetime("2007/05/32"), datetime_error *);

  assertThrow(parse_datetime("2006x/12/25"), datetime_error *);
  assertThrow(parse_datetime("2006/12x/25"), datetime_error *);
  //assertThrow(parse_datetime("2006/12/25x"), datetime_error *);

  assertThrow(parse_datetime("feb/12/25"), datetime_error *);
  assertThrow(parse_datetime("2006/mon/25"), datetime_error *);
  assertThrow(parse_datetime("2006/12/web"), datetime_error *);

  assertThrow(parse_datetime("12*25"), datetime_error *);

  assertThrow(parse_datetime("tuf"), datetime_error *);
  assertThrow(parse_datetime("tufsday"), datetime_error *);
  assertThrow(parse_datetime("fec"), datetime_error *);
  assertThrow(parse_datetime("fecruary"), datetime_error *);
  assertThrow(parse_datetime("207x"), datetime_error *);
  assertThrow(parse_datetime("hello"), datetime_error *);

  interval_t i1;
  interval_t i2;
#endif
#endif
}