summaryrefslogtreecommitdiffstats
path: root/Test
diff options
context:
space:
mode:
Diffstat (limited to 'Test')
-rw-r--r--Test/.String__PadRight.cpp.swpbin0 -> 12288 bytes
-rw-r--r--Test/CMakeLists.txt1
-rw-r--r--Test/String__PadLeft.cpp44
-rw-r--r--Test/String__PadRight.cpp44
4 files changed, 89 insertions, 0 deletions
diff --git a/Test/.String__PadRight.cpp.swp b/Test/.String__PadRight.cpp.swp
new file mode 100644
index 0000000..de26dae
--- /dev/null
+++ b/Test/.String__PadRight.cpp.swp
Binary files differ
diff --git a/Test/CMakeLists.txt b/Test/CMakeLists.txt
index 41ad3c9..dca5870 100644
--- a/Test/CMakeLists.txt
+++ b/Test/CMakeLists.txt
@@ -16,6 +16,7 @@ add_executable(Test
String__Replace_Char.cpp
String__Replace_String.cpp
String__Split.cpp
+ String__PadLeft.cpp
# CharTools-Tests
Char__IsVowel.cpp
diff --git a/Test/String__PadLeft.cpp b/Test/String__PadLeft.cpp
new file mode 100644
index 0000000..e424e42
--- /dev/null
+++ b/Test/String__PadLeft.cpp
@@ -0,0 +1,44 @@
+#include <StringTools.h>
+#include "Catch2.h"
+
+// Tests that padding to a length shorter adds no padding
+TEST_CASE(__FILE__"/PadToShorterLength", "[Strings][PadLeft]")
+{
+ // Setup
+ const std::string in = "hello";
+
+ // Exercise
+ const std::string out = StringTools::PadLeft(in, '0', 3);
+
+ // Verify
+ REQUIRE(out == "hello");
+ return;
+}
+
+// Tests that padding to a length equal adds no padding
+TEST_CASE(__FILE__"/PadToEqualLength", "[Strings][PadLeft]")
+{
+ // Setup
+ const std::string in = "hello";
+
+ // Exercise
+ const std::string out = StringTools::PadLeft(in, '0', 5);
+
+ // Verify
+ REQUIRE(out == "hello");
+ return;
+}
+
+// Tests that adding padding works
+TEST_CASE(__FILE__"/Padding", "[Strings][PadLeft]")
+{
+ // Setup
+ const std::string in = "hello";
+
+ // Exercise
+ const std::string out = StringTools::PadLeft(in, '0', 7);
+
+ // Verify
+ REQUIRE(out == "00hello");
+ return;
+}
diff --git a/Test/String__PadRight.cpp b/Test/String__PadRight.cpp
new file mode 100644
index 0000000..6846454
--- /dev/null
+++ b/Test/String__PadRight.cpp
@@ -0,0 +1,44 @@
+#include <StringTools.h>
+#include "Catch2.h"
+
+// Tests that padding to a length shorter adds no padding
+TEST_CASE(__FILE__"/PadToShorterLength", "[Strings][PadRight]")
+{
+ // Setup
+ const std::string in = "hello";
+
+ // Exercise
+ const std::string out = StringTools::PadRight(in, '0', 3);
+
+ // Verify
+ REQUIRE(out == "hello");
+ return;
+}
+
+// Tests that padding to a length equal adds no padding
+TEST_CASE(__FILE__"/PadToEqualLength", "[Strings][PadRight]")
+{
+ // Setup
+ const std::string in = "hello";
+
+ // Exercise
+ const std::string out = StringTools::PadRight(in, '0', 5);
+
+ // Verify
+ REQUIRE(out == "hello");
+ return;
+}
+
+// Tests that adding padding works
+TEST_CASE(__FILE__"/Padding", "[Strings][PadRight]")
+{
+ // Setup
+ const std::string in = "hello";
+
+ // Exercise
+ const std::string out = StringTools::PadRight(in, '0', 7);
+
+ // Verify
+ REQUIRE(out == "hello00");
+ return;
+}