diff options
author | Johannes Stoelp <johannes.stoelp@gmail.com> | 2023-07-03 22:16:37 +0200 |
---|---|---|
committer | Johannes Stoelp <johannes.stoelp@gmail.com> | 2023-07-03 22:16:37 +0200 |
commit | 07c77d4c24177ac3e11cafd27f34c9a758008db6 (patch) | |
tree | 3f3bd5c35fc89799203290369886825050d01b59 /test/option.cc | |
parent | 26f0cbe721028bdd1733db3424d38490c3f85b94 (diff) | |
download | cpp-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.cc | 77 |
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. |