gvsig-scripting / trunk / org.gvsig.scripting / org.gvsig.scripting.lib / org.gvsig.scripting.lib.api / src / test / java / org / gvsig / scripting / TestFolder.java @ 212
History | View | Annotate | Download (3.37 KB)
1 |
package org.gvsig.scripting; |
---|---|
2 |
|
3 |
import java.io.File; |
4 |
import java.util.Iterator; |
5 |
import java.util.List; |
6 |
|
7 |
import junit.framework.Assert; |
8 |
|
9 |
import org.gvsig.tools.junit.AbstractLibraryAutoInitTestCase; |
10 |
|
11 |
public abstract class TestFolder extends AbstractLibraryAutoInitTestCase { |
12 |
|
13 |
protected ScriptingManager manager;
|
14 |
|
15 |
@Override
|
16 |
protected void doSetUp() throws Exception { |
17 |
manager = ScriptingLocator.getManager(); |
18 |
} |
19 |
|
20 |
public void setWorkingFolder(){ |
21 |
File file =new File(this.getClass().getClassLoader().getResource("org/gvsig/scripting/home").getFile()); |
22 |
if(file.exists()){
|
23 |
file.mkdir(); |
24 |
} |
25 |
manager.setRootUserFolder(file.getAbsolutePath()); |
26 |
} |
27 |
|
28 |
public void deleteFolderContent(ScriptingFolder folder){ |
29 |
List<ScriptingUnit> units = folder.getUnits();
|
30 |
Iterator<ScriptingUnit> it = units.iterator();
|
31 |
while(it.hasNext()){
|
32 |
ScriptingUnit unit = it.next(); |
33 |
if(unit instanceof ScriptingFolder){ |
34 |
deleteFolderContent((ScriptingFolder)unit); |
35 |
folder.remove(unit); |
36 |
}else{
|
37 |
folder.remove(unit); |
38 |
} |
39 |
} |
40 |
} |
41 |
|
42 |
public void deleteWorkingFolderContent(){ |
43 |
setWorkingFolder(); |
44 |
ScriptingFolder folder = manager.getUserFolder(); |
45 |
deleteFolderContent(folder); |
46 |
} |
47 |
|
48 |
public File getFile(ScriptingFolder folder, String name){ |
49 |
return new File(folder.getPath()+File.separator+File.separator+name); |
50 |
} |
51 |
|
52 |
public void checkFolder(ScriptingFolder folder, String fName){ |
53 |
File ffolder = getFile(folder, fName);
|
54 |
Assert.assertTrue(ffolder.exists()); |
55 |
Assert.assertTrue(ffolder.isDirectory()); |
56 |
} |
57 |
|
58 |
public void checkScriptDefaultValues(ScriptingScript script){ |
59 |
Assert.assertEquals("test_script", script.getId());
|
60 |
Assert.assertEquals("test_script", script.getName());
|
61 |
Assert.assertEquals("python", script.getLangName());
|
62 |
Assert.assertEquals("main", script.getMainName());
|
63 |
} |
64 |
|
65 |
public void testCreation(){ |
66 |
deleteWorkingFolderContent(); |
67 |
ScriptingFolder folder = (ScriptingFolder) manager.createUnit(ScriptingManager.UNIT_FOLDER,manager.getUserFolder(),"test_folder");
|
68 |
|
69 |
checkFolder(manager.getUserFolder(),folder.getId()); |
70 |
} |
71 |
|
72 |
public void testList(){ |
73 |
testCreation(); |
74 |
ScriptingFolder folder = manager.getFolder(getFile(manager.getUserFolder(),"test_folder"));
|
75 |
|
76 |
ScriptingScript script = (ScriptingScript) manager.createUnit(ScriptingManager.UNIT_SCRIPT,folder, "test_script.py");
|
77 |
|
78 |
List<ScriptingUnit> units = folder.getUnits();
|
79 |
Iterator<ScriptingUnit> it = units.iterator();
|
80 |
while(it.hasNext()){
|
81 |
ScriptingUnit unit = it.next(); |
82 |
checkScriptDefaultValues((ScriptingScript) unit); |
83 |
} |
84 |
|
85 |
folder.remove(script); |
86 |
Assert.assertTrue(folder.getUnits().isEmpty()); |
87 |
} |
88 |
|
89 |
public void testRename(){ |
90 |
testCreation(); |
91 |
ScriptingFolder folder = manager.getFolder(getFile(manager.getUserFolder(),"test_folder"));
|
92 |
|
93 |
Assert.assertFalse(folder.rename("test_folder"));
|
94 |
Assert.assertTrue(folder.rename("test_folder2"));
|
95 |
|
96 |
Assert.assertEquals("test_folder2", folder.getName());
|
97 |
deleteWorkingFolderContent(); |
98 |
} |
99 |
|
100 |
public void testMove(){ |
101 |
testCreation(); |
102 |
ScriptingScript script = (ScriptingScript) manager.createUnit(ScriptingManager.UNIT_SCRIPT,manager.getUserFolder(), "test_script.py");
|
103 |
ScriptingFolder folder = manager.getFolder(getFile(manager.getUserFolder(),"test_folder"));
|
104 |
Assert.assertEquals(script.getParent().getPath(),manager.getUserFolder().getPath()); |
105 |
|
106 |
folder.add(script); |
107 |
Assert.assertEquals(script.getParent(),folder); |
108 |
deleteWorkingFolderContent(); |
109 |
} |
110 |
|
111 |
|
112 |
} |