summaryrefslogtreecommitdiff
path: root/test/cuchaz/enigma/TestJarIndexConstructorReferences.java
diff options
context:
space:
mode:
Diffstat (limited to 'test/cuchaz/enigma/TestJarIndexConstructorReferences.java')
-rw-r--r--test/cuchaz/enigma/TestJarIndexConstructorReferences.java160
1 files changed, 71 insertions, 89 deletions
diff --git a/test/cuchaz/enigma/TestJarIndexConstructorReferences.java b/test/cuchaz/enigma/TestJarIndexConstructorReferences.java
index 0238171..b5f4c7f 100644
--- a/test/cuchaz/enigma/TestJarIndexConstructorReferences.java
+++ b/test/cuchaz/enigma/TestJarIndexConstructorReferences.java
@@ -26,117 +26,99 @@ import cuchaz.enigma.mapping.BehaviorEntry;
26import cuchaz.enigma.mapping.ClassEntry; 26import cuchaz.enigma.mapping.ClassEntry;
27import cuchaz.enigma.mapping.ConstructorEntry; 27import cuchaz.enigma.mapping.ConstructorEntry;
28 28
29public class TestJarIndexConstructorReferences 29public class TestJarIndexConstructorReferences {
30{ 30
31 private JarIndex m_index; 31 private JarIndex m_index;
32 32
33 private ClassEntry m_baseClass = new ClassEntry( "none/a" ); 33 private ClassEntry m_baseClass = new ClassEntry("none/a");
34 private ClassEntry m_subClass = new ClassEntry( "none/d" ); 34 private ClassEntry m_subClass = new ClassEntry("none/d");
35 private ClassEntry m_subsubClass = new ClassEntry( "none/e" ); 35 private ClassEntry m_subsubClass = new ClassEntry("none/e");
36 private ClassEntry m_defaultClass = new ClassEntry( "none/c" ); 36 private ClassEntry m_defaultClass = new ClassEntry("none/c");
37 private ClassEntry m_callerClass = new ClassEntry( "none/b" ); 37 private ClassEntry m_callerClass = new ClassEntry("none/b");
38 38
39 public TestJarIndexConstructorReferences( ) 39 public TestJarIndexConstructorReferences() throws Exception {
40 throws Exception 40 File jarFile = new File("build/libs/testConstructors.obf.jar");
41 {
42 File jarFile = new File( "build/libs/testConstructors.obf.jar" );
43 m_index = new JarIndex(); 41 m_index = new JarIndex();
44 m_index.indexJar( new JarFile( jarFile ), false ); 42 m_index.indexJar(new JarFile(jarFile), false);
45 } 43 }
46 44
47 @Test 45 @Test
48 public void obfEntries( ) 46 public void obfEntries() {
49 { 47 assertThat(m_index.getObfClassEntries(), containsInAnyOrder(newClass("cuchaz/enigma/inputs/Keep"), m_baseClass, m_subClass, m_subsubClass, m_defaultClass, m_callerClass));
50 assertThat( m_index.getObfClassEntries(), containsInAnyOrder(
51 newClass( "cuchaz/enigma/inputs/Keep" ),
52 m_baseClass,
53 m_subClass,
54 m_subsubClass,
55 m_defaultClass,
56 m_callerClass
57 ) );
58 } 48 }
59 49
60 @Test 50 @Test
61 @SuppressWarnings( "unchecked" ) 51 @SuppressWarnings("unchecked")
62 public void baseDefault( ) 52 public void baseDefault() {
63 { 53 BehaviorEntry source = new ConstructorEntry(m_baseClass, "()V");
64 BehaviorEntry source = new ConstructorEntry( m_baseClass, "()V" ); 54 Collection<EntryReference<BehaviorEntry,BehaviorEntry>> references = m_index.getBehaviorReferences(source);
65 Collection<EntryReference<BehaviorEntry,BehaviorEntry>> references = m_index.getBehaviorReferences( source ); 55 assertThat(references, containsInAnyOrder(
66 assertThat( references, containsInAnyOrder( 56 newBehaviorReferenceByMethod(source, m_callerClass.getName(), "a", "()V"),
67 newBehaviorReferenceByMethod( source, m_callerClass.getName(), "a", "()V" ), 57 newBehaviorReferenceByConstructor(source, m_subClass.getName(), "()V"),
68 newBehaviorReferenceByConstructor( source, m_subClass.getName(), "()V" ), 58 newBehaviorReferenceByConstructor(source, m_subClass.getName(), "(III)V")
69 newBehaviorReferenceByConstructor( source, m_subClass.getName(), "(III)V" ) 59 ));
70 ) );
71 } 60 }
72 61
73 @Test 62 @Test
74 @SuppressWarnings( "unchecked" ) 63 @SuppressWarnings("unchecked")
75 public void baseInt( ) 64 public void baseInt() {
76 { 65 BehaviorEntry source = new ConstructorEntry(m_baseClass, "(I)V");
77 BehaviorEntry source = new ConstructorEntry( m_baseClass, "(I)V" ); 66 assertThat(m_index.getBehaviorReferences(source), containsInAnyOrder(
78 assertThat( m_index.getBehaviorReferences( source ), containsInAnyOrder( 67 newBehaviorReferenceByMethod(source, m_callerClass.getName(), "b", "()V")
79 newBehaviorReferenceByMethod( source, m_callerClass.getName(), "b", "()V" ) 68 ));
80 ) );
81 } 69 }
82 70
83 @Test 71 @Test
84 @SuppressWarnings( "unchecked" ) 72 @SuppressWarnings("unchecked")
85 public void subDefault( ) 73 public void subDefault() {
86 { 74 BehaviorEntry source = new ConstructorEntry(m_subClass, "()V");
87 BehaviorEntry source = new ConstructorEntry( m_subClass, "()V" ); 75 assertThat(m_index.getBehaviorReferences(source), containsInAnyOrder(
88 assertThat( m_index.getBehaviorReferences( source ), containsInAnyOrder( 76 newBehaviorReferenceByMethod(source, m_callerClass.getName(), "c", "()V"),
89 newBehaviorReferenceByMethod( source, m_callerClass.getName(), "c", "()V" ), 77 newBehaviorReferenceByConstructor(source, m_subClass.getName(), "(I)V")
90 newBehaviorReferenceByConstructor( source, m_subClass.getName(), "(I)V" ) 78 ));
91 ) );
92 } 79 }
93 80
94 @Test 81 @Test
95 @SuppressWarnings( "unchecked" ) 82 @SuppressWarnings("unchecked")
96 public void subInt( ) 83 public void subInt() {
97 { 84 BehaviorEntry source = new ConstructorEntry(m_subClass, "(I)V");
98 BehaviorEntry source = new ConstructorEntry( m_subClass, "(I)V" ); 85 assertThat(m_index.getBehaviorReferences(source), containsInAnyOrder(
99 assertThat( m_index.getBehaviorReferences( source ), containsInAnyOrder( 86 newBehaviorReferenceByMethod(source, m_callerClass.getName(), "d", "()V"),
100 newBehaviorReferenceByMethod( source, m_callerClass.getName(), "d", "()V" ), 87 newBehaviorReferenceByConstructor(source, m_subClass.getName(), "(II)V"),
101 newBehaviorReferenceByConstructor( source, m_subClass.getName(), "(II)V" ), 88 newBehaviorReferenceByConstructor(source, m_subsubClass.getName(), "(I)V")
102 newBehaviorReferenceByConstructor( source, m_subsubClass.getName(), "(I)V" ) 89 ));
103 ) );
104 } 90 }
105 91
106 @Test 92 @Test
107 @SuppressWarnings( "unchecked" ) 93 @SuppressWarnings("unchecked")
108 public void subIntInt( ) 94 public void subIntInt() {
109 { 95 BehaviorEntry source = new ConstructorEntry(m_subClass, "(II)V");
110 BehaviorEntry source = new ConstructorEntry( m_subClass, "(II)V" ); 96 assertThat(m_index.getBehaviorReferences(source), containsInAnyOrder(
111 assertThat( m_index.getBehaviorReferences( source ), containsInAnyOrder( 97 newBehaviorReferenceByMethod(source, m_callerClass.getName(), "e", "()V")
112 newBehaviorReferenceByMethod( source, m_callerClass.getName(), "e", "()V" ) 98 ));
113 ) );
114 } 99 }
115 100
116 @Test 101 @Test
117 public void subIntIntInt( ) 102 public void subIntIntInt() {
118 { 103 BehaviorEntry source = new ConstructorEntry(m_subClass, "(III)V");
119 BehaviorEntry source = new ConstructorEntry( m_subClass, "(III)V" ); 104 assertThat(m_index.getBehaviorReferences(source), is(empty()));
120 assertThat( m_index.getBehaviorReferences( source ), is( empty() ) );
121 } 105 }
122 106
123 @Test 107 @Test
124 @SuppressWarnings( "unchecked" ) 108 @SuppressWarnings("unchecked")
125 public void subsubInt( ) 109 public void subsubInt() {
126 { 110 BehaviorEntry source = new ConstructorEntry(m_subsubClass, "(I)V");
127 BehaviorEntry source = new ConstructorEntry( m_subsubClass, "(I)V" ); 111 assertThat(m_index.getBehaviorReferences(source), containsInAnyOrder(
128 assertThat( m_index.getBehaviorReferences( source ), containsInAnyOrder( 112 newBehaviorReferenceByMethod(source, m_callerClass.getName(), "f", "()V")
129 newBehaviorReferenceByMethod( source, m_callerClass.getName(), "f", "()V" ) 113 ));
130 ) );
131 } 114 }
132 115
133 @Test 116 @Test
134 @SuppressWarnings( "unchecked" ) 117 @SuppressWarnings("unchecked")
135 public void defaultConstructable( ) 118 public void defaultConstructable() {
136 { 119 BehaviorEntry source = new ConstructorEntry(m_defaultClass, "()V");
137 BehaviorEntry source = new ConstructorEntry( m_defaultClass, "()V" ); 120 assertThat(m_index.getBehaviorReferences(source), containsInAnyOrder(
138 assertThat( m_index.getBehaviorReferences( source ), containsInAnyOrder( 121 newBehaviorReferenceByMethod(source, m_callerClass.getName(), "g", "()V")
139 newBehaviorReferenceByMethod( source, m_callerClass.getName(), "g", "()V" ) 122 ));
140 ) );
141 } 123 }
142} 124}