about summary refs log tree commit diff
path: root/third_party/immer/test/atom/generic.ipp
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/immer/test/atom/generic.ipp')
-rw-r--r--third_party/immer/test/atom/generic.ipp53
1 files changed, 0 insertions, 53 deletions
diff --git a/third_party/immer/test/atom/generic.ipp b/third_party/immer/test/atom/generic.ipp
deleted file mode 100644
index 21ff74d7ef..0000000000
--- a/third_party/immer/test/atom/generic.ipp
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// immer: immutable data structures for C++
-// Copyright (C) 2016, 2017, 2018 Juan Pedro Bolivar Puente
-//
-// This software is distributed under the Boost Software License, Version 1.0.
-// See accompanying file LICENSE or copy at http://boost.org/LICENSE_1_0.txt
-//
-
-#ifndef ATOM_T
-#error "define the box template to use in ATOM_T"
-#endif
-
-#include <catch.hpp>
-
-template <typename T>
-using BOX_T = typename ATOM_T<T>::box_type;
-
-TEST_CASE("construction") { ATOM_T<int> x; }
-
-TEST_CASE("store, load, exchange")
-{
-    ATOM_T<int> x;
-    CHECK(x.load() == BOX_T<int>{0});
-    x.store(42);
-    CHECK(x.load() == BOX_T<int>{42});
-    auto old = x.exchange(12);
-    CHECK(old == 42);
-    CHECK(x.load() == BOX_T<int>{12});
-}
-
-TEST_CASE("box conversion")
-{
-    ATOM_T<int> x;
-    auto v1 = BOX_T<int>{42};
-    x       = v1;
-    auto v2 = BOX_T<int>{x};
-    CHECK(v1 == v2);
-}
-
-TEST_CASE("value conversion")
-{
-    ATOM_T<int> x;
-    x      = 42;
-    auto v = int{x};
-    CHECK(v == 42);
-}
-
-TEST_CASE("update")
-{
-    ATOM_T<int> x{42};
-    x.update([](auto x) { return x + 2; });
-    CHECK(x.load() == 44);
-}