2
require "xmlrpc/datetime"
4
class Test_DateTime < Test::Unit::TestCase
9
assert_instance_of(XMLRPC::DateTime, dt)
12
def test_new_exception
13
assert_raises(ArgumentError) { XMLRPC::DateTime.new(4.5, 13, 32, 25, 60, 60) }
14
assert_raises(ArgumentError) { XMLRPC::DateTime.new(2001, 12, 32, 25, 60, 60) }
15
assert_raises(ArgumentError) { XMLRPC::DateTime.new(2001, 12, 31, 25, 60, 60) }
16
assert_raises(ArgumentError) { XMLRPC::DateTime.new(2001, 12, 31, 24, 60, 60) }
17
assert_raises(ArgumentError) { XMLRPC::DateTime.new(2001, 12, 31, 24, 59, 60) }
18
assert_nothing_raised(ArgumentError) { XMLRPC::DateTime.new(2001, 12, 31, 24, 59, 59) }
20
assert_raises(ArgumentError) { XMLRPC::DateTime.new(2001, 0, 0, -1, -1, -1) }
21
assert_raises(ArgumentError) { XMLRPC::DateTime.new(2001, 1, 0, -1, -1, -1) }
22
assert_raises(ArgumentError) { XMLRPC::DateTime.new(2001, 1, 1, -1, -1, -1) }
23
assert_raises(ArgumentError) { XMLRPC::DateTime.new(2001, 1, 1, 0, -1, -1) }
24
assert_raises(ArgumentError) { XMLRPC::DateTime.new(2001, 1, 1, 0, 0, -1) }
25
assert_nothing_raised(ArgumentError) { XMLRPC::DateTime.new(2001, 1, 1, 0, 0, 0) }
30
y, m, d, h, mi, s = 1970, 3, 24, 12, 0, 5
31
dt = XMLRPC::DateTime.new(y, m, d, h, mi, s)
33
assert_equal(y, dt.year)
34
assert_equal(m, dt.month)
35
assert_equal(m, dt.mon)
36
assert_equal(d, dt.day)
38
assert_equal(h, dt.hour)
39
assert_equal(mi,dt.min)
40
assert_equal(s, dt.sec)
45
y, m, d, h, mi, s = 1950, 12, 9, 8, 52, 30
54
assert_equal(y, dt.year)
55
assert_equal(m, dt.month)
56
assert_equal(m, dt.mon)
57
assert_equal(d, dt.day)
59
assert_equal(h, dt.hour)
60
assert_equal(mi,dt.min)
61
assert_equal(s, dt.sec)
64
assert_equal(5, dt.month)
65
assert_equal(5, dt.mon)
68
def test_set_exception
71
assert_raises(ArgumentError) { dt.year = 4.5 }
72
assert_nothing_raised(ArgumentError) { dt.year = -2000 }
74
assert_raises(ArgumentError) { dt.month = 0 }
75
assert_raises(ArgumentError) { dt.month = 13 }
76
assert_nothing_raised(ArgumentError) { dt.month = 7 }
78
assert_raises(ArgumentError) { dt.mon = 0 }
79
assert_raises(ArgumentError) { dt.mon = 13 }
80
assert_nothing_raised(ArgumentError) { dt.mon = 7 }
82
assert_raises(ArgumentError) { dt.day = 0 }
83
assert_raises(ArgumentError) { dt.day = 32 }
84
assert_nothing_raised(ArgumentError) { dt.day = 16 }
86
assert_raises(ArgumentError) { dt.hour = -1 }
87
assert_raises(ArgumentError) { dt.hour = 25 }
88
assert_nothing_raised(ArgumentError) { dt.hour = 12 }
90
assert_raises(ArgumentError) { dt.min = -1 }
91
assert_raises(ArgumentError) { dt.min = 60 }
92
assert_nothing_raised(ArgumentError) { dt.min = 30 }
94
assert_raises(ArgumentError) { dt.sec = -1 }
95
assert_raises(ArgumentError) { dt.sec = 60 }
96
assert_nothing_raised(ArgumentError) { dt.sec = 30 }
100
y, m, d, h, mi, s = 1970, 3, 24, 12, 0, 5
101
dt = XMLRPC::DateTime.new(y, m, d, h, mi, s)
104
assert_instance_of(Array, a)
105
assert_equal(6, a.size, "Returned array has wrong size")
107
assert_equal(y, a[0])
108
assert_equal(m, a[1])
109
assert_equal(d, a[2])
110
assert_equal(h, a[3])
111
assert_equal(mi, a[4])
112
assert_equal(s, a[5])
116
y, m, d, h, mi, s = 1970, 3, 24, 12, 0, 5
117
dt = XMLRPC::DateTime.new(y, m, d, h, mi, s)
122
assert_equal(y, time.year)
123
assert_equal(m, time.month)
124
assert_equal(d, time.day)
125
assert_equal(h, time.hour)
126
assert_equal(mi, time.min)
127
assert_equal(s, time.sec)
131
dt = createDateTime()
134
assert_nil(dt.to_time)
138
y, m, d, h, mi, s = 1970, 3, 24, 12, 0, 5
139
dt = XMLRPC::DateTime.new(y, m, d, h, mi, s)
142
assert_equal(y, date.year)
143
assert_equal(m, date.month)
144
assert_equal(d, date.day)
148
dt = createDateTime()
151
assert_equal(666, dt.to_date.year)
156
XMLRPC::DateTime.new(1970, 3, 24, 12, 0, 5)