summaryrefslogtreecommitdiff
path: root/tiger-compiler/tests/unit/misc/unique/test_unique_string.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tiger-compiler/tests/unit/misc/unique/test_unique_string.cc')
-rw-r--r--tiger-compiler/tests/unit/misc/unique/test_unique_string.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/tiger-compiler/tests/unit/misc/unique/test_unique_string.cc b/tiger-compiler/tests/unit/misc/unique/test_unique_string.cc
new file mode 100644
index 0000000..2542375
--- /dev/null
+++ b/tiger-compiler/tests/unit/misc/unique/test_unique_string.cc
@@ -0,0 +1,19 @@
+#include <criterion/criterion.h>
+#include <criterion/assert.h>
+#include <misc/unique.hh>
+#include <string>
+
+Test(unique_string, simple)
+{
+ misc::unique<std::string> the_answer = std::string("skibidi");
+ misc::unique<std::string> the_same_answer = std::string("skibidi");
+ misc::unique<std::string> the_solution = std::string("yes yes");
+
+ cr_expect_eq(the_answer, misc::unique<std::string>(std::string("skibidi")));
+ cr_expect_eq(the_answer, the_same_answer);
+ cr_expect_neq(the_answer, the_solution);
+
+ cr_expect_eq(the_answer.get(), the_same_answer.get());
+ cr_expect_eq(the_answer.get(), misc::unique<std::string>(std::string("skibidi")).get());
+ cr_expect_neq(the_answer.get(), the_solution.get());
+}