3 #include "HardwareFake.h"
6 #include "test_UsbCmd.h"
10 void (*setUp)(void) = EmptySetUp;
11 void EmptyTearDown(
void){
13 void (*tearDown)(void) = EmptyTearDown;
16 void test_UsbCmd(
void)
18 puts(
"# UsbCmd tests");
20 puts(
"## ReadLedState");
21 RUN_TEST(ReadLedState_returns_OFF_if_LED_is_off);
22 RUN_TEST(ReadLedState_returns_GREEN_if_LED_is_on_and_green);
23 RUN_TEST(ReadLedState_returns_RED_if_LED_is_on_and_red);
25 puts(
"## GetBridgeLED");
26 RUN_TEST(GetBridgeLED_waits_for_byte_led_num);
27 RUN_TEST(GetBridgeLED_reads_byte_led_num);
28 RUN_TEST(GetBridgeLED_writes_two_bytes_to_USB_host);
29 RUN_TEST(GetBridgeLED_writes_OK_and_LED_STATE_if_led_num_is_valid);
30 RUN_TEST(GetBridgeLED_writes_ERROR_and_pads_second_byte_if_led_num_is_invalid);
32 puts(
"## SetBridgeLED");
33 RUN_TEST(SetBridgeLED_waits_for_byte_led_num);
34 RUN_TEST(SetBridgeLED_reads_byte_led_num);
35 RUN_TEST(SetBridgeLED_waits_for_byte_led_setting);
36 RUN_TEST(SetBridgeLED_reads_byte_led_setting);
37 RUN_TEST(SetBridgeLED_applies_led_setting_and_writes_OK_if_parameters_are_valid);
38 RUN_TEST(SetBridgeLED_writes_ERROR_if_led_num_is_invalid);
39 RUN_TEST(SetBridgeLED_writes_ERROR_if_led_setting_is_invalid);
41 puts(
"## GetSensorLED");
42 RUN_TEST(GetSensorLED_waits_for_byte_led_num);
43 RUN_TEST(GetSensorLED_reads_byte_led_num);
44 RUN_TEST(GetSensorLED_sends_command_to_sensor);
45 RUN_TEST(GetSensorLED_sends_led_num_to_sensor);
46 RUN_TEST(GetSensorLED_writes_OK_to_indicate_it_sent_the_command_to_the_sensor);
47 RUN_TEST(GetSensorLED_waits_for_sensor_to_signal_STATUS_data_ready);
48 RUN_TEST(GetSensorLED_reads_status_from_sensor);
49 RUN_TEST(GetSensorLED_waits_for_sensor_to_signal_LED_SETTING_data_ready);
50 RUN_TEST(GetSensorLED_reads_led_setting_from_sensor);
51 RUN_TEST(GetSensorLED_writes_sensor_status);
52 RUN_TEST(GetSensorLED_writes_sensor_led_setting);
54 puts(
"## SetSensorLED");
55 RUN_TEST(SetSensorLED_waits_for_byte_led_num);
56 RUN_TEST(SetSensorLED_reads_byte_led_num);
57 RUN_TEST(SetSensorLED_waits_for_byte_led_setting);
58 RUN_TEST(SetSensorLED_reads_byte_led_setting);
59 RUN_TEST(SetSensorLED_sends_command_to_sensor);
60 RUN_TEST(SetSensorLED_sends_led_num_to_sensor);
61 RUN_TEST(SetSensorLED_sends_led_setting_to_sensor);
62 RUN_TEST(SetSensorLED_writes_OK_to_indicate_it_sent_the_command_to_the_sensor);
63 RUN_TEST(SetSensorLED_waits_for_sensor_to_signal_STATUS_data_ready);
64 RUN_TEST(SetSensorLED_reads_status_from_sensor);
65 RUN_TEST(SetSensorLED_writes_sensor_status);
67 puts(
"## GetSensorConfig");
68 RUN_TEST(GetSensorConfig_sends_command_to_sensor);
69 RUN_TEST(GetSensorConfig_writes_OK_to_indicate_it_sent_the_command_to_the_sensor);
70 RUN_TEST(GetSensorConfig_waits_for_sensor_to_signal_STATUS_data_ready);
71 RUN_TEST(GetSensorConfig_reads_status_from_sensor);
72 RUN_TEST(GetSensorConfig_proceeds_reading_from_sensor_if_status_is_OK);
73 RUN_TEST(GetSensorConfig_waits_for_sensor_to_signal_BINNING_data_ready);
74 RUN_TEST(GetSensorConfig_reads_binning_from_sensor);
75 RUN_TEST(GetSensorConfig_waits_for_sensor_to_signal_GAIN_data_ready);
76 RUN_TEST(GetSensorConfig_reads_gain_from_sensor);
77 RUN_TEST(GetSensorConfig_waits_for_sensor_to_signal_ROW_BITMAP_data_ready);
78 RUN_TEST(GetSensorConfig_reads_row_bitmap_from_sensor);
79 RUN_TEST(GetSensorConfig_writes_sensor_status);
80 RUN_TEST(GetSensorConfig_writes_sensor_binning);
81 RUN_TEST(GetSensorConfig_writes_sensor_gain);
82 RUN_TEST(GetSensorConfig_writes_sensor_row_bitmap);
84 puts(
"## SetSensorConfig");
85 RUN_TEST(SetSensorConfig_waits_for_byte_binning);
86 RUN_TEST(SetSensorConfig_reads_byte_binning);
87 RUN_TEST(SetSensorConfig_waits_for_byte_gain);
88 RUN_TEST(SetSensorConfig_reads_byte_gain);
89 RUN_TEST(SetSensorConfig_waits_for_byte_row_bitmap);
90 RUN_TEST(SetSensorConfig_reads_byte_row_bitmap);
91 RUN_TEST(SetSensorConfig_sends_command_to_sensor);
92 RUN_TEST(SetSensorConfig_waits_for_sensor_to_signal_it_recognizes_the_command);
93 RUN_TEST(SetSensorConfig_proceeds_with_sending_config_if_sensor_status_is_OK);
94 RUN_TEST(SetSensorConfig_sends_binning_to_sensor);
95 RUN_TEST(SetSensorConfig_sends_gain_to_sensor);
96 RUN_TEST(SetSensorConfig_sends_row_bitmap_to_sensor);
97 RUN_TEST(SetSensorConfig_waits_for_sensor_to_signal_STATUS_data_ready);
98 RUN_TEST(SetSensorConfig_reads_status_from_sensor);
99 RUN_TEST(SetSensorConfig_writes_OK_to_indicate_it_sent_the_command_to_the_sensor);
100 RUN_TEST(SetSensorConfig_writes_sensor_status);
102 puts(
"## GetExposure");
103 RUN_TEST(GetExposure_sends_command_to_sensor);
104 RUN_TEST(GetExposure_writes_OK_to_indicate_it_sent_the_command_to_the_sensor);
105 RUN_TEST(GetExposure_waits_for_sensor_to_signal_STATUS_data_ready);
106 RUN_TEST(GetExposure_reads_status_from_sensor);
107 RUN_TEST(GetExposure_waits_for_sensor_to_signal_EXPOSURE_MSB_data_ready);
108 RUN_TEST(GetExposure_reads_exposure_MSB_from_sensor);
109 RUN_TEST(GetExposure_waits_for_sensor_to_signal_EXPOSURE_LSB_data_ready);
110 RUN_TEST(GetExposure_reads_exposure_LSB_from_sensor);
111 RUN_TEST(GetExposure_writes_sensor_status);
112 RUN_TEST(GetExposure_writes_exposure_MSB);
113 RUN_TEST(GetExposure_writes_exposure_LSB);
115 puts(
"## SetExposure");
116 RUN_TEST(SetExposure_waits_for_byte_exposure_MSB);
117 RUN_TEST(SetExposure_reads_byte_exposure_MSB);
118 RUN_TEST(SetExposure_waits_for_byte_exposure_LSB);
119 RUN_TEST(SetExposure_reads_byte_exposure_LSB);
120 RUN_TEST(SetExposure_sends_command_to_sensor);
121 RUN_TEST(SetExposure_sends_exposure_MSB_to_sensor);
122 RUN_TEST(SetExposure_sends_exposure_LSB_to_sensor);
123 RUN_TEST(SetExposure_writes_OK_to_indicate_it_sent_the_command_to_the_sensor);
124 RUN_TEST(SetExposure_waits_for_sensor_to_signal_STATUS_data_ready);
125 RUN_TEST(SetExposure_reads_status_from_sensor);
126 RUN_TEST(SetExposure_writes_sensor_status);
128 puts(
"## CaptureFrame");
129 RUN_TEST(CaptureFrame_sends_command_to_sensor);
130 RUN_TEST(CaptureFrame_writes_OK_to_indicate_it_sent_the_command_to_the_sensor);
131 RUN_TEST(CaptureFrame_waits_for_sensor_to_signal_STATUS_data_ready);
132 RUN_TEST(CaptureFrame_reads_status_from_sensor);
133 RUN_TEST(CaptureFrame_waits_for_sensor_to_signal_NUM_PIXELS_MSB_data_ready);
134 RUN_TEST(CaptureFrame_reads_num_pixels_MSB_from_sensor);
135 RUN_TEST(CaptureFrame_waits_for_sensor_to_signal_NUM_PIXELS_LSB_data_ready);
136 RUN_TEST(CaptureFrame_reads_num_pixels_LSB_from_sensor);
137 RUN_TEST(CaptureFrame_writes_sensor_status);
138 RUN_TEST(CaptureFrame_writes_num_pixels_MSB);
139 RUN_TEST(CaptureFrame_writes_num_pixels_LSB);
140 RUN_TEST(CaptureFrame_returns_if_status_is_not_OK);
141 RUN_TEST(CaptureFrame_waits_for_the_next_byte_of_frame_data);
142 RUN_TEST(CaptureFrame_writes_the_next_byte_of_frame_data);
143 RUN_TEST(CaptureFrame_loops_wait_for_byte_then_write_byte_for_a_total_nbytes_of_2x_num_pixels);
145 puts(
"## AutoExposure");
146 puts(
"FAIL: Implement Test");
148 puts(
"## GetAutoExposeConfig");
149 puts(
"FAIL: Implement Test");
151 puts(
"## SetAutoExposeConfig");
152 puts(
"FAIL: Implement Test");
See StatusCode.h for context.