Skip to content

Commit ed6bea5

Browse files
committed
Adding test code for 'RingbufferN::available'
1 parent 0c2502b commit ed6bea5

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

Diff for: test/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ set(TEST_SRCS
2727
src/Common/test_makeWord.cpp
2828
src/Common/test_max.cpp
2929
src/Common/test_min.cpp
30+
src/Ringbuffer/test_available.cpp
3031
src/Ringbuffer/test_isFull.cpp
3132
src/WCharacter/test_isControl.cpp
3233
src/WCharacter/test_isDigit.cpp

Diff for: test/src/Ringbuffer/test_available.cpp

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/*
2+
* Copyright (c) 2020 Arduino. All rights reserved.
3+
*/
4+
5+
/**************************************************************************************
6+
* INCLUDE
7+
**************************************************************************************/
8+
9+
#include <catch.hpp>
10+
11+
#include <vector>
12+
13+
#include <RingBuffer.h>
14+
15+
/**************************************************************************************
16+
* TEST CODE
17+
**************************************************************************************/
18+
19+
TEST_CASE ("'available' should return 0 for empty ring buffer", "[Ringbuffer-available-01]")
20+
{
21+
arduino::RingBufferN<2> ringbuffer;
22+
REQUIRE(ringbuffer.available() == 0);
23+
}
24+
25+
TEST_CASE ("'available' should return number of elements in ringbuffer", "[Ringbuffer-available-02]")
26+
{
27+
arduino::RingBufferN<2> ringbuffer;
28+
ringbuffer.store_char('A');
29+
REQUIRE(ringbuffer.available() == 1);
30+
REQUIRE(ringbuffer.availableForStore() == 1);
31+
ringbuffer.store_char('B');
32+
REQUIRE(ringbuffer.available() == 2);
33+
REQUIRE(ringbuffer.availableForStore() == 0);
34+
}

0 commit comments

Comments
 (0)