aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_suite.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_suite.cpp')
-rw-r--r--test/test_suite.cpp68
1 files changed, 68 insertions, 0 deletions
diff --git a/test/test_suite.cpp b/test/test_suite.cpp
index 100b59f..66ba5f3 100644
--- a/test/test_suite.cpp
+++ b/test/test_suite.cpp
@@ -864,6 +864,74 @@ TEST_CASE("padding 20.5", "[]" ) {
REQUIRE(!strcmp(buffer, " 00EDCB5433"));
}
+TEST_CASE("padding neg numbers", "[]" ) {
+ char buffer[100];
+
+ // space padding
+
+ test::sprintf(buffer, "% 1d", -5);
+ REQUIRE(!strcmp(buffer, "-5"));
+
+ test::sprintf(buffer, "% 2d", -5);
+ REQUIRE(!strcmp(buffer, "-5"));
+
+ test::sprintf(buffer, "% 3d", -5);
+ REQUIRE(!strcmp(buffer, " -5"));
+
+ test::sprintf(buffer, "% 4d", -5);
+ REQUIRE(!strcmp(buffer, " -5"));
+
+ // zero padding
+
+ test::sprintf(buffer, "%01d", -5);
+ REQUIRE(!strcmp(buffer, "-5"));
+
+ test::sprintf(buffer, "%02d", -5);
+ REQUIRE(!strcmp(buffer, "-5"));
+
+ test::sprintf(buffer, "%03d", -5);
+ REQUIRE(!strcmp(buffer, "-05"));
+
+ test::sprintf(buffer, "%04d", -5);
+ REQUIRE(!strcmp(buffer, "-005"));
+}
+
+TEST_CASE("float padding neg numbers", "[]" ) {
+ char buffer[100];
+
+ // space padding
+
+ test::sprintf(buffer, "% 3.1f", -5.);
+ REQUIRE(!strcmp(buffer, "-5.0"));
+
+ test::sprintf(buffer, "% 4.1f", -5.);
+ REQUIRE(!strcmp(buffer, "-5.0"));
+
+ test::sprintf(buffer, "% 5.1f", -5.);
+ REQUIRE(!strcmp(buffer, " -5.0"));
+
+ // zero padding
+
+ test::sprintf(buffer, "%03.1f", -5.);
+ REQUIRE(!strcmp(buffer, "-5.0"));
+
+ test::sprintf(buffer, "%04.1f", -5.);
+ REQUIRE(!strcmp(buffer, "-5.0"));
+
+ test::sprintf(buffer, "%05.1f", -5.);
+ REQUIRE(!strcmp(buffer, "-05.0"));
+
+ // zero padding no decimal point
+
+ test::sprintf(buffer, "%01.0f", -5.);
+ REQUIRE(!strcmp(buffer, "-5"));
+
+ test::sprintf(buffer, "%02.0f", -5.);
+ REQUIRE(!strcmp(buffer, "-5"));
+
+ test::sprintf(buffer, "%03.0f", -5.);
+ REQUIRE(!strcmp(buffer, "-05"));
+}
TEST_CASE("length", "[]" ) {
char buffer[100];