1use Test::More tests => 25;
2
3BEGIN { use_ok('Time::Piece'); }
4
5ok(1);
6
7my $t = gmtime(951827696); # 2000-02-29T12:34:56
8
9is($t->mon, 2);
10is($t->mday, 29);
11
12my $t2 = $t->add_months(1);
13is($t2->year, 2000);
14is($t2->mon,  3);
15is($t2->mday, 29);
16
17my $t3 = $t->add_months(-1);
18is($t3->year, 2000);
19is($t3->mon,  1);
20is($t3->mday, 29);
21
22# this one wraps around to March because of the leap year
23my $t4 = $t->add_years(1);
24is($t4->year, 2001);
25is($t4->mon, 3);
26is($t4->mday, 1);
27
28$t = Time::Piece->strptime("01 01 2010","%d %m %Y");
29my $t6 = $t->add_months(-12);
30is($t6->year, 2009);
31is($t6->mon, 1);
32is($t6->mday, 1);
33
34my $t7 = $t->add_months(-1);
35is($t7->year, 2009);
36is($t7->mon, 12);
37is($t7->mday, 1);
38
39my $t8 = $t->add_months(-240);
40is($t8->year, 1990);
41is($t8->mon, 1);
42is($t8->mday, 1);
43
44my $t9 = $t->add_months(-13);
45is($t9->year, 2008);
46is($t9->mon, 12);
47is($t9->mday, 1);
48