Skip to content

Commit

Permalink
added more composite testing
Browse files Browse the repository at this point in the history
  • Loading branch information
taylerhow committed Feb 11, 2016
1 parent 320ac5c commit a5d1b12
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 4 deletions.
1 change: 1 addition & 0 deletions CSSE374-Eleven/src/src/problem/asm/ClassFieldVisitor.java
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ public FieldVisitor visitField(int access, String name, String desc, String sign
}
field.setName(name);
field.setType(type);
System.out.println("class: "+this.clazz.getName()+ " field type: "+type);
if ((access & Opcodes.ACC_PUBLIC) != 0) {
field.setVisibility("public");
} else if ((access & Opcodes.ACC_PROTECTED) != 0) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,21 @@ private void checkForComposite(IModel model, IClass clazz) {
clazz2.setPattern("COMPOSITE");
}
}
}
} else if (field.getType().contains("[]")) {
String type = field.getType().replace("[", "");
type = type.replace("]", "");
if (inherits.contains(type)) {
component = type;
clazz.setStereotype("composite");
clazz.setPattern("COMPOSITE");

return;
for (IClass clazz2 : model.getClasses()) {
if (clazz2.getName().equals(type)) {
clazz2.setStereotype("component");
clazz2.setPattern("COMPOSITE");
}
}
}
}
}
Expand Down
32 changes: 29 additions & 3 deletions CSSE374-Eleven/test/integrationTests/GVOSIntegrationTests.java
Original file line number Diff line number Diff line change
Expand Up @@ -655,13 +655,39 @@ public void testCompositeSwing() throws IOException {
gvos.write(model);
gvos.close();
String result = resultStream.toString();

System.out.println(result);


assertTrue(result.contains("Component\\n\\<\\<component\\>\\>"));
assertTrue(result.contains("Container\\n\\<\\<composite\\>\\>"));
assertTrue(result.contains("JLabel\\n\\<\\<composite\\>\\>"));
assertTrue(result.contains("JPanel\\n\\<\\<composite\\>\\>"));
assertTrue(result.contains("JComponent\\n\\<\\<composite\\>\\>"));
}

@Test
public void testCompositeTestClasses() throws IOException {
String[] args = new String[] { "testClasses.TestCompositeComponent", "testClasses.TestCompositeComposite1", "testClasses.TestCompositeComposite2", "testClasses.TestCompositeComposite3", "testClasses.TestCompositeLeaf1", "testClasses.TestCompositeLeaf2" };

Model model = new Model();

for (String className : args) {
IClass clazz = DesignParser.parse(className, model);
model.addClass(clazz);
}

PatternRecognizer.recognize(model);
ByteArrayOutputStream resultStream = new ByteArrayOutputStream();
GraphVizOutputStream gvos = new GraphVizOutputStream(resultStream);
gvos.write(model);
gvos.close();
String result = resultStream.toString();

System.out.println(result);

assertTrue(result.contains("TestCompositeComponent\\n\\<\\<component\\>\\>"));
assertTrue(result.contains("TestCompositeComposite1\\n\\<\\<composite\\>\\>"));
assertTrue(result.contains("TestCompositeComposite2\\n\\<\\<composite\\>\\>"));
assertTrue(result.contains("TestCompositeComposite3\\n\\<\\<composite\\>\\>"));
assertTrue(result.contains("TestCompositeLeaf1\\n\\<\\<leaf\\>\\>"));
assertTrue(result.contains("TestCompositeLeaf2\\n\\<\\<leaf\\>\\>"));
}
}
10 changes: 10 additions & 0 deletions CSSE374-Eleven/test/testClasses/TestCompositeComposite3.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package testClasses;

public class TestCompositeComposite3 extends TestCompositeComponent {
private TestCompositeComponent[] children;

public TestCompositeComposite3() {
this.children = new TestCompositeComponent[]{ };
}

}

0 comments on commit a5d1b12

Please sign in to comment.