@@ -56,6 +56,17 @@ static void test_rational(const char *input, struct sr_rational expected)
56
56
input , rational .p , rational .q );
57
57
}
58
58
59
+ static void test_voltage (uint64_t v_p , uint64_t v_q , const char * expected )
60
+ {
61
+ char * s ;
62
+
63
+ s = sr_voltage_string (v_p , v_q );
64
+ fail_unless (s != NULL );
65
+ fail_unless (!strcmp (s , expected ),
66
+ "Invalid result for '%s': %s." , expected , s );
67
+ g_free (s );
68
+ }
69
+
59
70
/*
60
71
* Check various inputs for sr_samplerate_string():
61
72
*
@@ -214,6 +225,19 @@ START_TEST(test_ghz_period)
214
225
}
215
226
END_TEST
216
227
228
+ START_TEST (test_volt )
229
+ {
230
+ test_voltage (34 , 1 , "34V" );
231
+ test_voltage (34 , 2 , "17V" );
232
+ test_voltage (1 , 1 , "1V" );
233
+ test_voltage (1 , 5 , "0.2V" );
234
+ test_voltage (200 , 1000 , "200mV" );
235
+ test_voltage (1 , 72 , "0.0138889V" );
236
+ test_voltage (1 , 388 , "0.00257732V" );
237
+ test_voltage (10 , 1000 , "10mV" );
238
+ }
239
+ END_TEST
240
+
217
241
START_TEST (test_integral )
218
242
{
219
243
test_rational ("1" , (struct sr_rational ){1 , 1 });
@@ -264,6 +288,7 @@ Suite *suite_strutil(void)
264
288
tcase_add_test (tc , test_ghz );
265
289
tcase_add_test (tc , test_hz_period );
266
290
tcase_add_test (tc , test_ghz_period );
291
+ tcase_add_test (tc , test_volt );
267
292
tcase_add_test (tc , test_integral );
268
293
tcase_add_test (tc , test_fractional );
269
294
tcase_add_test (tc , test_exponent );
0 commit comments