Skip to content

Commit f4d76bd

Browse files
committed
Adding test code for 'RingbufferN::clear'
1 parent 33da3fd commit f4d76bd

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

Diff for: test/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ set(TEST_SRCS
2929
src/Common/test_min.cpp
3030
src/Ringbuffer/test_available.cpp
3131
src/Ringbuffer/test_availableForStore.cpp
32+
src/Ringbuffer/test_clear.cpp
3233
src/Ringbuffer/test_isFull.cpp
3334
src/WCharacter/test_isControl.cpp
3435
src/WCharacter/test_isDigit.cpp

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

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

0 commit comments

Comments
 (0)