void test_write3_read3_16(void){ uint16_t dataIn[3] = {1,2,3}; uint16_t dataOut[BUFFER_ARRAY_LENGTH] = {0}; uint16_t bufferArray[BUFFER_ARRAY_LENGTH] = {0}; Buffer b; BufferStatus status; uint16_t data; status = BUF_init(&b, bufferArray, BUFFER_ARRAY_LENGTH, 16); int i; for(i = 0; i < 3; i++){ status = BUF_write16(&b, dataIn[i]); } for(i = 0; i < 3; i++){ dataOut[i] = BUF_read16(&b); } /* test each element of the array */ for(i = 0; i < 3; i++){ TEST_ASSERT_EQUAL_INT(dataIn[i], dataOut[i]); } }
void test_write_overflow_16(void){ uint16_t dataIn[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; uint16_t dataOut[BUFFER_ARRAY_LENGTH] = {0}; uint16_t bufferArray[BUFFER_ARRAY_LENGTH] = {0}; Buffer b; BufferStatus status; uint16_t data; status = BUF_init(&b, bufferArray, BUFFER_ARRAY_LENGTH, 16); int i; for(i = 0; i < 10; i++){ status = BUF_write16(&b, dataIn[i]); } for(i = 0; i < BUFFER_ARRAY_LENGTH; i++){ dataOut[i] = BUF_read16(&b); } /* test each element of the array */ for(i = 0; i < BUFFER_ARRAY_LENGTH; i++){ TEST_ASSERT_EQUAL_INT(i, dataOut[i]); } }
void test_write_to_full_16(void){ uint16_t bufferArray[BUFFER_ARRAY_LENGTH] = {0}; Buffer b; BufferStatus status; status = BUF_init(&b, bufferArray, BUFFER_ARRAY_LENGTH, 16); int i; for(i = 0; i < BUFFER_ARRAY_LENGTH; i++){ status = BUF_write16(&b, 1); } TEST_ASSERT_EQUAL_INT(BUFFER_FULL, status); }
void test_write_to_full_read_to_empty_16(void){ uint16_t bufferArray[BUFFER_ARRAY_LENGTH] = {0}; Buffer b; BufferStatus status; uint16_t data; status = BUF_init(&b, bufferArray, BUFFER_ARRAY_LENGTH, 16); int i; for(i = 0; i < BUFFER_ARRAY_LENGTH; i++){ status = BUF_write16(&b, 1); } for(i = 0; i < BUFFER_ARRAY_LENGTH; i++){ data = BUF_read16(&b); } status = BUF_status(&b); TEST_ASSERT_EQUAL_INT(BUFFER_EMPTY, status); }
void BUF_write32(Buffer_t *buffer, uint32_t val) { assert(buffer != NULL); BUF_write16(buffer, val & 0xFFFF); BUF_write16(buffer, (val >> 16) & 0xFFFF); }