File path: /columba-1.4-src/contact/src/test/java/org/columba/addressbook/folder/VirtualFolderContactTest.java | File path: /columba-1.4-src/mail/src/test/java/org/columba/mail/filter/plugins/DateFilterTest.java | |||
Method name: void testAdd()
|
Method name: void testBefore()
|
|||
Number of AST nodes: 8 | Number of AST nodes: 9 | |||
1 | ContactModel c = new ContactModel↵ | 1 | Object uid = addMessage();↵ | |
2 | ();↵ | 2 | GregorianCalendar c = new GregorianCalendar();↵ | |
3 | c.setNickName("nickname");↵ | 3 | c.set↵ | |
4 | c.addEmail(new EmailModel("name@mail.com", EmailModel.TYPE_HOME)↵ | 4 | (2004, 5, 10);↵ | |
5 | Date date = c.getTime();↵ | |||
5 | );↵ | 6 | getSourceFolder().setAttribute(uid, "columba.date", date);↵ | |
6 | String parentId = getSourceFolder().add(c);↵ | 7 | ↵ | |
7 | VirtualFolder vf = new VirtualFold↵ | 8 | // create filter configuration↵ | |
9 | MailFilterCriteria criteria = MailFilterFactory↵ | |||
10 | .createDateBefore("Jan 17, 2005");↵ | |||
11 | // create filter↵ | |||
8 | er();↵ | 12 | DateFilter filter = new DateFilter();↵ | |
9 | ↵ | |||
10 | String id = vf.add(getSourceFolder(), parentId↵ | 13 | // init configuration↵ | |
11 | );↵ | 14 | filter.setUp(criteria);↵ | |
12 | ↵ | |||
13 | IContactModel c2 = vf.get(id);↵ | 15 | ↵ | |
14 | assertEquals("nickname", c2.getNickName()↵ | 16 | // execute filter↵ | |
15 | ); | 17 | filter.process(getSourceFolder(), uid); | |
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.0 |
Clones location | Clones are in different classes having the same super class |
Number of node comparisons | 66 |
Number of mapped statements | 1 |
Number of unmapped statements in the first code fragment | 7 |
Number of unmapped statements in the second code fragment | 8 |
Time elapsed for statement mapping (ms) | 0.0 |
Clone type | Type 3 |
ID | Statement | ID | Statement | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Object uid = addMessage(); | |||||||||||||||||||||
1 | ContactModel c = new ContactModel(); |
| | ||||||||||||||||||||
|
| 2 | GregorianCalendar c = new GregorianCalendar(); | ||||||||||||||||||||
2 | c.setNickName("nickname"); |
| | ||||||||||||||||||||
|
| 3 | c.set(2004, 5, 10); | ||||||||||||||||||||
3 | c.addEmail(new EmailModel("name@mail.com", EmailModel.TYPE_HOME)); |
| | ||||||||||||||||||||
|
| 4 | Date date = c.getTime(); | ||||||||||||||||||||
4 | String parentId = getSourceFolder().add(c); | | |||||||||||||||||||||
| 5 | getSourceFolder().setAttribute(uid, "columba.date", date); | |||||||||||||||||||||
| 6 | MailFilterCriteria criteria = MailFilterFactory.createDateBefore("Jan 17, 2005"); | |||||||||||||||||||||
5 | VirtualFolder vf = new VirtualFolder(); |
| 7 | DateFilter filter = new DateFilter(); | |||||||||||||||||||
6 | String id = vf.add(getSourceFolder(), parentId); |
| | ||||||||||||||||||||
7 | IContactModel c2 = vf.get(id); |
| | ||||||||||||||||||||
|
| 8 | filter.setUp(criteria); | ||||||||||||||||||||
8 | assertEquals("nickname", c2.getNickName()); | | |||||||||||||||||||||
|
| 9 | filter.process(getSourceFolder(), uid); |
Row | Violation |
---|---|
1 | Unmatched statement ContactModel c=new ContactModel(); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
2 | Unmatched statement GregorianCalendar c=new GregorianCalendar(); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
3 | Unmatched statement c.setNickName("nickname"); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
4 | Unmatched statement c.set(2004,5,10); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
5 | Unmatched statement c.addEmail(new EmailModel("name@mail.com",EmailModel.TYPE_HOME)); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
6 | Unmatched statement Date date=c.getTime(); cannot be moved before the extracted code, because it has control dependencies from statements that will be extracted |
7 | Unmatched statement String id=vf.add(getSourceFolder(),parentId); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
8 | Unmatched statement IContactModel c2=vf.get(id); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
9 | Unmatched statement filter.setUp(criteria); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
10 | Unmatched statement filter.process(getSourceFolder(),uid); cannot be moved before or after the extracted code, because it has dependencies to/from statements that will be extracted |
11 | Clone fragment #1 returns variable vf with type org.columba.addressbook.folder.virtual.VirtualFolder , while Clone fragment #2 returns variable filter with type org.columba.mail.filter.plugins.DateFilter |
12 | The refactoring of the clones is infeasible, because classes org.columba.addressbook.folder.VirtualFolderContactTest and org.columba.mail.filter.plugins.DateFilterTest do not have a common superclass |