Start committing tests

This commit is contained in:
Simon Brand
2017-10-02 08:57:11 +01:00
parent 2d724293aa
commit f6fb170539
4 changed files with 11651 additions and 0 deletions

29
tests/noexcept.cpp Normal file
View File

@@ -0,0 +1,29 @@
#include "optional.hpp"
#include "catch.hpp"
TEST_CASE("Noexcept", "[noexcept]") {
tl::optional<int> o1 {4};
tl::optional<int> o2 {42};
SECTION ("comparison with nullopt") {
REQUIRE(noexcept(o1 == tl::nullopt));
REQUIRE(noexcept(tl::nullopt == o1));
REQUIRE(noexcept(o1 != tl::nullopt));
REQUIRE(noexcept(tl::nullopt != o1));
REQUIRE(noexcept(o1 < tl::nullopt));
REQUIRE(noexcept(tl::nullopt < o1));
REQUIRE(noexcept(o1 <= tl::nullopt));
REQUIRE(noexcept(tl::nullopt <= o1));
REQUIRE(noexcept(o1 > tl::nullopt));
REQUIRE(noexcept(tl::nullopt > o1));
REQUIRE(noexcept(o1 >= tl::nullopt));
REQUIRE(noexcept(tl::nullopt >= o1));
}
SECTION ("swap") {
REQUIRE(tl::detail::is_swappable<int>::value);
//REQUIRE(noexcept(swap(o1,o2)) == noexcept(o1.swap(o2)));
}
}