about summary refs log tree commit diff
path: root/third_party/immer/test/atom
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/immer/test/atom')
-rw-r--r--third_party/immer/test/atom/default.cpp12
-rw-r--r--third_party/immer/test/atom/gc.cpp20
-rw-r--r--third_party/immer/test/atom/generic.ipp53
3 files changed, 0 insertions, 85 deletions
diff --git a/third_party/immer/test/atom/default.cpp b/third_party/immer/test/atom/default.cpp
deleted file mode 100644
index 7a382c70a85d..000000000000
--- a/third_party/immer/test/atom/default.cpp
+++ /dev/null
@@ -1,12 +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
-//
-
-#include <immer/atom.hpp>
-
-#define ATOM_T ::immer::atom
-#include "generic.ipp"
diff --git a/third_party/immer/test/atom/gc.cpp b/third_party/immer/test/atom/gc.cpp
deleted file mode 100644
index f3219e81c601..000000000000
--- a/third_party/immer/test/atom/gc.cpp
+++ /dev/null
@@ -1,20 +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
-//
-
-#include <immer/atom.hpp>
-#include <immer/heap/gc_heap.hpp>
-#include <immer/refcount/no_refcount_policy.hpp>
-
-using gc_memory = immer::memory_policy<immer::heap_policy<immer::gc_heap>,
-                                       immer::no_refcount_policy>;
-
-template <typename T>
-using test_atom_t = immer::atom<T, gc_memory>;
-
-#define ATOM_T test_atom_t
-#include "generic.ipp"
diff --git a/third_party/immer/test/atom/generic.ipp b/third_party/immer/test/atom/generic.ipp
deleted file mode 100644
index 21ff74d7ef69..000000000000
--- 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);
-}