Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 2c1feec

Browse files
Adding test code for Stream::readBytes(...)
1 parent da7100c commit 2c1feec

File tree

2 files changed

+50
-0
lines changed

2 files changed

+50
-0
lines changed

‎test/CMakeLists.txt‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ set(TEST_SRCS
5252
src/Stream/test_getTimeout.cpp
5353
src/Stream/test_parseFloat.cpp
5454
src/Stream/test_parseInt.cpp
55+
src/Stream/test_readBytes.cpp
5556
src/Stream/test_readString.cpp
5657
src/Stream/test_readStringUntil.cpp
5758
src/Stream/test_setTimeout.cpp

‎test/src/Stream/test_readBytes.cpp‎

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
/*
2+
* Copyright (c) 2020 Arduino. All rights reserved.
3+
*/
4+
5+
/**************************************************************************************
6+
* INCLUDE
7+
**************************************************************************************/
8+
9+
#include <catch.hpp>
10+
11+
#include <StreamMock.h>
12+
13+
/**************************************************************************************
14+
* TEST CODE
15+
**************************************************************************************/
16+
17+
TEST_CASE ("Testing readBytes(char *buffer, size_t length)", "[Stream-readBytes-01]")
18+
{
19+
StreamMock mock;
20+
21+
WHEN ("the stream is empty")
22+
{
23+
char buf[32] = {0};
24+
25+
REQUIRE(mock.readBytes(buf, sizeof(buf)) == 0);
26+
}
27+
28+
WHEN ("the stream contains less data then we want to read")
29+
{
30+
char buf[32] = {0};
31+
char const str[] = "some stream content";
32+
mock << str;
33+
34+
REQUIRE(mock.readBytes(buf, sizeof(buf)) == strlen(str));
35+
REQUIRE(strncmp(buf, str, sizeof(buf)) == 0);
36+
REQUIRE(mock.readString() == arduino::String(""));
37+
}
38+
39+
WHEN ("the stream contains more data then we want to read")
40+
{
41+
char buf[5] = {0};
42+
mock << "some stream content";
43+
char const EXPECTED_STR[] = "some ";
44+
45+
REQUIRE(mock.readBytes(buf, sizeof(buf)) == 5);
46+
REQUIRE(strncmp(buf, EXPECTED_STR, sizeof(buf)) == 0);
47+
REQUIRE(mock.readString() == arduino::String("stream content"));
48+
}
49+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /