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 c3e155c

Browse files
Add test code for String operator +
1 parent e83ce70 commit c3e155c

File tree

2 files changed

+103
-0
lines changed

2 files changed

+103
-0
lines changed

‎test/CMakeLists.txt‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ set(TEST_SRCS
4343
src/Ringbuffer/test_read_char.cpp
4444
src/Ringbuffer/test_store_char.cpp
4545
src/String/test_concat.cpp
46+
src/String/test_operators.cpp
4647
src/String/test_compareTo.cpp
4748
src/String/test_comparisonFunc.cpp
4849
src/String/test_characterAccessFunc.cpp

‎test/src/String/test_operators.cpp‎

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
/*
2+
* Copyright (c) 2020 Arduino. All rights reserved.
3+
*/
4+
5+
/**************************************************************************************
6+
* INCLUDE
7+
**************************************************************************************/
8+
9+
#include <catch.hpp>
10+
11+
#include <String.h>
12+
13+
/**************************************************************************************
14+
* TEST CODE
15+
**************************************************************************************/
16+
17+
TEST_CASE ("Testing String::operator + (const StringSumHelper, const String)", "[String-operator+-01]")
18+
{
19+
arduino::String str1("Hello ");
20+
arduino::String str2("Arduino");
21+
arduino::String str("Hello Arduino");
22+
REQUIRE(str.compareTo(str1+str2) == 0);
23+
}
24+
25+
TEST_CASE ("Testing String::operator + (const StringSumHelper, const char *)", "[String-operator+-02]")
26+
{
27+
arduino::String str1("Hello ");
28+
arduino::String str("Hello Arduino");
29+
REQUIRE(str.compareTo(str1+"Arduino") == 0);
30+
}
31+
32+
TEST_CASE ("Testing String::operator + (const StringSumHelper, char)", "[String-operator+-03]")
33+
{
34+
arduino::String str1("Hello");
35+
char ch='!';
36+
arduino::String str("Hello!");
37+
REQUIRE(str.compareTo(str1+ch) == 0);
38+
}
39+
40+
TEST_CASE ("Testing String::operator + (const StringSumHelper, unsigned char)", "[String-operator+-04]")
41+
{
42+
arduino::String str1("Hello ");
43+
unsigned char ch='A';
44+
arduino::String str("Hello 65"); /* ASCII['A'] = 65 */
45+
REQUIRE(str.compareTo(str1+ch) == 0);
46+
}
47+
48+
TEST_CASE ("Testing String::operator + (const StringSumHelper, int)", "[String-operator+-05]")
49+
{
50+
arduino::String str1("Hello ");
51+
arduino::String str("Hello 1");
52+
REQUIRE(str.compareTo(str1+1) == 0);
53+
}
54+
55+
TEST_CASE ("Testing String::operator + (unsigned int)", "[String-operator+-06]")
56+
{
57+
arduino::String str1("Hello ");
58+
unsigned int const num = 1;
59+
arduino::String str("Hello 1");
60+
REQUIRE(str.compareTo(str1+num) == 0);
61+
}
62+
63+
TEST_CASE ("Testing String::operator + (long)", "[String-operator+-07]")
64+
{
65+
arduino::String str1("Hello ");
66+
long const num = -1;
67+
arduino::String str("Hello -1");
68+
REQUIRE(str.compareTo(str1+num) == 0);
69+
}
70+
71+
TEST_CASE ("Testing String::operator + (unsigned long)", "[String-operator+-08]")
72+
{
73+
arduino::String str1("Hello ");
74+
unsigned long const num = 1;
75+
arduino::String str("Hello 1");
76+
REQUIRE(str.compareTo(str1+num) == 0);
77+
}
78+
79+
TEST_CASE ("Testing String::operator + (float)", "[String-operator+-09]")
80+
{
81+
arduino::String str1("Hello ");
82+
float const num = 1.234f;
83+
arduino::String str("Hello 1.23");
84+
REQUIRE(str.compareTo(str1+num) == 0);
85+
}
86+
87+
TEST_CASE ("Testing String::operator + (double)", "[String-operator+-10]")
88+
{
89+
arduino::String str1("Hello ");
90+
double const num = 5.678;
91+
arduino::String str("Hello 5.68");
92+
REQUIRE(str.compareTo(str1+num) == 0);
93+
}
94+
95+
TEST_CASE ("Testing String::operator + (const __FlashStringHelper *)", "[String-operator+-11]")
96+
{
97+
#undef F
98+
#define F(string_literal) (reinterpret_cast<const arduino::__FlashStringHelper *>(PSTR(string_literal)))
99+
arduino::String str1("Hello ");
100+
arduino::String str("Hello Arduino");
101+
REQUIRE(str.compareTo(str1+F("Arduino")) == 0);
102+
}

0 commit comments

Comments
(0)

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