-
Notifications
You must be signed in to change notification settings - Fork 19.9k
/
Copy pathORSetTest.java
88 lines (72 loc) · 2.03 KB
/
ORSetTest.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
package com.thealgorithms.datastructures.crdt;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.Set;
import org.junit.jupiter.api.Test;
class ORSetTest {
@Test
void testContains() {
ORSet<String> orSet = new ORSet<>();
orSet.add("A");
assertTrue(orSet.contains("A"));
}
@Test
void testAdd() {
ORSet<String> orSet = new ORSet<>();
orSet.add("A");
assertTrue(orSet.contains("A"));
}
@Test
void testRemove() {
ORSet<String> orSet = new ORSet<>();
orSet.add("A");
orSet.add("A");
orSet.remove("A");
assertFalse(orSet.contains("A"));
}
@Test
void testElements() {
ORSet<String> orSet = new ORSet<>();
orSet.add("A");
orSet.add("B");
assertEquals(Set.of("A", "B"), orSet.elements());
}
@Test
void testCompareEqualSets() {
ORSet<String> orSet1 = new ORSet<>();
ORSet<String> orSet2 = new ORSet<>();
orSet1.add("A");
orSet2.add("A");
orSet2.add("B");
orSet2.add("C");
orSet2.remove("C");
orSet1.merge(orSet2);
orSet2.merge(orSet1);
orSet2.remove("B");
assertTrue(orSet1.compare(orSet2));
}
@Test
void testCompareDifferentSets() {
ORSet<String> orSet1 = new ORSet<>();
ORSet<String> orSet2 = new ORSet<>();
orSet1.add("A");
orSet2.add("B");
assertFalse(orSet1.compare(orSet2));
}
@Test
void testMerge() {
ORSet<String> orSet1 = new ORSet<>();
ORSet<String> orSet2 = new ORSet<>();
orSet1.add("A");
orSet1.add("A");
orSet1.add("B");
orSet1.remove("B");
orSet2.add("B");
orSet2.add("C");
orSet2.remove("C");
orSet1.merge(orSet2);
assertTrue(orSet1.contains("A"));
assertTrue(orSet1.contains("B"));
}
}