1
2
3
4 package net.sourceforge.pmd.lang.java.symboltable;
5
6 import java.util.ArrayList;
7 import java.util.List;
8 import java.util.Map;
9
10 import javax.swing.JComponent;
11 import javax.swing.JTextField;
12
13 import org.junit.Assert;
14 import org.junit.Test;
15
16
17
18
19 public class SimpleTypedNameDeclarationTest {
20
21
22
23
24 @Test
25 public void testEquals() {
26 Assert.assertEquals(byClass(SimpleTypedNameDeclaration.class), byClass(SimpleTypedNameDeclaration.class));
27 Assert.assertEquals(byClass(List.class), byClass(ArrayList.class));
28 Assert.assertEquals(byClass(ArrayList.class), byClass(List.class));
29 Assert.assertEquals(byName("String"), byName("String"));
30 Assert.assertEquals(byClass(String.class), byName("String"));
31 Assert.assertEquals(byClass(JComponent.class), byClass(JTextField.class));
32
33 Assert.assertFalse(byClass(Map.class).equals(byClass(List.class)));
34 Assert.assertFalse(byName("A").equals(byName("B")));
35 Assert.assertFalse(byClass(String.class).equals(byName("A")));
36
37 Assert.assertEquals(by(Double.TYPE, "double"), by(null, "double"));
38 Assert.assertEquals(by(Double.class, "Double"), by(null, "double"));
39 Assert.assertEquals(by(Character.class, "Character"), by(null, "char"));
40 Assert.assertEquals(by(Double.TYPE, "double"), by(null, "float"));
41 Assert.assertEquals(by(Double.TYPE, "double"), by(null, "int"));
42 Assert.assertEquals(by(Double.TYPE, "double"), by(Integer.class, "Integer"));
43 Assert.assertEquals(by(Double.TYPE, "double"), by(null, "long"));
44 Assert.assertEquals(by(Double.TYPE, "double"), by(Long.TYPE, "long"));
45 Assert.assertEquals(by(Double.TYPE, "double"), by(Long.class, "Long"));
46 Assert.assertEquals(by(Float.TYPE, "float"), by(null, "int"));
47 Assert.assertEquals(by(Float.TYPE, "float"), by(Integer.TYPE, "int"));
48 Assert.assertEquals(by(Float.TYPE, "float"), by(Integer.class, "Integer"));
49 Assert.assertEquals(by(Float.TYPE, "float"), by(null, "long"));
50 Assert.assertEquals(by(Float.TYPE, "float"), by(Long.TYPE, "long"));
51 Assert.assertEquals(by(Float.TYPE, "float"), by(Long.class, "Long"));
52 Assert.assertEquals(by(Integer.TYPE, "int"), by(null, "char"));
53 Assert.assertEquals(by(Integer.TYPE, "int"), by(Character.TYPE, "char"));
54 Assert.assertEquals(by(Integer.TYPE, "int"), by(Character.class, "Character"));
55 Assert.assertEquals(by(Long.TYPE, "long"), by(null, "int"));
56 Assert.assertEquals(by(Long.TYPE, "long"), by(Integer.TYPE, "int"));
57 Assert.assertEquals(by(Long.TYPE, "long"), by(Integer.class, "Integer"));
58 Assert.assertEquals(by(Long.TYPE, "long"), by(null, "char"));
59 Assert.assertEquals(by(Long.TYPE, "long"), by(Character.TYPE, "char"));
60 Assert.assertEquals(by(Long.TYPE, "long"), by(Character.class, "Character"));
61 }
62
63 private static SimpleTypedNameDeclaration byClass(Class<?> c) {
64 return new SimpleTypedNameDeclaration(c.getSimpleName(), c);
65 }
66 private static SimpleTypedNameDeclaration byName(String n) {
67 return new SimpleTypedNameDeclaration(n, null);
68 }
69 private static SimpleTypedNameDeclaration by(Class<?> c, String n) {
70 return new SimpleTypedNameDeclaration(n, c);
71 }
72 }