Merge pull request #1269 from pkendall64/crsf-max-output
[ExpressLRS.git] / src / test / fifo_native / test_fifo.cpp
blob06706aa2f3e3ec68ce8c057ded5192ff4a1fdf5f
1 #include <cstdint>
2 #include <FIFO.h>
3 #include <unity.h>
4 #include <set>
6 using namespace std;
8 FIFO f;
9 void init()
11 f.flush();
12 for(int i=0;i<FIFO_SIZE/2;i++) {
13 f.push(i);
14 TEST_ASSERT_EQUAL(i, f.pop());
16 for(int i=0;i<FIFO_SIZE-1;i++) {
17 f.push(i);
21 void test_fifo_pop_wrap(void)
23 init();
24 for(int i=0;i<FIFO_SIZE-1;i++) {
25 TEST_ASSERT_EQUAL(i, f.pop());
29 void test_fifo_popBytes_wrap(void)
31 init();
32 uint8_t buf[FIFO_SIZE] = {0};
33 f.popBytes(buf, FIFO_SIZE-1);
34 for(int i=0;i<FIFO_SIZE-1;i++) {
35 TEST_ASSERT_EQUAL(i, buf[i]);
39 int main(int argc, char **argv)
41 UNITY_BEGIN();
42 RUN_TEST(test_fifo_pop_wrap);
43 RUN_TEST(test_fifo_popBytes_wrap);
44 UNITY_END();
46 return 0;