File path: /jfreechart-1.0.10/tests/org/jfree/chart/urls/junit/CustomCategoryURLGeneratorTests.java | File path: /jfreechart-1.0.10/tests/org/jfree/chart/urls/junit/CustomXYURLGeneratorTests.java | |||
Method name: void testCloning()
|
Method name: void testCloning()
|
|||
Number of AST nodes: 18 | Number of AST nodes: 18 | |||
1 | CustomCategoryURLGenerator g1 = new CustomCategoryURLGenerator();↵ | 1 | CustomXYURLGenerator g1 = new CustomXYURLGenerator();↵ | |
2 | List u1 = new java.util.ArrayList();↵ | 2 | List u1 = new java.util.ArrayList();↵ | |
3 | u1.add("URL A1");↵ | 3 | u1.add("URL A1");↵ | |
4 | u1.add("URL A2");↵ | 4 | u1.add("URL A2");↵ | |
5 | u1.add("URL A3");↵ | 5 | u1.add("URL A3");↵ | |
6 | g1.addURLSeries(u1);↵ | 6 | g1.addURLSeries(u1);↵ | |
7 | CustomCategoryURLGenerator g2 = null;↵ | 7 | CustomXYURLGenerator g2 = null;↵ | |
8 | try {↵ | 8 | try {↵ | |
9 | g2 = (CustomCategoryURLGenerator) g1.clone();↵ | 9 | g2 = (CustomXYURLGenerator) g1.clone();↵ | |
10 | }↵ | 10 | }↵ | |
11 | catch (CloneNotSupportedException e) {↵ | 11 | catch (CloneNotSupportedException e) {↵ | |
12 | e.printStackTrace();↵ | 12 | e.printStackTrace();↵ | |
13 | }↵ | 13 | }↵ | |
14 | assertTrue(g1 != g2);↵ | 14 | assertTrue(g1 != g2);↵ | |
15 | assertTrue(g1.getClass() == g2.getClass());↵ | 15 | assertTrue(g1.getClass() == g2.getClass());↵ | |
16 | assertTrue(g1.equals(g2));↵ | 16 | assertTrue(g1.equals(g2));↵ | |
17 | // check independence↵ | 17 | // check independence↵ | |
18 | List u2 = new java.util.ArrayList();↵ | 18 | List u2 = new java.util.ArrayList();↵ | |
19 | u2.add("URL XXX");↵ | 19 | u2.add("URL XXX");↵ | |
20 | g1.addURLSeries(u2);↵ | 20 | g1.addURLSeries(u2);↵ | |
21 | assertFalse(g1.equals(g2));↵ | 21 | assertFalse(g1.equals(g2));↵ | |
22 | g2.addURLSeries(new java.util.ArrayList(u2));↵ | 22 | g2.addURLSeries(new java.util.ArrayList(u2));↵ | |
23 | assertTrue(g1.equals(g2)); | 23 |
| |
See real code fragment | See real code fragment |
Number of common nesting structure subtrees | 1 |
Number of refactorable cases | 0 |
Number of non-refactorable cases | 1 |
Time elapsed for finding largest common nesting structure subtrees (ms) | 0.1 |
Clones location | Clones are in different classes having the same super class |
Number of node comparisons | 72 |
Number of mapped statements | 18 |
Number of unmapped statements in the first code fragment | 0 |
Number of unmapped statements in the second code fragment | 0 |
Time elapsed for statement mapping (ms) | 28.6 |
Clone type | Type 2 |
ID | Statement | ID | Statement | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | CustomCategoryURLGenerator g1 = new CustomCategoryURLGenerator(); |
| 1 | CustomXYURLGenerator g1 = new CustomXYURLGenerator(); | ||||||||||||||||||
2 | List u1 = new java.util.ArrayList(); | 2 | List u1 = new java.util.ArrayList(); | |||||||||||||||||||
3 | u1.add("URL A1"); | 3 | u1.add("URL A1"); | |||||||||||||||||||
4 | u1.add("URL A2"); | 4 | u1.add("URL A2"); | |||||||||||||||||||
5 | u1.add("URL A3"); | 5 | u1.add("URL A3"); | |||||||||||||||||||
6 | g1.addURLSeries(u1); |
| 6 | g1.addURLSeries(u1); | ||||||||||||||||||
7 | CustomCategoryURLGenerator g2 = null; |
| 7 | CustomXYURLGenerator g2 = null; | ||||||||||||||||||
8 | try | 8 | try | |||||||||||||||||||
9 | g2 = (CustomCategoryURLGenerator)g1.clone(); |
| 9 | g2 = (CustomXYURLGenerator)g1.clone(); | ||||||||||||||||||
10 | assertTrue(g1 != g2); |
| 10 | assertTrue(g1 != g2); | ||||||||||||||||||
11 | assertTrue(g1.getClass() == g2.getClass()); |
| 11 | assertTrue(g1.getClass() == g2.getClass()); | ||||||||||||||||||
12 | assertTrue(g1.equals(g2)); |
| 12 | assertTrue(g1.equals(g2)); | ||||||||||||||||||
13 | List u2 = new java.util.ArrayList(); | 13 | List u2 = new java.util.ArrayList(); | |||||||||||||||||||
14 | u2.add("URL XXX"); | 14 | u2.add("URL XXX"); | |||||||||||||||||||
15 | g1.addURLSeries(u2); |
| 15 | g1.addURLSeries(u2); | ||||||||||||||||||
16 | assertFalse(g1.equals(g2)); |
| 16 | assertFalse(g1.equals(g2)); | ||||||||||||||||||
17 | g2.addURLSeries(new java.util.ArrayList(u2)); |
| 17 | g2.addURLSeries(new java.util.ArrayList(u2)); | ||||||||||||||||||
18 | assertTrue(g1.equals(g2)); |
| 18 | assertTrue(g1.equals(g2)); |
Row | Violation |
---|---|
1 | Expression g1 cannot be unified with expression g1 , because common superclass org.jfree.util.PublicCloneable does not declare member(s) public void addURLSeries(List#RAW) |
2 | Expression (CustomCategoryURLGenerator)g1.clone() cannot be parameterized, because it has dependencies to/from statements that will be extracted |
3 | Expression (CustomXYURLGenerator)g1.clone() cannot be parameterized, because it has dependencies to/from statements that will be extracted |
4 | Expression g1 cannot be unified with expression g1 , because common superclass org.jfree.util.PublicCloneable does not declare member(s) public final native Class<? extends org.jfree.chart.urls.CustomCategoryURLGenerator> getClass() |
5 | Expression g2 cannot be unified with expression g2 , because common superclass org.jfree.util.PublicCloneable does not declare member(s) public final native Class<? extends org.jfree.chart.urls.CustomCategoryURLGenerator> getClass() |
6 | Expression g2 cannot be unified with expression g2 , because common superclass type org.jfree.util.PublicCloneable cannot be passed as an argument to public boolean equals(java.lang.Object) |
7 | Expression g2 cannot be unified with expression g2 , because common superclass org.jfree.util.PublicCloneable does not declare member(s) public boolean equals(java.lang.Object) |
8 | Expression g1 cannot be unified with expression g1 , because common superclass org.jfree.util.PublicCloneable does not declare member(s) public boolean equals(java.lang.Object) |
9 | Expression g1 cannot be unified with expression g1 , because common superclass org.jfree.util.PublicCloneable does not declare member(s) public void addURLSeries(List#RAW) |
10 | Expression g2 cannot be unified with expression g2 , because common superclass type org.jfree.util.PublicCloneable cannot be passed as an argument to public boolean equals(java.lang.Object) |
11 | Expression g2 cannot be unified with expression g2 , because common superclass org.jfree.util.PublicCloneable does not declare member(s) public boolean equals(java.lang.Object) |
12 | Expression g1 cannot be unified with expression g1 , because common superclass org.jfree.util.PublicCloneable does not declare member(s) public boolean equals(java.lang.Object) |
13 | Expression g2 cannot be unified with expression g2 , because common superclass org.jfree.util.PublicCloneable does not declare member(s) public void addURLSeries(List#RAW) |
14 | Expression g2 cannot be unified with expression g2 , because common superclass type org.jfree.util.PublicCloneable cannot be passed as an argument to public boolean equals(java.lang.Object) |
15 | Expression g2 cannot be unified with expression g2 , because common superclass org.jfree.util.PublicCloneable does not declare member(s) public boolean equals(java.lang.Object) |
16 | Expression g1 cannot be unified with expression g1 , because common superclass org.jfree.util.PublicCloneable does not declare member(s) public boolean equals(java.lang.Object) |