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