1
1
package com .genexus .util ;
2
2
3
- import com .genexus .Application ;
4
3
import com .genexus .CommonUtil ;
5
4
import com .genexus .LocalUtil ;
5
+ import com .genexus .specific .java .Connect ;
6
+ import org .junit .Assert ;
7
+ import org .junit .Test ;
6
8
9
+ import java .text .DateFormat ;
7
10
import java .text .ParseException ;
11
+ import java .text .SimpleDateFormat ;
8
12
import java .util .Calendar ;
9
13
import java .util .Date ;
10
14
import java .util .GregorianCalendar ;
11
15
import java .util .TimeZone ;
12
16
13
- import com .genexus .specific .java .Connect ;
14
- import org .junit .Assert ;
15
- import org .junit .Test ;
16
-
17
17
public class TestDateMethods {
18
18
19
- @ Test
20
- public void testYearLimit (){
21
- Connect .init ();
22
- LocalUtil localUtil = new LocalUtil ('.' , "MDY" , "24" , 30 , "eng" );
23
- Date testDate1 = CommonUtil .nullDate ();
24
- Date testDate2 = CommonUtil .nullDate ();
25
-
26
- String pattern = "dd/MM/yy" ;
27
-
28
- GXSimpleDateFormat df = new GXSimpleDateFormat (pattern );
29
- df .setTimeZone (TimeZone .getDefault ());
30
- try
31
- {
32
- testDate1 = localUtil .applyYearLimit (df .parse ("12/12/30" ), pattern );
33
- testDate2 = localUtil .applyYearLimit (df .parse ("08/05/76" ), pattern );
34
- }
35
- catch (ParseException e )
36
- {
37
-
38
- }
39
- Calendar calendar = GregorianCalendar .getInstance ();
40
- calendar .setTime (testDate1 );
41
- Assert .assertTrue (calendar .get (Calendar .YEAR ) == 1930 );
42
- calendar .setTime (testDate2 );
43
- Assert .assertTrue (calendar .get (Calendar .YEAR ) == 1976 );
44
- }
45
-
46
- @ Test
47
- public void testCtotex (){
48
- Connect .init ();
49
-
50
- LocalUtil localUtil = new LocalUtil ('.' , "MDY" , "24" , 30 , "eng" );
51
- Date testDate1 = CommonUtil .nullDate ();
52
- Date testDate2 = CommonUtil .nullDate ();
53
- Date testDate3 = CommonUtil .nullDate ();
54
- try
55
- {
56
- testDate1 = localUtil .ctotex ("1930-01-01T00:00" , 0 );
57
- testDate2 = localUtil .ctotex ("2023-01-01T00:00:00" , 0 );
58
- testDate3 = localUtil .ctotex ("2200-12-31T00:00:00.000" , 0 );
59
- }
60
- catch (Exception e )
61
- { }
62
-
63
- Calendar calendar = GregorianCalendar .getInstance ();
64
- calendar .setTime (testDate1 );
65
- Assert .assertTrue (calendar .get (Calendar .YEAR ) == 1930 );
66
- calendar .setTime (testDate2 );
67
- Assert .assertTrue (calendar .get (Calendar .YEAR ) == 2023 );
68
- calendar .setTime (testDate3 );
69
- Assert .assertTrue (calendar .get (Calendar .YEAR ) == 2200 );
70
-
71
- testDate1 = CommonUtil .nullDate ();
72
- testDate2 = CommonUtil .nullDate ();
73
- testDate3 = CommonUtil .nullDate ();
74
- try
75
- {
76
- testDate1 = localUtil .ctotex ("29-01-01" , 0 );
77
- testDate2 = localUtil .ctotex ("30-01-01T00" , 0 );
78
- testDate3 = localUtil .ctotex ("31-12-31T00:00" , 0 );
79
- }
80
- catch (Exception e )
81
- { }
82
-
83
- calendar = GregorianCalendar .getInstance ();
84
- calendar .setTime (testDate1 );
85
- Assert .assertTrue (calendar .get (Calendar .YEAR ) == 2029 );
86
- calendar .setTime (testDate2 );
87
- Assert .assertTrue (calendar .get (Calendar .YEAR ) == 1930 );
88
- calendar .setTime (testDate3 );
89
- Assert .assertTrue (calendar .get (Calendar .YEAR ) == 1931 );
90
- }
19
+ @ Test
20
+ public void testYearLimit () {
21
+ Connect .init ();
22
+ LocalUtil localUtil = new LocalUtil ('.' , "MDY" , "24" , 30 , "eng" );
23
+ Date testDate1 = CommonUtil .nullDate ();
24
+ Date testDate2 = CommonUtil .nullDate ();
25
+
26
+ String pattern = "dd/MM/yy" ;
27
+
28
+ GXSimpleDateFormat df = new GXSimpleDateFormat (pattern );
29
+ df .setTimeZone (TimeZone .getDefault ());
30
+ try {
31
+ testDate1 = localUtil .applyYearLimit (df .parse ("12/12/30" ), pattern );
32
+ testDate2 = localUtil .applyYearLimit (df .parse ("08/05/76" ), pattern );
33
+ } catch (ParseException e ) {
34
+
35
+ }
36
+ Calendar calendar = GregorianCalendar .getInstance ();
37
+ calendar .setTime (testDate1 );
38
+ Assert .assertTrue (calendar .get (Calendar .YEAR ) == 1930 );
39
+ calendar .setTime (testDate2 );
40
+ Assert .assertTrue (calendar .get (Calendar .YEAR ) == 1976 );
41
+ }
42
+
43
+ @ Test
44
+ public void testCtotex () {
45
+ Connect .init ();
46
+
47
+ LocalUtil localUtil = new LocalUtil ('.' , "MDY" , "24" , 30 , "eng" );
48
+ Date testDate1 = CommonUtil .nullDate ();
49
+ Date testDate2 = CommonUtil .nullDate ();
50
+ Date testDate3 = CommonUtil .nullDate ();
51
+ try {
52
+ testDate1 = localUtil .ctotex ("1930-01-01T00:00" , 0 );
53
+ testDate2 = localUtil .ctotex ("2023-01-01T00:00:00" , 0 );
54
+ testDate3 = localUtil .ctotex ("2200-12-31T00:00:00.000" , 0 );
55
+ } catch (Exception e ) {
56
+ }
57
+
58
+ Calendar calendar = GregorianCalendar .getInstance ();
59
+ calendar .setTime (testDate1 );
60
+ Assert .assertTrue (calendar .get (Calendar .YEAR ) == 1930 );
61
+ calendar .setTime (testDate2 );
62
+ Assert .assertTrue (calendar .get (Calendar .YEAR ) == 2023 );
63
+ calendar .setTime (testDate3 );
64
+ Assert .assertTrue (calendar .get (Calendar .YEAR ) == 2200 );
65
+
66
+ testDate1 = CommonUtil .nullDate ();
67
+ testDate2 = CommonUtil .nullDate ();
68
+ testDate3 = CommonUtil .nullDate ();
69
+ try {
70
+ testDate1 = localUtil .ctotex ("29-01-01" , 0 );
71
+ testDate2 = localUtil .ctotex ("30-01-01T00" , 0 );
72
+ testDate3 = localUtil .ctotex ("31-12-31T00:00" , 0 );
73
+ } catch (Exception e ) {
74
+ }
75
+
76
+ calendar = GregorianCalendar .getInstance ();
77
+ calendar .setTime (testDate1 );
78
+ Assert .assertTrue (calendar .get (Calendar .YEAR ) == 2029 );
79
+ calendar .setTime (testDate2 );
80
+ Assert .assertTrue (calendar .get (Calendar .YEAR ) == 1930 );
81
+ calendar .setTime (testDate3 );
82
+ Assert .assertTrue (calendar .get (Calendar .YEAR ) == 1931 );
83
+ }
84
+
85
+ @ Test
86
+ public void testValidTimezone () {
87
+ Connect .init ();
88
+
89
+ String dateTime = "2023-03-22 15:00:00" ; // input DateTime
90
+ DateFormat dateFormat = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss" );
91
+
92
+ TimeZone timezone = TimeZone .getTimeZone ("America/Montevideo" );
93
+
94
+ try {
95
+ Date mvdDate = dateFormat .parse (dateTime ); // convert String to Date
96
+ Date utcDate = CommonUtil .DateTimeToUTC (mvdDate , timezone );
97
+
98
+ long diff = utcDate .getTime () - mvdDate .getTime ();
99
+ long expectedDiff = 10800000 ;
100
+ Assert .assertEquals ("Timezone offset invalid" , expectedDiff , diff );
101
+ } catch (Exception e ) {
102
+ Assert .fail ();
103
+ }
104
+ }
105
+
106
+ /**
107
+ * DateTimeToUTC must not fail if the Timezone does not exists.
108
+ */
109
+ @ Test
110
+ public void testInvalidTimezone () {
111
+ Connect .init ();
112
+
113
+ String dateTime = "2023-03-22 15:00:00" ; // input DateTime
114
+ DateFormat dateFormat = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss" );
115
+
116
+ TimeZone timezone = TimeZone .getTimeZone ("America/DoesnotExists" );
117
+
118
+ try {
119
+ Date mvdDate = dateFormat .parse (dateTime ); // convert String to Date
120
+ Date utcDate = CommonUtil .DateTimeToUTC (mvdDate , timezone );
121
+
122
+ long diff = utcDate .getTime () - mvdDate .getTime ();
123
+ long expectedDiff = 0 ;
124
+ Assert .assertEquals ("Timezone offset invalid" , expectedDiff , diff );
125
+ } catch (Exception e ) {
126
+ Assert .fail ();
127
+ }
128
+ }
91
129
}
0 commit comments