@@ -146,38 +146,20 @@ public function testFahrenheitToKelvin()
146
146
147
147
public function testConvertTime ()
148
148
{
149
- // Test basic conversions
150
- $ this ->assertEquals (2.0 , convertTime (120 , 'seconds ' , 'minutes ' ), "Failed converting 120 seconds to minutes " );
151
- $ this ->assertEquals (2.0 , convertTime (120 , 'minutes ' , 'hours ' ), "Failed converting 120 minutes to hours " );
152
- $ this ->assertEquals (2.0 , convertTime (48 , 'hours ' , 'days ' ), "Failed converting 48 hours to days " );
153
- $ this ->assertEquals (2.0 , convertTime (14 , 'days ' , 'weeks ' ), "Failed converting 14 days to weeks " );
149
+ $ examples = [
150
+ [120 , 'minutes ' , 'seconds ' , 7200 ],
151
+ [48 , 'hours ' , 'days ' , 2.0 ],
152
+ [14 , 'days ' , 'weeks ' , 2.0 ],
153
+ [8.6 , 'weeks ' , 'months ' , 2.0 ],
154
+ [24 , 'months ' , 'years ' , 2.0 ],
155
+ [3600 , 'seconds ' , 'hours ' , 1.0 ],
156
+ ];
154
157
155
- // Test with different units and values
156
- $ this ->assertEqualsWithDelta (2.0 , convertTime (8.6 , 'weeks ' , 'months ' ), 0.01 , "Failed converting 8.6 weeks to months " );
157
- $ this ->assertEquals (2.0 , convertTime (24 , 'months ' , 'years ' ), "Failed converting 24 months to years " );
158
-
159
- // Test edge cases
160
- $ this ->assertEquals (0.0 , convertTime (0 , 'seconds ' , 'hours ' ), "Failed converting 0 seconds to hours " );
161
-
162
- // Test invalid 'from' and 'to' units
163
- try {
164
- convertTime (120 , 'invalidUnit ' , 'minutes ' );
165
- } catch (InvalidArgumentException $ e ) {
166
- $ this ->assertEquals ("Invalid time unit(s) specified: invalidUnit to minutes " , $ e ->getMessage ());
167
- }
168
-
169
- try {
170
- convertTime (120 , 'seconds ' , 'invalidUnit ' );
171
- } catch (InvalidArgumentException $ e ) {
172
- $ this ->assertEquals ("Invalid time unit(s) specified: seconds to invalidUnit " , $ e ->getMessage ());
173
- }
174
-
175
- try {
176
- convertTime (120 , 'invalidFrom ' , 'invalidTo ' );
177
- } catch (InvalidArgumentException $ e ) {
178
- $ this ->assertEquals ("Invalid time unit(s) specified: invalidFrom to invalidTo " , $ e ->getMessage ());
158
+ foreach ($ examples as [$ value , $ from , $ to , $ expected ]) {
159
+ $ result = convertTime ($ value , $ from , $ to );
160
+ $ this ->assertEquals ($ expected , $ result , "Failed converting $ value $ from to $ to " );
161
+ echo "Example: $ value $ from = $ result $ to \n" ;
179
162
}
180
163
}
181
164
182
-
183
165
}
0 commit comments