aboutsummaryrefslogtreecommitdiffstats
path: root/javaparser-testing/src/test/java/com/github/javaparser/utils/VisitorMapTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'javaparser-testing/src/test/java/com/github/javaparser/utils/VisitorMapTest.java')
-rw-r--r--javaparser-testing/src/test/java/com/github/javaparser/utils/VisitorMapTest.java80
1 files changed, 80 insertions, 0 deletions
diff --git a/javaparser-testing/src/test/java/com/github/javaparser/utils/VisitorMapTest.java b/javaparser-testing/src/test/java/com/github/javaparser/utils/VisitorMapTest.java
new file mode 100644
index 000000000..03d4b7b65
--- /dev/null
+++ b/javaparser-testing/src/test/java/com/github/javaparser/utils/VisitorMapTest.java
@@ -0,0 +1,80 @@
+package com.github.javaparser.utils;
+
+import com.github.javaparser.JavaParser;
+import com.github.javaparser.ast.CompilationUnit;
+import com.github.javaparser.ast.visitor.ObjectIdentityEqualsVisitor;
+import com.github.javaparser.ast.visitor.ObjectIdentityHashCodeVisitor;
+import org.junit.Test;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+public class VisitorMapTest {
+ @Test
+ public void normalEqualsDoesDeepCompare() {
+ CompilationUnit x1 = JavaParser.parse("class X{}");
+ CompilationUnit x2 = JavaParser.parse("class X{}");
+
+ Map<CompilationUnit, Integer> map = new HashMap<>();
+ map.put(x1, 1);
+ map.put(x2, 2);
+ assertEquals(1, map.size());
+ }
+
+ @Test
+ public void objectIdentityEqualsDoesShallowCompare() {
+ CompilationUnit x1 = JavaParser.parse("class X{}");
+ CompilationUnit x2 = JavaParser.parse("class X{}");
+
+ Map<CompilationUnit, Integer> map = new VisitorMap<>(new ObjectIdentityHashCodeVisitor(), new ObjectIdentityEqualsVisitor());
+ map.put(x1, 1);
+ map.put(x2, 2);
+ assertEquals(2, map.size());
+ }
+
+ @Test
+ public void visitorMapGet(){
+ CompilationUnit x1 = JavaParser.parse("class X{}");
+
+ Map<CompilationUnit, Integer> map = new VisitorMap<>(new ObjectIdentityHashCodeVisitor(), new ObjectIdentityEqualsVisitor());
+ map.put(x1, 1);
+ assertEquals(1, (int)map.get(x1));
+ }
+
+ @Test
+ public void visitorMapContainsKey(){
+ CompilationUnit x1 = JavaParser.parse("class X{}");
+
+ Map<CompilationUnit, Integer> map = new VisitorMap<>(new ObjectIdentityHashCodeVisitor(), new ObjectIdentityEqualsVisitor());
+ map.put(x1, 1);
+ assertTrue(map.containsKey(x1));
+ }
+
+ @Test
+ public void visitorMapPutAll(){
+ CompilationUnit x1 = JavaParser.parse("class X{}");
+ CompilationUnit x2 = JavaParser.parse("class Y{}");
+ Map<CompilationUnit, Integer> map = new HashMap<>();
+ map.put(x1, 1);
+ map.put(x2, 2);
+ Map<CompilationUnit, Integer> visitorMap = new VisitorMap<>(new ObjectIdentityHashCodeVisitor(), new ObjectIdentityEqualsVisitor());
+ visitorMap.putAll(map);
+ assertEquals(2, visitorMap.size());
+ }
+
+ @Test
+ public void remove(){
+ CompilationUnit x1 = JavaParser.parse("class X{}");
+ VisitorMap<CompilationUnit, Integer> map = new VisitorMap<>(new ObjectIdentityHashCodeVisitor(), new ObjectIdentityEqualsVisitor());
+ map.put(x1, 1);
+ assertTrue(map.containsKey(x1));
+
+ map.remove(x1);
+
+ assertFalse(map.containsKey(x1));
+ }
+}