@@ -13,8 +13,8 @@ TEST_CASE ("Print::print(char)", "[Print-print-01]")
1313 PrintMock mock;
1414
1515 mock.print (' A' );
16-
1716 REQUIRE (mock._str == " A" );
17+ mock.flush ();
1818}
1919
2020TEST_CASE (" Print::print(const String &)" , " [Print-print-02]" )
@@ -23,8 +23,8 @@ TEST_CASE ("Print::print(const String &)", "[Print-print-02]")
2323 String const str (" Test String" );
2424
2525 mock.print (str);
26-
2726 REQUIRE (mock._str == " Test String" );
27+ mock.flush ();
2828}
2929
3030TEST_CASE (" Print::print(const char str[])" , " [Print-print-03]" )
@@ -33,8 +33,8 @@ TEST_CASE ("Print::print(const char str[])", "[Print-print-03]")
3333 const char str[] = " Test String" ;
3434
3535 mock.print (str);
36-
3736 REQUIRE (mock._str == " Test String" );
37+ mock.flush ();
3838}
3939
4040TEST_CASE (" Print::print(int, int = DEC|HEX|OCT|BIN)" , " [Print-print-04]" )
@@ -43,58 +43,66 @@ TEST_CASE ("Print::print(int, int = DEC|HEX|OCT|BIN)", "[Print-print-04]")
4343
4444 int const val = -1 ;
4545
46- WHEN (" DEC" ) { mock.print (val, DEC); REQUIRE (mock._str == " -1" ); }
47- WHEN (" HEX" ) { mock.print (val, HEX); REQUIRE (mock._str == " FFFFFFFFFFFFFFFF" ); }
48- WHEN (" OCT" ) { mock.print (val, OCT); REQUIRE (mock._str == " 1777777777777777777777" ); }
49- WHEN (" BIN" ) { mock.print (val, BIN); REQUIRE (mock._str == " 1111111111111111111111111111111111111111111111111111111111111111" ); }
46+ WHEN (" DEC" ) { mock.print (val, DEC); REQUIRE (mock._str == " -1" ); mock.flush (); }
47+ #ifdef ARCH_CPU_64BIT
48+ WHEN (" HEX" ) { mock.print (val, HEX); REQUIRE (mock._str == " FFFFFFFFFFFFFFFF" ); mock.flush (); }
49+ WHEN (" OCT" ) { mock.print (val, OCT); REQUIRE (mock._str == " 1777777777777777777777" ); mock.flush (); }
50+ WHEN (" BIN" ) { mock.print (val, BIN); REQUIRE (mock._str == " 1111111111111111111111111111111111111111111111111111111111111111" ); mock.flush (); }
51+ #else
52+ WHEN (" HEX" ) { mock.print (val, HEX); REQUIRE (mock._str == " FFFFFFFF" ); mock.flush (); }
53+ WHEN (" OCT" ) { mock.print (val, OCT); REQUIRE (mock._str == " 37777777777" ); mock.flush (); }
54+ WHEN (" BIN" ) { mock.print (val, BIN); REQUIRE (mock._str == " 11111111111111111111111111111111" ); mock.flush (); }
55+ #endif /* ARCH_CPU_64BIT */
5056}
5157
5258TEST_CASE (" Print::print(unsigned int, int = DEC|HEX|OCT|BIN)" , " [Print-print-05]" )
5359{
5460 PrintMock mock;
55-
5661 unsigned int const val = 17 ;
5762
58- WHEN (" DEC" ) { mock.print (val, DEC); REQUIRE (mock._str == " 17" ); }
59- WHEN (" HEX" ) { mock.print (val, HEX); REQUIRE (mock._str == " 11" ); }
60- WHEN (" OCT" ) { mock.print (val, OCT); REQUIRE (mock._str == " 21" ); }
61- WHEN (" BIN" ) { mock.print (val, BIN); REQUIRE (mock._str == " 10001" ); }
63+ WHEN (" DEC" ) { mock.print (val, DEC); REQUIRE (mock._str == " 17" ); mock. flush (); }
64+ WHEN (" HEX" ) { mock.print (val, HEX); REQUIRE (mock._str == " 11" ); mock. flush (); }
65+ WHEN (" OCT" ) { mock.print (val, OCT); REQUIRE (mock._str == " 21" ); mock. flush (); }
66+ WHEN (" BIN" ) { mock.print (val, BIN); REQUIRE (mock._str == " 10001" ); mock. flush (); }
6267}
6368
6469TEST_CASE (" Print::print(long, int = DEC|HEX|OCT|BIN)" , " [Print-print-06]" )
6570{
6671 PrintMock mock;
67-
6872 long const val = -1 ;
6973
70- WHEN (" DEC" ) { mock.print (val, DEC); REQUIRE (mock._str == " -1" ); }
71- WHEN (" HEX" ) { mock.print (val, HEX); REQUIRE (mock._str == " FFFFFFFFFFFFFFFF" ); }
72- WHEN (" OCT" ) { mock.print (val, OCT); REQUIRE (mock._str == " 1777777777777777777777" ); }
73- WHEN (" BIN" ) { mock.print (val, BIN); REQUIRE (mock._str == " 1111111111111111111111111111111111111111111111111111111111111111" ); }
74+ WHEN (" DEC" ) { mock.print (val, DEC); REQUIRE (mock._str == " -1" ); mock.flush (); }
75+ #ifdef ARCH_CPU_64BIT
76+ WHEN (" HEX" ) { mock.print (val, HEX); REQUIRE (mock._str == " FFFFFFFFFFFFFFFF" ); mock.flush (); }
77+ WHEN (" OCT" ) { mock.print (val, OCT); REQUIRE (mock._str == " 1777777777777777777777" ); mock.flush (); }
78+ WHEN (" BIN" ) { mock.print (val, BIN); REQUIRE (mock._str == " 1111111111111111111111111111111111111111111111111111111111111111" ); mock.flush (); }
79+ #else
80+ WHEN (" HEX" ) { mock.print (val, HEX); REQUIRE (mock._str == " FFFFFFFF" ); mock.flush (); }
81+ WHEN (" OCT" ) { mock.print (val, OCT); REQUIRE (mock._str == " 37777777777" ); mock.flush (); }
82+ WHEN (" BIN" ) { mock.print (val, BIN); REQUIRE (mock._str == " 11111111111111111111111111111111" ); mock.flush (); }
83+ #endif /* ARCH_CPU_64BIT */
7484}
7585
7686TEST_CASE (" Print::print(unsigned long, int = DEC|HEX|OCT|BIN)" , " [Print-print-07]" )
7787{
7888 PrintMock mock;
79-
8089 unsigned long const val = 17 ;
8190
82- WHEN (" DEC" ) { mock.print (val, DEC); REQUIRE (mock._str == " 17" ); }
83- WHEN (" HEX" ) { mock.print (val, HEX); REQUIRE (mock._str == " 11" ); }
84- WHEN (" OCT" ) { mock.print (val, OCT); REQUIRE (mock._str == " 21" ); }
85- WHEN (" BIN" ) { mock.print (val, BIN); REQUIRE (mock._str == " 10001" ); }
91+ WHEN (" DEC" ) { mock.print (val, DEC); REQUIRE (mock._str == " 17" ); mock. flush (); }
92+ WHEN (" HEX" ) { mock.print (val, HEX); REQUIRE (mock._str == " 11" ); mock. flush (); }
93+ WHEN (" OCT" ) { mock.print (val, OCT); REQUIRE (mock._str == " 21" ); mock. flush (); }
94+ WHEN (" BIN" ) { mock.print (val, BIN); REQUIRE (mock._str == " 10001" ); mock. flush (); }
8695}
8796
8897TEST_CASE (" Print::print(long long, int = DEC|HEX|OCT|BIN)" , " [Print-print-08]" )
8998{
9099 PrintMock mock;
91-
92100 long long const val = -1 ;
93101
94- WHEN (" DEC" ) { mock.print (val, DEC); REQUIRE (mock._str == " -1" ); }
95- WHEN (" HEX" ) { mock.print (val, HEX); REQUIRE (mock._str == " FFFFFFFFFFFFFFFF" ); }
96- WHEN (" OCT" ) { mock.print (val, OCT); REQUIRE (mock._str == " 1777777777777777777777" ); }
97- WHEN (" BIN" ) { mock.print (val, BIN); REQUIRE (mock._str == " 1111111111111111111111111111111111111111111111111111111111111111" ); }
102+ WHEN (" DEC" ) { mock.print (val, DEC); REQUIRE (mock._str == " -1" ); mock. flush (); }
103+ WHEN (" HEX" ) { mock.print (val, HEX); REQUIRE (mock._str == " FFFFFFFFFFFFFFFF" ); mock. flush (); }
104+ WHEN (" OCT" ) { mock.print (val, OCT); REQUIRE (mock._str == " 1777777777777777777777" ); mock. flush (); }
105+ WHEN (" BIN" ) { mock.print (val, BIN); REQUIRE (mock._str == " 1111111111111111111111111111111111111111111111111111111111111111" ); mock. flush (); }
98106}
99107
100108TEST_CASE (" Print::print(unsigned long long, int = DEC|HEX|OCT|BIN)" , " [Print-print-09]" )
@@ -105,19 +113,19 @@ TEST_CASE ("Print::print(unsigned long long, int = DEC|HEX|OCT|BIN)", "[Print-pr
105113 {
106114 unsigned long long const val = 0 ;
107115
108- WHEN (" DEC" ) { mock.print (val, DEC); REQUIRE (mock._str == " 0" ); }
109- WHEN (" HEX" ) { mock.print (val, HEX); REQUIRE (mock._str == " 0" ); }
110- WHEN (" OCT" ) { mock.print (val, OCT); REQUIRE (mock._str == " 0" ); }
111- WHEN (" BIN" ) { mock.print (val, BIN); REQUIRE (mock._str == " 0" ); }
116+ WHEN (" DEC" ) { mock.print (val, DEC); REQUIRE (mock._str == " 0" ); mock. flush (); }
117+ WHEN (" HEX" ) { mock.print (val, HEX); REQUIRE (mock._str == " 0" ); mock. flush (); }
118+ WHEN (" OCT" ) { mock.print (val, OCT); REQUIRE (mock._str == " 0" ); mock. flush (); }
119+ WHEN (" BIN" ) { mock.print (val, BIN); REQUIRE (mock._str == " 0" ); mock. flush (); }
112120 }
113121 GIVEN (" a non-zero value ..." )
114122 {
115123 unsigned long long const val = 17 ;
116124
117- WHEN (" DEC" ) { mock.print (val, DEC); REQUIRE (mock._str == " 17" ); }
118- WHEN (" HEX" ) { mock.print (val, HEX); REQUIRE (mock._str == " 11" ); }
119- WHEN (" OCT" ) { mock.print (val, OCT); REQUIRE (mock._str == " 21" ); }
120- WHEN (" BIN" ) { mock.print (val, BIN); REQUIRE (mock._str == " 10001" ); }
125+ WHEN (" DEC" ) { mock.print (val, DEC); REQUIRE (mock._str == " 17" ); mock. flush (); }
126+ WHEN (" HEX" ) { mock.print (val, HEX); REQUIRE (mock._str == " 11" ); mock. flush (); }
127+ WHEN (" OCT" ) { mock.print (val, OCT); REQUIRE (mock._str == " 21" ); mock. flush (); }
128+ WHEN (" BIN" ) { mock.print (val, BIN); REQUIRE (mock._str == " 10001" ); mock. flush (); }
121129 }
122130}
123131
@@ -128,28 +136,28 @@ TEST_CASE ("Print::print(double, int = 2)", "[Print-print-10]")
128136 WHEN (" val is a positive floating point value" )
129137 {
130138 double const val = 3.1459 ;
131- WHEN (" digits = 0" ) { mock.print (val, 0 ); REQUIRE (mock._str == " 3" ); }
132- WHEN (" digits = 1" ) { mock.print (val, 1 ); REQUIRE (mock._str == " 3.1" ); }
133- WHEN (" digits = 2 (default)" ) { mock.print (val); REQUIRE (mock._str == " 3.15" ); }
134- WHEN (" digits = 3" ) { mock.print (val, 3 ); REQUIRE (mock._str == " 3.146" ); }
135- WHEN (" digits = 4" ) { mock.print (val, 4 ); REQUIRE (mock._str == " 3.1459" ); }
136- WHEN (" digits = 5" ) { mock.print (val, 5 ); REQUIRE (mock._str == " 3.14590" ); }
139+ WHEN (" digits = 0" ) { mock.print (val, 0 ); REQUIRE (mock._str == " 3" ); mock. flush (); }
140+ WHEN (" digits = 1" ) { mock.print (val, 1 ); REQUIRE (mock._str == " 3.1" ); mock. flush (); }
141+ WHEN (" digits = 2 (default)" ) { mock.print (val); REQUIRE (mock._str == " 3.15" ); mock. flush (); }
142+ WHEN (" digits = 3" ) { mock.print (val, 3 ); REQUIRE (mock._str == " 3.146" ); mock. flush (); }
143+ WHEN (" digits = 4" ) { mock.print (val, 4 ); REQUIRE (mock._str == " 3.1459" ); mock. flush (); }
144+ WHEN (" digits = 5" ) { mock.print (val, 5 ); REQUIRE (mock._str == " 3.14590" ); mock. flush (); }
137145 }
138146
139147 WHEN (" digits are negative" )
140148 {
141149 double const val = 3.1459 ;
142- WHEN (" digits = -1" ) { mock.print (val, -1 ); REQUIRE (mock._str == " 3.15" ); }
150+ WHEN (" digits = -1" ) { mock.print (val, -1 ); REQUIRE (mock._str == " 3.15" ); mock. flush (); }
143151 }
144152
145153 WHEN (" val is a negative floating point value" )
146154 {
147155 double const val = -3.1459 ;
148- WHEN (" digits = 2 (default)" ) { mock.print (val); REQUIRE (mock._str == " -3.15" ); }
156+ WHEN (" digits = 2 (default)" ) { mock.print (val); REQUIRE (mock._str == " -3.15" ); mock. flush (); }
149157 }
150158
151- WHEN (" val is NAN" ) { mock.print (NAN); REQUIRE (mock._str == " nan" ); }
152- WHEN (" val is INFINITY" ) { mock.print (INFINITY); REQUIRE (mock._str == " inf" ); }
159+ WHEN (" val is NAN" ) { mock.print (NAN); REQUIRE (mock._str == " nan" ); mock. flush (); }
160+ WHEN (" val is INFINITY" ) { mock.print (INFINITY); REQUIRE (mock._str == " inf" ); mock. flush (); }
153161}
154162
155163TEST_CASE (" Print::print(Printable)" , " [Print-print-11]" )
@@ -160,18 +168,18 @@ TEST_CASE ("Print::print(Printable)", "[Print-print-11]")
160168 printable._i = 1 ;
161169
162170 mock.print (printable);
163-
164171 REQUIRE (mock._str == " PrintableMock i = 1" );
172+ mock.flush ();
165173}
166174
167175TEST_CASE (" Print::print(unsigned char, int)" , " [Print-print-12]" )
168176{
169177 PrintMock mock;
170178
171- WHEN (" DEC" ) { mock.print (' A' , DEC); REQUIRE (mock._str == " 65" ); }
172- WHEN (" HEX" ) { mock.print (' A' , HEX); REQUIRE (mock._str == " 41" ); }
173- WHEN (" OCT" ) { mock.print (' A' , OCT); REQUIRE (mock._str == " 101" ); }
174- WHEN (" BIN" ) { mock.print (' A' , BIN); REQUIRE (mock._str == " 1000001" ); }
179+ WHEN (" DEC" ) { mock.print (' A' , DEC); REQUIRE (mock._str == " 65" ); mock. flush (); }
180+ WHEN (" HEX" ) { mock.print (' A' , HEX); REQUIRE (mock._str == " 41" ); mock. flush (); }
181+ WHEN (" OCT" ) { mock.print (' A' , OCT); REQUIRE (mock._str == " 101" ); mock. flush (); }
182+ WHEN (" BIN" ) { mock.print (' A' , BIN); REQUIRE (mock._str == " 1000001" ); mock. flush (); }
175183}
176184
177185TEST_CASE (" Testing Print::print(const __FlashStringHelper *)" , " [Print-print-13]" )
@@ -181,6 +189,6 @@ TEST_CASE ("Testing Print::print(const __FlashStringHelper *)", "[Print-print-13
181189 PrintMock mock;
182190
183191 mock.print (F (" Hello flash string" ));
184-
185192 REQUIRE (mock._str == " Hello flash string" );
193+ mock.flush ();
186194}
0 commit comments