@@ -153,19 +153,33 @@ public void shouldCreateFromDuration()
153
153
}
154
154
155
155
@ Test
156
- public void toStringShouldPrintInIsoStandardFormat () throws Throwable
156
+ public void toStringShouldPrintInIsoStandardFormat ()
157
157
{
158
- assertThat ( new InternalIsoDuration ( 0 , 0 , 0 , 0 ).toString (), equalTo ( "P0M0DT0S" ) );
159
- assertThat ( new InternalIsoDuration ( 2 , 45 , 59 , 11 ).toString (), equalTo ( "P2M45DT59.000000011S" ) );
160
- assertThat ( new InternalIsoDuration ( 4 , -101 , 1 , 999 ).toString (), equalTo ( "P4M-101DT1.000000999S" ) );
161
- assertThat ( new InternalIsoDuration ( -1 , 12 , -19 , 1 ).toString (), equalTo ( "P-1M12DT-19.000000001S" ) );
158
+ assertThat ( newDuration ( 0 , 0 , 0 , 0 ).toString (), equalTo ( "P0M0DT0S" ) );
159
+ assertThat ( newDuration ( 2 , 45 , 59 , 11 ).toString (), equalTo ( "P2M45DT59.000000011S" ) );
160
+ assertThat ( newDuration ( 4 , -101 , 1 , 999 ).toString (), equalTo ( "P4M-101DT1.000000999S" ) );
161
+ assertThat ( newDuration ( -1 , 12 , -19 , 1 ).toString (), equalTo ( "P-1M12DT-18.999999999S" ) );
162
+ assertThat ( newDuration ( 0 , 0 , -1 , 1 ).toString (), equalTo ( "P0M0DT-0.999999999S" ) );
162
163
163
164
assertThat ( new InternalIsoDuration ( Period .parse ( "P356D" ) ).toString (), equalTo ( "P0M356DT0S" ) );
164
165
assertThat ( new InternalIsoDuration ( Duration .parse ( "PT45S" ) ).toString (), equalTo ( "P0M0DT45S" ) );
165
166
166
- assertThat ( new InternalIsoDuration ( Period .parse ( "P14D" ), Duration .parse ( "PT16H12M" ) ).toString (), equalTo ( "P0M14DT58320S" ) );
167
- assertThat ( new InternalIsoDuration ( Period .parse ( "P5M1D" ), Duration .parse ( "PT12H" ) ).toString (), equalTo ( "P5M1DT43200S" ) );
168
- assertThat ( new InternalIsoDuration ( Period .parse ( "P2W3D" ), Duration .parse ( "PT2H0.111222333S" ) ).toString (), equalTo ( "P0M17DT7200.111222333S" ) );
167
+ assertThat ( new InternalIsoDuration ( 0 , 14 , Duration .parse ( "PT16H12M" ) ).toString (), equalTo ( "P0M14DT58320S" ) );
168
+ assertThat ( new InternalIsoDuration ( 5 , 1 , Duration .parse ( "PT12H" ) ).toString (), equalTo ( "P5M1DT43200S" ) );
169
+ assertThat ( new InternalIsoDuration ( 0 , 17 , Duration .parse ( "PT2H0.111222333S" ) ).toString (), equalTo ( "P0M17DT7200.111222333S" ) );
170
+
171
+ assertThat ( newDuration ( 42 , 42 , 0 , 5 ).toString (), equalTo ( "P42M42DT0.000000005S" ) );
172
+ assertThat ( newDuration ( 42 , 42 , 0 , -5 ).toString (), equalTo ( "P42M42DT-0.000000005S" ) );
173
+
174
+ assertThat ( newDuration ( 42 , 42 , 1 , 5 ).toString (), equalTo ( "P42M42DT1.000000005S" ) );
175
+ assertThat ( newDuration ( 42 , 42 , -1 , 5 ).toString (), equalTo ( "P42M42DT-0.999999995S" ) );
176
+ assertThat ( newDuration ( 42 , 42 , 1 , -5 ).toString (), equalTo ( "P42M42DT0.999999995S" ) );
177
+ assertThat ( newDuration ( 42 , 42 , -1 , -5 ).toString (), equalTo ( "P42M42DT-1.000000005S" ) );
178
+
179
+ assertThat ( newDuration ( 42 , 42 , 28 , 9 ).toString (), equalTo ( "P42M42DT28.000000009S" ) );
180
+ assertThat ( newDuration ( 42 , 42 , -28 , 9 ).toString (), equalTo ( "P42M42DT-27.999999991S" ) );
181
+ assertThat ( newDuration ( 42 , 42 , 28 , -9 ).toString (), equalTo ( "P42M42DT27.999999991S" ) );
182
+ assertThat ( newDuration ( 42 , 42 , -28 , -9 ).toString (), equalTo ( "P42M42DT-28.000000009S" ) );
169
183
}
170
184
171
185
private static IsoDuration newDuration ( long months , long days , long seconds , int nanoseconds )
0 commit comments