1#!perl -w
2
3package Date::Calc::Subclass;
4
5BEGIN { eval { require bytes; }; }
6use strict;
7no strict "vars";
8
9BEGIN { $Date::Calc::XS_DISABLE = $Date::Calc::XS_DISABLE = 1; }
10
11use Date::Calc::Object qw(:all);
12
13@ISA = qw(Date::Calc);
14
15# Workaround for what appears to be a bug in Perl 5.003:
16
17*Date::Calc::DESTROY = *Date::Calc::DESTROY = sub { } if ($] < 5.004);
18
19# ======================================================================
20#   $date = Date::Calc->new();
21# ======================================================================
22
23# Crappy Perl 5.6.0 has internal refcount problems below:
24
25if ($] eq '5.006') { print "1..190\n"; }
26else               { print "1..196\n"; }
27
28#   Attempt to free unreferenced scalar at ./t/m001.t line 726 (#1)
29#   (W internal) Perl went to decrement the reference count of a scalar to see if it
30#   would go to 0, and discovered that it had already gone to 0 earlier,
31#   and should have been freed, and in fact, probably was freed.  This
32#   could indicate that SvREFCNT_dec() was called too many times, or that
33#   SvREFCNT_inc() was called too few times, or that the SV was mortalized
34#   when it shouldn't have been, or that memory has been corrupted.
35
36$n = 1;
37
38eval { $date = Date::Calc->new(); };
39unless ($@)
40{print "ok $n\n";} else {print "not ok $n\n";}
41$n++;
42if (ref $date)
43{print "ok $n\n";} else {print "not ok $n\n";}
44$n++;
45if (ref $date eq 'Date::Calc')
46{print "ok $n\n";} else {print "not ok $n\n";}
47$n++;
48
49eval { $flag = $date->is_valid(); };
50unless ($@)
51{print "ok $n\n";} else {print "not ok $n\n";}
52$n++;
53unless (defined $flag)
54{print "ok $n\n";} else {print "not ok $n\n";}
55$n++;
56
57eval { $flag = $date->is_date(); };
58unless ($@)
59{print "ok $n\n";} else {print "not ok $n\n";}
60$n++;
61unless (defined $flag)
62{print "ok $n\n";} else {print "not ok $n\n";}
63$n++;
64
65eval { $flag = $date->is_delta(); };
66unless ($@)
67{print "ok $n\n";} else {print "not ok $n\n";}
68$n++;
69unless (defined $flag)
70{print "ok $n\n";} else {print "not ok $n\n";}
71$n++;
72
73eval { $date = Date::Calc->new(0); };
74unless ($@)
75{print "ok $n\n";} else {print "not ok $n\n";}
76$n++;
77if (ref $date)
78{print "ok $n\n";} else {print "not ok $n\n";}
79$n++;
80if (ref $date eq 'Date::Calc')
81{print "ok $n\n";} else {print "not ok $n\n";}
82$n++;
83
84eval { $flag = $date->is_valid(); };
85unless ($@)
86{print "ok $n\n";} else {print "not ok $n\n";}
87$n++;
88unless (defined $flag)
89{print "ok $n\n";} else {print "not ok $n\n";}
90$n++;
91
92eval { $flag = $date->is_date(); };
93unless ($@)
94{print "ok $n\n";} else {print "not ok $n\n";}
95$n++;
96if (defined $flag)
97{print "ok $n\n";} else {print "not ok $n\n";}
98$n++;
99if ($flag == 1)
100{print "ok $n\n";} else {print "not ok $n\n";}
101$n++;
102
103eval { $flag = $date->is_delta(); };
104unless ($@)
105{print "ok $n\n";} else {print "not ok $n\n";}
106$n++;
107if (defined $flag)
108{print "ok $n\n";} else {print "not ok $n\n";}
109$n++;
110if ($flag == 0)
111{print "ok $n\n";} else {print "not ok $n\n";}
112$n++;
113
114eval { $date = Date::Calc->new(1); };
115unless ($@)
116{print "ok $n\n";} else {print "not ok $n\n";}
117$n++;
118if (ref $date)
119{print "ok $n\n";} else {print "not ok $n\n";}
120$n++;
121if (ref $date eq 'Date::Calc')
122{print "ok $n\n";} else {print "not ok $n\n";}
123$n++;
124
125eval { $flag = $date->is_valid(); };
126unless ($@)
127{print "ok $n\n";} else {print "not ok $n\n";}
128$n++;
129unless (defined $flag)
130{print "ok $n\n";} else {print "not ok $n\n";}
131$n++;
132
133eval { $flag = $date->is_date(); };
134unless ($@)
135{print "ok $n\n";} else {print "not ok $n\n";}
136$n++;
137if (defined $flag)
138{print "ok $n\n";} else {print "not ok $n\n";}
139$n++;
140if ($flag == 0)
141{print "ok $n\n";} else {print "not ok $n\n";}
142$n++;
143
144eval { $flag = $date->is_delta(); };
145unless ($@)
146{print "ok $n\n";} else {print "not ok $n\n";}
147$n++;
148if (defined $flag)
149{print "ok $n\n";} else {print "not ok $n\n";}
150$n++;
151if ($flag == 1)
152{print "ok $n\n";} else {print "not ok $n\n";}
153$n++;
154
155eval { $date = Date::Calc::Subclass->new(2000,2,29); };
156unless ($@)
157{print "ok $n\n";} else {print "not ok $n\n";}
158$n++;
159if (ref $date)
160{print "ok $n\n";} else {print "not ok $n\n";}
161$n++;
162if (ref $date eq 'Date::Calc::Subclass')
163{print "ok $n\n";} else {print "not ok $n\n";}
164$n++;
165
166eval { $flag = $date->is_valid(); };
167unless ($@)
168{print "ok $n\n";} else {print "not ok $n\n";}
169$n++;
170if (defined $flag)
171{print "ok $n\n";} else {print "not ok $n\n";}
172$n++;
173if ($flag == 1)
174{print "ok $n\n";} else {print "not ok $n\n";}
175$n++;
176
177eval { $flag = $date->is_date(); };
178unless ($@)
179{print "ok $n\n";} else {print "not ok $n\n";}
180$n++;
181if (defined $flag)
182{print "ok $n\n";} else {print "not ok $n\n";}
183$n++;
184if ($flag == 1)
185{print "ok $n\n";} else {print "not ok $n\n";}
186$n++;
187
188eval { $flag = $date->is_delta(); };
189unless ($@)
190{print "ok $n\n";} else {print "not ok $n\n";}
191$n++;
192if (defined $flag)
193{print "ok $n\n";} else {print "not ok $n\n";}
194$n++;
195if ($flag == 0)
196{print "ok $n\n";} else {print "not ok $n\n";}
197$n++;
198
199if ($date->year() == 2000)
200{print "ok $n\n";} else {print "not ok $n\n";}
201$n++;
202if ($date->month() == 2)
203{print "ok $n\n";} else {print "not ok $n\n";}
204$n++;
205if ($date->day() == 29)
206{print "ok $n\n";} else {print "not ok $n\n";}
207$n++;
208unless (defined $date->hours())
209{print "ok $n\n";} else {print "not ok $n\n";}
210$n++;
211unless (defined $date->minutes())
212{print "ok $n\n";} else {print "not ok $n\n";}
213$n++;
214unless (defined $date->seconds())
215{print "ok $n\n";} else {print "not ok $n\n";}
216$n++;
217
218eval { $date = Date::Calc->new(1900,2,29); };
219unless ($@)
220{print "ok $n\n";} else {print "not ok $n\n";}
221$n++;
222if (ref $date)
223{print "ok $n\n";} else {print "not ok $n\n";}
224$n++;
225if (ref $date eq 'Date::Calc')
226{print "ok $n\n";} else {print "not ok $n\n";}
227$n++;
228
229eval { $flag = $date->is_valid(); };
230unless ($@)
231{print "ok $n\n";} else {print "not ok $n\n";}
232$n++;
233if (defined $flag)
234{print "ok $n\n";} else {print "not ok $n\n";}
235$n++;
236if ($flag == 0)
237{print "ok $n\n";} else {print "not ok $n\n";}
238$n++;
239
240eval { $flag = $date->is_date(); };
241unless ($@)
242{print "ok $n\n";} else {print "not ok $n\n";}
243$n++;
244if (defined $flag)
245{print "ok $n\n";} else {print "not ok $n\n";}
246$n++;
247if ($flag == 1)
248{print "ok $n\n";} else {print "not ok $n\n";}
249$n++;
250
251eval { $flag = $date->is_delta(); };
252unless ($@)
253{print "ok $n\n";} else {print "not ok $n\n";}
254$n++;
255if (defined $flag)
256{print "ok $n\n";} else {print "not ok $n\n";}
257$n++;
258if ($flag == 0)
259{print "ok $n\n";} else {print "not ok $n\n";}
260$n++;
261
262eval { $day = $date->day(28); };
263unless ($@)
264{print "ok $n\n";} else {print "not ok $n\n";}
265$n++;
266
267eval { $flag = $date->is_valid(); };
268unless ($@)
269{print "ok $n\n";} else {print "not ok $n\n";}
270$n++;
271if (defined $flag)
272{print "ok $n\n";} else {print "not ok $n\n";}
273$n++;
274if ($flag == 1)
275{print "ok $n\n";} else {print "not ok $n\n";}
276$n++;
277
278eval { $flag = $date->is_date(); };
279unless ($@)
280{print "ok $n\n";} else {print "not ok $n\n";}
281$n++;
282if (defined $flag)
283{print "ok $n\n";} else {print "not ok $n\n";}
284$n++;
285if ($flag == 1)
286{print "ok $n\n";} else {print "not ok $n\n";}
287$n++;
288
289eval { $flag = $date->is_delta(); };
290unless ($@)
291{print "ok $n\n";} else {print "not ok $n\n";}
292$n++;
293if (defined $flag)
294{print "ok $n\n";} else {print "not ok $n\n";}
295$n++;
296if ($flag == 0)
297{print "ok $n\n";} else {print "not ok $n\n";}
298$n++;
299
300if (defined $day)
301{print "ok $n\n";} else {print "not ok $n\n";}
302$n++;
303if ($day == 28)
304{print "ok $n\n";} else {print "not ok $n\n";}
305$n++;
306
307if ($date->day() == $day)
308{print "ok $n\n";} else {print "not ok $n\n";}
309$n++;
310if ($date->month() == 2)
311{print "ok $n\n";} else {print "not ok $n\n";}
312$n++;
313if ($date->year() == 1900)
314{print "ok $n\n";} else {print "not ok $n\n";}
315$n++;
316unless (defined $date->hours())
317{print "ok $n\n";} else {print "not ok $n\n";}
318$n++;
319unless (defined $date->minutes())
320{print "ok $n\n";} else {print "not ok $n\n";}
321$n++;
322unless (defined $date->seconds())
323{print "ok $n\n";} else {print "not ok $n\n";}
324$n++;
325
326eval { $date = Date::Calc->new([2000,2,29]); };
327unless ($@)
328{print "ok $n\n";} else {print "not ok $n\n";}
329$n++;
330
331eval { $flag = $date->is_valid(); };
332unless ($@)
333{print "ok $n\n";} else {print "not ok $n\n";}
334$n++;
335if (defined $flag)
336{print "ok $n\n";} else {print "not ok $n\n";}
337$n++;
338if ($flag == 1)
339{print "ok $n\n";} else {print "not ok $n\n";}
340$n++;
341
342eval { $flag = $date->is_date(); };
343unless ($@)
344{print "ok $n\n";} else {print "not ok $n\n";}
345$n++;
346if (defined $flag)
347{print "ok $n\n";} else {print "not ok $n\n";}
348$n++;
349if ($flag == 1)
350{print "ok $n\n";} else {print "not ok $n\n";}
351$n++;
352
353eval { $flag = $date->is_delta(); };
354unless ($@)
355{print "ok $n\n";} else {print "not ok $n\n";}
356$n++;
357if (defined $flag)
358{print "ok $n\n";} else {print "not ok $n\n";}
359$n++;
360if ($flag == 0)
361{print "ok $n\n";} else {print "not ok $n\n";}
362$n++;
363
364if ($date->day() == 29)
365{print "ok $n\n";} else {print "not ok $n\n";}
366$n++;
367if ($date->month() == 2)
368{print "ok $n\n";} else {print "not ok $n\n";}
369$n++;
370if ($date->year() == 2000)
371{print "ok $n\n";} else {print "not ok $n\n";}
372$n++;
373unless (defined $date->hours())
374{print "ok $n\n";} else {print "not ok $n\n";}
375$n++;
376unless (defined $date->minutes())
377{print "ok $n\n";} else {print "not ok $n\n";}
378$n++;
379unless (defined $date->seconds())
380{print "ok $n\n";} else {print "not ok $n\n";}
381$n++;
382
383eval { $other = $date->new(1964,1,3,11,5,4); };
384unless ($@)
385{print "ok $n\n";} else {print "not ok $n\n";}
386$n++;
387
388eval { $flag = $other->is_valid(); };
389unless ($@)
390{print "ok $n\n";} else {print "not ok $n\n";}
391$n++;
392if (defined $flag)
393{print "ok $n\n";} else {print "not ok $n\n";}
394$n++;
395if ($flag == 1)
396{print "ok $n\n";} else {print "not ok $n\n";}
397$n++;
398
399eval { $flag = $other->is_date(); };
400unless ($@)
401{print "ok $n\n";} else {print "not ok $n\n";}
402$n++;
403if (defined $flag)
404{print "ok $n\n";} else {print "not ok $n\n";}
405$n++;
406if ($flag == 1)
407{print "ok $n\n";} else {print "not ok $n\n";}
408$n++;
409
410eval { $flag = $other->is_delta(); };
411unless ($@)
412{print "ok $n\n";} else {print "not ok $n\n";}
413$n++;
414if (defined $flag)
415{print "ok $n\n";} else {print "not ok $n\n";}
416$n++;
417if ($flag == 0)
418{print "ok $n\n";} else {print "not ok $n\n";}
419$n++;
420
421if ($other->day() == 3)
422{print "ok $n\n";} else {print "not ok $n\n";}
423$n++;
424if ($other->month() == 1)
425{print "ok $n\n";} else {print "not ok $n\n";}
426$n++;
427if ($other->year() == 1964)
428{print "ok $n\n";} else {print "not ok $n\n";}
429$n++;
430if ($other->hours() == 11)
431{print "ok $n\n";} else {print "not ok $n\n";}
432$n++;
433if ($other->minutes() == 5)
434{print "ok $n\n";} else {print "not ok $n\n";}
435$n++;
436if ($other->seconds() == 4)
437{print "ok $n\n";} else {print "not ok $n\n";}
438$n++;
439
440eval { $flag = $date->is_valid(); };
441unless ($@)
442{print "ok $n\n";} else {print "not ok $n\n";}
443$n++;
444if (defined $flag)
445{print "ok $n\n";} else {print "not ok $n\n";}
446$n++;
447if ($flag == 1)
448{print "ok $n\n";} else {print "not ok $n\n";}
449$n++;
450
451eval { $flag = $date->is_date(); };
452unless ($@)
453{print "ok $n\n";} else {print "not ok $n\n";}
454$n++;
455if (defined $flag)
456{print "ok $n\n";} else {print "not ok $n\n";}
457$n++;
458if ($flag == 1)
459{print "ok $n\n";} else {print "not ok $n\n";}
460$n++;
461
462eval { $flag = $date->is_delta(); };
463unless ($@)
464{print "ok $n\n";} else {print "not ok $n\n";}
465$n++;
466if (defined $flag)
467{print "ok $n\n";} else {print "not ok $n\n";}
468$n++;
469if ($flag == 0)
470{print "ok $n\n";} else {print "not ok $n\n";}
471$n++;
472
473if ($date->day() == 29)
474{print "ok $n\n";} else {print "not ok $n\n";}
475$n++;
476if ($date->month() == 2)
477{print "ok $n\n";} else {print "not ok $n\n";}
478$n++;
479if ($date->year() == 2000)
480{print "ok $n\n";} else {print "not ok $n\n";}
481$n++;
482unless (defined $date->hours())
483{print "ok $n\n";} else {print "not ok $n\n";}
484$n++;
485unless (defined $date->minutes())
486{print "ok $n\n";} else {print "not ok $n\n";}
487$n++;
488unless (defined $date->seconds())
489{print "ok $n\n";} else {print "not ok $n\n";}
490$n++;
491
492eval { $date = Date::Calc->new(0,2001,6,10,9,15,36); };
493unless ($@)
494{print "ok $n\n";} else {print "not ok $n\n";}
495$n++;
496
497eval { $flag = $date->is_valid(); };
498unless ($@)
499{print "ok $n\n";} else {print "not ok $n\n";}
500$n++;
501if (defined $flag)
502{print "ok $n\n";} else {print "not ok $n\n";}
503$n++;
504if ($flag == 1)
505{print "ok $n\n";} else {print "not ok $n\n";}
506$n++;
507
508eval { $flag = $date->is_date(); };
509unless ($@)
510{print "ok $n\n";} else {print "not ok $n\n";}
511$n++;
512if (defined $flag)
513{print "ok $n\n";} else {print "not ok $n\n";}
514$n++;
515if ($flag == 1)
516{print "ok $n\n";} else {print "not ok $n\n";}
517$n++;
518
519eval { $flag = $date->is_delta(); };
520unless ($@)
521{print "ok $n\n";} else {print "not ok $n\n";}
522$n++;
523if (defined $flag)
524{print "ok $n\n";} else {print "not ok $n\n";}
525$n++;
526if ($flag == 0)
527{print "ok $n\n";} else {print "not ok $n\n";}
528$n++;
529
530if ($date->day() == 10)
531{print "ok $n\n";} else {print "not ok $n\n";}
532$n++;
533if ($date->month() == 6)
534{print "ok $n\n";} else {print "not ok $n\n";}
535$n++;
536if ($date->year() == 2001)
537{print "ok $n\n";} else {print "not ok $n\n";}
538$n++;
539if ($date->hours() == 9)
540{print "ok $n\n";} else {print "not ok $n\n";}
541$n++;
542if ($date->minutes() == 15)
543{print "ok $n\n";} else {print "not ok $n\n";}
544$n++;
545if ($date->seconds() == 36)
546{print "ok $n\n";} else {print "not ok $n\n";}
547$n++;
548
549eval { $date = Date::Calc->new(1,37,5,6); };
550unless ($@)
551{print "ok $n\n";} else {print "not ok $n\n";}
552$n++;
553
554eval { $flag = $date->is_valid(); };
555unless ($@)
556{print "ok $n\n";} else {print "not ok $n\n";}
557$n++;
558if (defined $flag)
559{print "ok $n\n";} else {print "not ok $n\n";}
560$n++;
561if ($flag == 1)
562{print "ok $n\n";} else {print "not ok $n\n";}
563$n++;
564
565eval { $flag = $date->is_date(); };
566unless ($@)
567{print "ok $n\n";} else {print "not ok $n\n";}
568$n++;
569if (defined $flag)
570{print "ok $n\n";} else {print "not ok $n\n";}
571$n++;
572if ($flag == 0)
573{print "ok $n\n";} else {print "not ok $n\n";}
574$n++;
575
576eval { $flag = $date->is_delta(); };
577unless ($@)
578{print "ok $n\n";} else {print "not ok $n\n";}
579$n++;
580if (defined $flag)
581{print "ok $n\n";} else {print "not ok $n\n";}
582$n++;
583if ($flag == 1)
584{print "ok $n\n";} else {print "not ok $n\n";}
585$n++;
586
587if ($date->year() == 37)
588{print "ok $n\n";} else {print "not ok $n\n";}
589$n++;
590if ($date->month() == 5)
591{print "ok $n\n";} else {print "not ok $n\n";}
592$n++;
593if ($date->day() == 6)
594{print "ok $n\n";} else {print "not ok $n\n";}
595$n++;
596unless (defined $date->hours())
597{print "ok $n\n";} else {print "not ok $n\n";}
598$n++;
599unless (defined $date->minutes())
600{print "ok $n\n";} else {print "not ok $n\n";}
601$n++;
602unless (defined $date->seconds())
603{print "ok $n\n";} else {print "not ok $n\n";}
604$n++;
605
606eval { $date = Date::Calc->new(1,0,0,13672,22,10,32); };
607unless ($@)
608{print "ok $n\n";} else {print "not ok $n\n";}
609$n++;
610
611eval { $flag = $date->is_valid(); };
612unless ($@)
613{print "ok $n\n";} else {print "not ok $n\n";}
614$n++;
615if (defined $flag)
616{print "ok $n\n";} else {print "not ok $n\n";}
617$n++;
618if ($flag == 1)
619{print "ok $n\n";} else {print "not ok $n\n";}
620$n++;
621
622eval { $flag = $date->is_date(); };
623unless ($@)
624{print "ok $n\n";} else {print "not ok $n\n";}
625$n++;
626if (defined $flag)
627{print "ok $n\n";} else {print "not ok $n\n";}
628$n++;
629if ($flag == 0)
630{print "ok $n\n";} else {print "not ok $n\n";}
631$n++;
632
633eval { $flag = $date->is_delta(); };
634unless ($@)
635{print "ok $n\n";} else {print "not ok $n\n";}
636$n++;
637if (defined $flag)
638{print "ok $n\n";} else {print "not ok $n\n";}
639$n++;
640if ($flag == 1)
641{print "ok $n\n";} else {print "not ok $n\n";}
642$n++;
643
644if ($date->year() == 0)
645{print "ok $n\n";} else {print "not ok $n\n";}
646$n++;
647if ($date->month() == 0)
648{print "ok $n\n";} else {print "not ok $n\n";}
649$n++;
650if ($date->day() == 13672)
651{print "ok $n\n";} else {print "not ok $n\n";}
652$n++;
653if ($date->hours() == 22)
654{print "ok $n\n";} else {print "not ok $n\n";}
655$n++;
656if ($date->minutes() == 10)
657{print "ok $n\n";} else {print "not ok $n\n";}
658$n++;
659if ($date->seconds() == 32)
660{print "ok $n\n";} else {print "not ok $n\n";}
661$n++;
662
663eval { $date = Date::Calc->new([1,0,0,-13672,-22,-10,-32]); };
664unless ($@)
665{print "ok $n\n";} else {print "not ok $n\n";}
666$n++;
667
668eval { $flag = $date->is_valid(); };
669unless ($@)
670{print "ok $n\n";} else {print "not ok $n\n";}
671$n++;
672if (defined $flag)
673{print "ok $n\n";} else {print "not ok $n\n";}
674$n++;
675if ($flag == 1)
676{print "ok $n\n";} else {print "not ok $n\n";}
677$n++;
678
679eval { $flag = $date->is_date(); };
680unless ($@)
681{print "ok $n\n";} else {print "not ok $n\n";}
682$n++;
683if (defined $flag)
684{print "ok $n\n";} else {print "not ok $n\n";}
685$n++;
686if ($flag == 0)
687{print "ok $n\n";} else {print "not ok $n\n";}
688$n++;
689
690eval { $flag = $date->is_delta(); };
691unless ($@)
692{print "ok $n\n";} else {print "not ok $n\n";}
693$n++;
694if (defined $flag)
695{print "ok $n\n";} else {print "not ok $n\n";}
696$n++;
697if ($flag == 1)
698{print "ok $n\n";} else {print "not ok $n\n";}
699$n++;
700
701if ($date->year() == 0)
702{print "ok $n\n";} else {print "not ok $n\n";}
703$n++;
704if ($date->month() == 0)
705{print "ok $n\n";} else {print "not ok $n\n";}
706$n++;
707if ($date->day() == -13672)
708{print "ok $n\n";} else {print "not ok $n\n";}
709$n++;
710if ($date->hours() == -22)
711{print "ok $n\n";} else {print "not ok $n\n";}
712$n++;
713if ($date->minutes() == -10)
714{print "ok $n\n";} else {print "not ok $n\n";}
715$n++;
716if ($date->seconds() == -32)
717{print "ok $n\n";} else {print "not ok $n\n";}
718$n++;
719
720# Crappy Perl 5.6.0 has internal refcount problems here:
721
722if ($] ne '5.006')
723{
724    eval { $date = Date::Calc->new(1,2); };
725    if ($@ =~ /\bwrong number of arguments\b/)
726    {print "ok $n\n";} else {print "not ok $n\n";}
727    $n++;
728
729    eval { $date = Date::Calc->new(1,2,3,4,5); };
730    if ($@ =~ /\bwrong number of arguments\b/)
731    {print "ok $n\n";} else {print "not ok $n\n";}
732    $n++;
733
734    eval { $date = Date::Calc->new(1,2,3,4,5,6,7,8); };
735    if ($@ =~ /\bwrong number of arguments\b/)
736    {print "ok $n\n";} else {print "not ok $n\n";}
737    $n++;
738
739    eval { $date = Date::Calc->new([1,2]); };
740    if ($@ =~ /\bwrong number of arguments\b/)
741    {print "ok $n\n";} else {print "not ok $n\n";}
742    $n++;
743
744    eval { $date = Date::Calc->new([1,2,3,4,5]); };
745    if ($@ =~ /\bwrong number of arguments\b/)
746    {print "ok $n\n";} else {print "not ok $n\n";}
747    $n++;
748
749    eval { $date = Date::Calc->new([1,2,3,4,5,6,7,8]); };
750    if ($@ =~ /\bwrong number of arguments\b/)
751    {print "ok $n\n";} else {print "not ok $n\n";}
752    $n++;
753}
754
755__END__
756
757