aboutsummaryrefslogtreecommitdiff
path: root/test/option.cc
diff options
context:
space:
mode:
authorJohannes Stoelp <johannes.stoelp@gmail.com>2023-07-03 22:16:37 +0200
committerJohannes Stoelp <johannes.stoelp@gmail.com>2023-07-03 22:16:37 +0200
commit07c77d4c24177ac3e11cafd27f34c9a758008db6 (patch)
tree3f3bd5c35fc89799203290369886825050d01b59 /test/option.cc
parent26f0cbe721028bdd1733db3424d38490c3f85b94 (diff)
downloadcpp-utils-07c77d4c24177ac3e11cafd27f34c9a758008db6.tar.gz
cpp-utils-07c77d4c24177ac3e11cafd27f34c9a758008db6.zip
make: add clang-format lint target
Diffstat (limited to 'test/option.cc')
-rw-r--r--test/option.cc77
1 files changed, 38 insertions, 39 deletions
diff --git a/test/option.cc b/test/option.cc
index 8697089..0417266 100644
--- a/test/option.cc
+++ b/test/option.cc
@@ -1,6 +1,6 @@
#include <option.h>
-#include <cstdlib>
#include <cstdio>
+#include <cstdlib>
struct Checker {
static unsigned cnt;
@@ -25,61 +25,60 @@ int main() {
using option::option;
auto check_cnt = [](unsigned expect) {
- if (expect != Checker::cnt) {
- std::printf("Checker: expect=%u cnt=%u\n", expect, Checker::cnt);
- std::abort();
- }
-
+ if (expect != Checker::cnt) {
+ std::printf("Checker: expect=%u cnt=%u\n", expect, Checker::cnt);
+ std::abort();
+ }
};
{
- option<int> o1;
- option<int> o2{::option::none{}};
+ option<int> o1;
+ option<int> o2{::option::none{}};
- assert(!o1.has_value());
- assert(!o2.has_value());
+ assert(!o1.has_value());
+ assert(!o2.has_value());
}
// Assume we start test with cnt=0.
check_cnt(0);
{
- option<Checker> o1(Checker{});
- // copy construct
- option<Checker> o2 = o1;
- // move construct
- option<Checker> o3 = o1.take();
-
- assert(!o1.has_value());
- assert(o2.has_value());
- assert(o3.has_value());
-
- // move option
- option<Checker> o4 = std::move(o2);
-
- assert(!o2.has_value());
- assert(o4.has_value());
-
- // take reference to inner
- auto x = o3.value();
- // take ownership of inner
- auto y = o4.take();
-
- assert(!o1.has_value());
- assert(!o2.has_value());
- assert(o3.has_value());
- assert(!o4.has_value());
+ option<Checker> o1(Checker{});
+ // copy construct
+ option<Checker> o2 = o1;
+ // move construct
+ option<Checker> o3 = o1.take();
+
+ assert(!o1.has_value());
+ assert(o2.has_value());
+ assert(o3.has_value());
+
+ // move option
+ option<Checker> o4 = std::move(o2);
+
+ assert(!o2.has_value());
+ assert(o4.has_value());
+
+ // take reference to inner
+ auto x = o3.value();
+ // take ownership of inner
+ auto y = o4.take();
+
+ assert(!o1.has_value());
+ assert(!o2.has_value());
+ assert(o3.has_value());
+ assert(!o4.has_value());
}
// Expect to finish test with cnt=0.
check_cnt(0);
{
- option<Checker> o1;
- assert(!o1.has_value());
+ option<Checker> o1;
+ assert(!o1.has_value());
- o1.emplace();
- assert(o1.has_value());
+ o1.emplace();
+ assert(o1.has_value());
}
// Expect to finish test with cnt=0.