From dba1e1e4a5edf279f06e6b5ae0b9c9b798e836ac Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Thu, 17 Aug 2023 14:29:38 +0700 Subject: [PATCH] Add weak hash set test --- .../mc/otm/tests/WeakHashSetTests.kt | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 src/test/kotlin/ru/dbotthepony/mc/otm/tests/WeakHashSetTests.kt diff --git a/src/test/kotlin/ru/dbotthepony/mc/otm/tests/WeakHashSetTests.kt b/src/test/kotlin/ru/dbotthepony/mc/otm/tests/WeakHashSetTests.kt new file mode 100644 index 000000000..38bf57250 --- /dev/null +++ b/src/test/kotlin/ru/dbotthepony/mc/otm/tests/WeakHashSetTests.kt @@ -0,0 +1,57 @@ +package ru.dbotthepony.mc.otm.tests + +import org.junit.jupiter.api.DisplayName +import org.junit.jupiter.api.Test +import ru.dbotthepony.mc.otm.core.collect.WeakHashSet +import ru.dbotthepony.mc.otm.core.collect.forEach + +object WeakHashSetTests { + @Test + @DisplayName("WeakHashSet additions") + fun add() { + val set = WeakHashSet() + + check(set.add(1)) + check(set.add(2)) + check(set.add(3)) + check(!set.add(3)) + check(set.add(10)) + check(set.add(15)) + check(!set.add(15)) + check(!set.add(1)) + } + + @Test + @DisplayName("WeakHashSet removals") + fun remove() { + val set = WeakHashSet() + + check(set.add(1)) + check(set.add(2)) + check(set.add(3)) + + check(set.remove(1)) + check(set.remove(2)) + check(set.remove(3)) + + check(!set.remove(4)) + } + + @Test + @DisplayName("WeakHashSet traversal") + fun traversal() { + val set = WeakHashSet() + + check(set.add(1)) + check(set.add(2)) + check(set.add(3)) + check(set.add(5)) + check(set.add(6)) + check(set.remove(1)) + + val set2 = mutableSetOf(2, 3, 5, 6) + check(set.containsAll(set2)) + + set.iterator().forEach { check(set2.remove(it)) } + } +}