summaryrefslogtreecommitdiff
path: root/fpcsrc/tests/webtbs/tw16040.pp
blob: de5a36f2cc22430a8451323d20c9208f67d3eab9 (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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
uses
  sysutils,dateutils;
var
  date1,
  date2: tdatetime;
  jdate: double;
begin
  date1:=EncodeDateTime(2010,03,22,0,0,0,0);
  date2:=JulianDateToDateTime(2455277.50000);
  if date1<>date2 then
    begin
      writeln(date1:0:12);
      writeln(date2:0:12);
      halt(1);
    end;
  if DateTimeToJulianDate(date2)<>2455277.50000 then
    begin
      writeln(DateTimeToJulianDate(date2):0:5);
      writeln(2455277.50000:0:5);
      halt(2);
    end;
  jdate:=DateTimeToModifiedJulianDate(date1);
  if ModifiedJulianDateToDateTime(jdate)<>date1 then
    begin
      writeln(jdate:0:12);
      writeln(date1:0:12);
      halt(3);
    end;
  date1:=EncodeDateTime(2010,03,23,0,0,0,0);
  date2:=JulianDateToDateTime(2455278.50000);
  if date1<>date2 then
    begin
      writeln(date1:0:12);
      writeln(date2:0:12);
      halt(4);
    end;
  if DateTimeToJulianDate(date2)<>2455278.50000 then
    begin
      writeln(DateTimeToJulianDate(date2):0:5);
      writeln(2455278.50000:0:5);
      halt(5);
    end;
  jdate:=DateTimeToModifiedJulianDate(date1);
  if ModifiedJulianDateToDateTime(jdate)<>date1 then
    begin
      writeln(jdate:0:12);
      writeln(date1:0:12);
      halt(6);
    end;

  date1:=EncodeDateTime(2011,03,26,19,15,30,555);
  if IsInLeapYear(date1) then 
    begin
      writeln('IsInLeapYear test fail');
      halt(7);
    end;
  if not IsPM(date1) then 
    begin
      writeln('IsPM test fail');
      halt(8);
    end;
  if YearOf(date1) <> 2011 then 
    begin
      writeln('YearOf test fail');
      halt(9);
    end;
  if MonthOf(date1) <> 3 then 
    begin
      writeln('MonthOf test fail');
      halt(10);
    end;
  if DayOf(date1) <> 26 then 
    begin
      writeln('DayOf test fail');
      halt(11);
    end;
  if (HourOf(date1) <> 19) or (HourOfTheDay(date1) <> 19) then 
    begin
      writeln('HourOf test fail');
      halt(11);
    end;
  if (MinuteOf(date1) <> 15) or (MinuteOfTheHour(date1) <> 15) then 
    begin
      writeln('MinuteOf test fail');
      halt(12);
    end;
  if (SecondOf(date1) <> 30) or (SecondOfTheMinute(date1) <> 30) then 
    begin
      writeln('SecondOf test fail');
      halt(13);
    end;
  if (MilliSecondOf(date1) <> 555) or (MilliSecondOfTheSecond(date1) <> 555) then 
    begin
      writeln('MilliSecondOf test fail');
      halt(14);
    end;
  if StartOfTheYear(date1) <> EncodeDate(2011, 1, 1) then
    begin
      writeln('StartOfTheYear test fail');
      halt(15);
    end;
  if EndOfTheYear(date1) <> EncodeDateTime(2011,12,31,23,59,59,999) then
    begin
      writeln('EndOfTheYear test fail');
      halt(16);
    end;
  if scandatetime('YYYY.MM.DD HH:NN:SS:ZZZ', '2011.03.29 16:46:56:777') <>
    EncodeDateTime(2011,03,29,16,46,56,777) then
    begin
      writeln('scandatetime test fail');
      halt(17);
    end;
end.