Tests for the circular buffer library
Dependencies: CircularBuffer TestSupportLite mbed
Uses TestSupportLite and implements tests for CircularBuffer library. Output looks something like:
[001] {X} Empty buffer: getSize() [002] {X} Empty buffer: read() [003] {X} Empty buffer: peek() [004] {X} Empty buffer: isEmpty() [005] {X} Empty buffer: isFull() [006] {X} Empty buffer: capacity() [007] {X} Empty buffer: write() single byte [008] {X} Single-byte buffer: getSize() [009] {X} Single-byte buffer: peek() [010] {X} Single-byte buffer: isEmpty() [011] {X} Single-byte buffer: isFull() [012] {X} Single-byte buffer: capacity() [013] {X} Single-byte buffer: read() [014] {X} Empty buffer: getSize() [015] {X} Empty buffer: read() [016] {X} Empty buffer: peek() [017] {X} Empty buffer: isEmpty() [018] {X} Empty buffer: isFull() [019] {X} Empty buffer: capacity() ----- [19 tests run, 19 passed]
main.cpp
- Committer:
- johnb
- Date:
- 2014-01-19
- Revision:
- 0:6383f958c806
- Child:
- 1:0b6bc5c2c913
File content as of revision 0:6383f958c806:
#include "mbed.h" #include "CircularBuffer.h" #include "TestSupportSimple.hpp" #define TEST_BUFFER_SIZE 16 CircularBuffer<TEST_BUFFER_SIZE> buffer; uint8_t temp_buffer[ TEST_BUFFER_SIZE ]; void check_empty( void ) { /* A buffer which is empty should pass all of these tests */ TST_EQ( buffer.getSize(), 0, "Empty buffer: getSize()" ); TST_EQ( buffer.read( temp_buffer, TEST_BUFFER_SIZE ), 0, "Empty buffer: read()" ); TST_EQ( buffer.peek( temp_buffer, TEST_BUFFER_SIZE ), 0, "Empty buffer: peek()" ); TST_TRUE( buffer.isEmpty(), "Empty buffer: isEmpty()" ); TST_FALSE( buffer.isFull(), "Empty buffer: isFull()" ); TST_EQ( buffer.getCapacity(), TEST_BUFFER_SIZE, "Empty buffer: capacity()" ); } int main() { check_empty(); temp_buffer[ 0 ] = 0x55; /* Write a single byte into the buffer then call various methods */ TST_EQ( buffer.write( temp_buffer, 1 ), 1, "Empty buffer: write() single byte" ); TST_EQ( buffer.getSize(), 1, "Single-byte buffer: getSize()" ); TST_EQ( buffer.peek( temp_buffer, TEST_BUFFER_SIZE ), 1, "Single-byte buffer: peek()" ); TST_FALSE( buffer.isEmpty(), "Single-byte buffer: isEmpty()" ); TST_FALSE( buffer.isFull(), "Single-byte buffer: isFull()" ); TST_EQ( buffer.getCapacity(), TEST_BUFFER_SIZE, "Single-byte buffer: capacity()" ); // This test is last as it will empty the buffer again TST_EQ( buffer.read( temp_buffer, TEST_BUFFER_SIZE ), 1, "Single-byte buffer: read()" ); /* Now that the buffer is empty again, run the tests to make sure that method returns are again consistent with this */ check_empty(); /* TODO: Finish off writing tests! */ TST_DONE(); return 0; }