summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorChristopher Peplin <chris.peplin@rhubarbtech.com>2014-01-20 16:19:01 -0500
committerChristopher Peplin <chris.peplin@rhubarbtech.com>2014-01-20 16:19:01 -0500
commitfed7c4cae3d8dd1a53d0b394f6abcfa9f8c30a64 (patch)
treee95b310897537645d0cc187315dda1b997bf244f /tests
parent46fb0eb96e8efd285c2a0cccf699862ed21717ed (diff)
Add a function to parse the entire payload as a float.
Diffstat (limited to 'tests')
-rw-r--r--tests/test_core.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/test_core.c b/tests/test_core.c
index 489e1740..c37656e8 100644
--- a/tests/test_core.c
+++ b/tests/test_core.c
@@ -260,6 +260,20 @@ START_TEST (test_negative_response)
}
END_TEST
+START_TEST (test_payload_to_float)
+{
+ uint16_t arb_id = OBD2_MODE_POWERTRAIN_DIAGNOSTIC_REQUEST;
+ DiagnosticRequestHandle handle = diagnostic_request_pid(&SHIMS,
+ DIAGNOSTIC_STANDARD_PID, arb_id, 0x2, response_received_handler);
+
+ fail_if(last_response_was_received);
+ const uint8_t can_data[] = {0x4, 0x1 + 0x40, 0x2, 0x45, 0x12};
+ DiagnosticResponse response = diagnostic_receive_can_frame(&SHIMS, &handle, arb_id + 0x8,
+ can_data, sizeof(can_data));
+ ck_assert_int_eq(diagnostic_payload_to_float(&response), 0x4512);
+}
+END_TEST
+
Suite* testSuite(void) {
Suite* s = suite_create("uds");
TCase *tc_core = tcase_create("core");
@@ -275,6 +289,7 @@ Suite* testSuite(void) {
tcase_add_test(tc_core, test_missing_pid);
tcase_add_test(tc_core, test_wrong_pid_then_right_completes);
tcase_add_test(tc_core, test_negative_response);
+ tcase_add_test(tc_core, test_payload_to_float);
// TODO these are future work:
// TODO test request MIL