Newer
Older
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
package org.josast.util.date;
import junit.framework.Assert;
import junit.framework.TestCase;
import java.util.GregorianCalendar;
import org.josast.util.date.JulianDay;
/**
* DOCUMENT ME!
*
* @author $author$
* @version $Revision: 1.2 $
*/
public class JulianDayTest extends TestCase {
//~ Static fields/initializers ----------------------------------------
private static final int DAY19 = 19;
private static final int MONTH4 = 4;
private static final int YEAR1990 = 1990;
private static final double JULIANDAY1941990 = 3543.0;
//~ Constructors ------------------------------------------------------
/**
* Creates a new JulianDayTest object.
*
* @param arg0 DOCUMENT ME!
*/
public JulianDayTest(String arg0) {
super(arg0);
}
//~ Methods -----------------------------------------------------------
/**
* DOCUMENT ME!
*
* @throws Exception DOCUMENT ME!
*/
protected void setUp() throws Exception {
super.setUp();
}
/**
* DOCUMENT ME!
*
* @throws Exception DOCUMENT ME!
*/
protected void tearDown() throws Exception {
super.tearDown();
}
/**
* <br> unit test for Julian day convertion from Gregorian Calendar
* <br> Date used for the test :
* <br> - 1957 10 4 19 26 24 julian day value expected 2436116.31
* <br> - 333 1 27 12 0 0 julian day value expected 1842713.0,
*/
public void testconvertToJulianDayGC() {
GregorianCalendar valeur = new GregorianCalendar(1957, GregorianCalendar.OCTOBER, 4,
19, 26, 24);
GregorianCalendar valeur1 = new GregorianCalendar(333, GregorianCalendar.JANUARY, 27, 12,
0, 0);
Assert.assertEquals(1842713.0,
JulianDay.convertToJulianDay(valeur1), 0);
Assert.assertEquals(2436116.31,
JulianDay.convertToJulianDay(valeur), 0);
}
/**
* unit test for Julian day convertion from a given date
* <br> 333 1 27 12 0 0 julian day value expected 1842713.0
* <br> -584 5 28 0 0 0 julian day value expected 1507899.5
* <br> 1957 10 4 19 26, julian day value expected 24 2436116.31
* <br> 2000 1 1 12 0 0 julian day value expected 2451545.0
* <br> -4712 1 1 12 0 0 julian day value expected 0.0
* <br> 1999 1 1 0 0 0 julian day value expected 2451179.5
* <br> 1987 1 27 0 0 0 julian day value expected 2446822.5
*/
public void testconvertToJulianDay() {
Assert.assertEquals(1842713.0,
JulianDay.convertToJulianDay(333, 1, 27, 12, 0, 0), 0);
Assert.assertEquals(1507899.5,
JulianDay.convertToJulianDay(-584, 5, 28, 0, 0, 0), 0);
Assert.assertEquals(2436116.31,
JulianDay.convertToJulianDay(1957, 10, 4, 19, 26, 24),
0);
Assert.assertEquals(2451545.0,
JulianDay.convertToJulianDay(2000, 1, 1, 12, 0, 0), 0);
Assert.assertEquals(0.0,
JulianDay.convertToJulianDay(-4712, 1, 1, 12, 0, 0), 0);
Assert.assertEquals(2451179.5,
JulianDay.convertToJulianDay(1999, 1, 1, 0, 0, 0), 0);
Assert.assertEquals(2446822.5,
JulianDay.convertToJulianDay(1987, 1, 27, 0, 0, 0), 0);
}
/**
* Unit test to addDays
* <br> original date 1954 6 28 0, 0, 0
* <br> add 1 day
* <br> expected results 1954 6 29 0 0 0
*
*/
public void testaddJours() {
GregorianCalendar valeur = new GregorianCalendar(1954, 6, 29, 0,
0, 0);
GregorianCalendar valeur2 = new GregorianCalendar(1954, 6, 28, 0,
0, 0);
GregorianCalendar resultat = JulianDay.addDays(valeur2, 1);
Assert.assertEquals(valeur.getTimeInMillis(),
resultat.getTimeInMillis());
}
/**
* Unit Tes from a Gregorian value
* <br> 333 1 27 12 0 0 julian day value expected 1842713.0
* <br> -584 5 28 0 0 0 julian day value expected 1507899.5
* <br> 1957 10 4 19 26, julian day value expected 24 2436116.31
*/
public void testconvertToGregorianCalendar() {
GregorianCalendar valeur = new GregorianCalendar(1957, GregorianCalendar.OCTOBER, 4,
19, 26, 24);
GregorianCalendar resultat = JulianDay.convertToGregorianCalendar(2436116.31);
Assert.assertEquals(valeur.getTimeInMillis(),
resultat.getTimeInMillis());
GregorianCalendar valeur1 = new GregorianCalendar(333,GregorianCalendar.JANUARY, 27, 12,
0, 0);
GregorianCalendar resultat1 = JulianDay.convertToGregorianCalendar(1842713.0);
Assert.assertEquals(valeur1.getTimeInMillis(),
resultat1.getTimeInMillis());
GregorianCalendar valeur2 = new GregorianCalendar(-584, GregorianCalendar.MAY, 28, 0,
0, 0);
GregorianCalendar resultat2 = JulianDay.convertToGregorianCalendar(1507899.5);
Assert.assertEquals(valeur2.getTimeInMillis(),
resultat2.getTimeInMillis());
}
/**
* unit test for
*/
public void testdiffdate() {
GregorianCalendar J1 = new GregorianCalendar(1835, 11, 16, 0, 0, 0);
GregorianCalendar J2 = new GregorianCalendar(1910, MONTH4, 20, 0,
0, 0);
Assert.assertEquals(27183, JulianDay.diffdate(J2, J1), 0);
// new test for bug ?
//Le problme rencontr est que lorsque j'essais de soustraire 1940-02-29 et 1940-01-01 j'ai comme rsultat 57 alors que je m'attends avoir 59.
J1 = new GregorianCalendar(1940, GregorianCalendar.FEBRUARY, 29, 0, 0, 0);
J2 = new GregorianCalendar(1940, GregorianCalendar.JANUARY, 1, 0, 0, 0);
Assert.assertEquals(59, JulianDay.diffdate(J1, J2), 0);
}
/**
* DOCUMENT ME!
*/
public final void testconvertToJulianDay2000() {
// 19 april 1990, at 0:00 UT
Assert.assertEquals(-JULIANDAY1941990,
JulianDay.convertToJulianDay2000(YEAR1990, MONTH4, DAY19, 0,
0, 0), 0);
}
}