1   package org.naftulin.classpathexplorer.dublicate.imlp;
2   
3   import org.naftulin.classpathexplorer.AccessibleResource;
4   import org.naftulin.classpathexplorer.dublicate.imlp.DuplicateResourcesReport;
5   import org.naftulin.classpathexplorer.dublicate.imlp.ResourceRegistry;
6   
7   import junit.framework.TestCase;
8   
9   public class DuplicateResourcesReportTest extends TestCase {
10  
11  
12  	private static final int NUM_DUPLICATE_RESOUCES = 5;
13  
14  	/*
15  	 * Test method for 'com.naftulin.classpathexplorer.dublicate.imlp.DuplicateResourcesReport.getDublicateResources()'
16  	 */
17  	public void testGetDublicateResources() {
18  		//for this project we should not have any dups
19  		DuplicateResourcesReport report = new DuplicateResourcesReport();
20  		AccessibleResource[] dups = report.getDublicateResources();
21  		
22  		ResourceRegistry rr = ResourceRegistry.getInstance();
23  		String[] arch = rr.getPath();
24  		for(int i=0; i < arch.length; ++i){
25  			System.out.println("part of system path is " + arch[i] );
26  		}
27  		assertNotNull("dups", dups);
28  		if (arch.length >= 3) {
29  			//expecting 5 dups - manifest and text files
30  			assertEquals("dups.length", NUM_DUPLICATE_RESOUCES, dups.length);
31  		} else {
32  			assertEquals("dups.length", 0, dups.length);
33  		}
34  		
35  		//now we will filter only classes - should not be any dups
36  		String[] acceptFilter = {".class"};
37  		report.setAccesptedExtensions(acceptFilter);
38  		dups = report.getDublicateResources();
39  		assertNotNull("dups", dups);
40  		assertEquals("dups.length", 0, dups.length);
41  		//now we will filter only MF and txt files  - should be exactly 11
42  		acceptFilter = new String[]{".MF", ".txt"};
43  		report.setAccesptedExtensions(acceptFilter);
44  		dups = report.getDublicateResources();
45  		assertNotNull("dups", dups);
46  		if (arch.length >= 3) {
47  			//expecting 5 dups - manifest and text files
48  			assertEquals("dups.length", NUM_DUPLICATE_RESOUCES, dups.length);
49  		} else {
50  			assertEquals("dups.length", 0, dups.length);
51  		}
52  	}
53  
54  	/*
55  	 * Test method for 'com.naftulin.classpathexplorer.dublicate.imlp.DuplicateResourcesReport.getDublicateResourcesAsStringReport()'
56  	 */
57  	public void testGetDublicateResourcesAsStringReport() {
58  		DuplicateResourcesReport report = new DuplicateResourcesReport();
59  		String dups = report.getDublicateResourcesAsStringReport();
60  		
61  		assertNotNull("dups", dups);
62  		ResourceRegistry rr = ResourceRegistry.getInstance();
63  		String[] arch = rr.getPath();
64  		if (arch.length >= 3) {
65  			assertTrue("contains MANIFEST.MF", dups.indexOf("MANIFEST.MF")>=0);
66  		}
67  	}
68  
69  	/*
70  	 * Test method for 'com.naftulin.classpathexplorer.dublicate.imlp.DuplicateResourcesReport.getDublicateResourcesAsXML()'
71  	 */
72  	public void testGetDublicateResourcesAsXML() {
73  		DuplicateResourcesReport report = new DuplicateResourcesReport();
74  		String dups = report.getDublicateResourcesAsXmlReport();
75  		
76  		assertNotNull("dups", dups);
77  		ResourceRegistry rr = ResourceRegistry.getInstance();
78  		String[] arch = rr.getPath();
79  		if (arch.length >= 3) {
80  			assertTrue("contains MANIFEST.MF", dups.indexOf("MANIFEST.MF")>=0);
81  		}
82  	}
83  
84  }