Statistics
| Revision:

gvsig-scripting / org.gvsig.scripting / trunk / org.gvsig.scripting / org.gvsig.scripting.lib / org.gvsig.scripting.lib.api / src / test / java / org / gvsig / scripting / TestManager.java @ 468

History | View | Annotate | Download (2.89 KB)

1
package org.gvsig.scripting;
2

    
3
import java.io.File;
4
import java.util.Iterator;
5
import java.util.List;
6
import java.util.Map;
7
import java.util.Set;
8

    
9
import junit.framework.Assert;
10

    
11
import org.gvsig.tools.junit.AbstractLibraryAutoInitTestCase;
12

    
13
public abstract class TestManager extends AbstractLibraryAutoInitTestCase {
14

    
15
        protected ScriptingManager manager;
16
        
17
        @Override
18
        protected void doSetUp() throws Exception {
19
                manager = ScriptingLocator.getManager();
20
        }
21
        
22
        public void setWorkingFolder(){
23
                File file =new File(this.getClass().getClassLoader().getResource("org/gvsig/scripting/home").getFile());
24
//                FIXME: hay que sustituirlo por manager.setHomeFolder(home) 
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 void testUserFolderPath(){
49
                setWorkingFolder();
50
                Assert.assertEquals(manager.getRootUserFolder().getAbsolutePath(), manager.getUserFolder().getFile().getAbsolutePath());
51
        }
52
        
53
        public void testExistsScriptId(){
54
                setWorkingFolder();
55
                manager.createUnit(ScriptingManager.UNIT_SCRIPT,manager.getUserFolder(),"test_script.py");
56
                
57
                Assert.assertEquals(false, manager.validateUnitId(manager.getUserFolder(),"test_script"));
58
                Assert.assertEquals(true, manager.validateUnitId(manager.getUserFolder(),"test_script2"));
59
                deleteWorkingFolderContent();
60
        }
61

    
62

    
63
        public void checkUnitValues(ScriptingUnit unit1, ScriptingUnit unit2){
64
                Assert.assertEquals(unit1.getId(),unit2.getId());
65
                Assert.assertEquals(unit1.getName(),unit2.getName());
66
        }
67
        
68
        public void testRegisteringSystemFolders(){
69
                ScriptingFolder folder_parent = (ScriptingFolder) manager.createUnit(ScriptingManager.UNIT_FOLDER,manager.getUserFolder(), "test");
70
                ScriptingFolder folder = (ScriptingFolder) manager.createUnit(ScriptingManager.UNIT_FOLDER,folder_parent, "test");
71
                ScriptingScript script = (ScriptingScript)manager.createUnit(ScriptingManager.UNIT_SCRIPT,folder, "test_script.py");
72
                
73
                manager.registerSystemFolder("test", folder.getFile());
74
                
75
                List<ScriptingUnit> units = manager.getSystemFolder().getUnits();
76

    
77
        Iterator<ScriptingUnit> it = units.iterator();
78
                ScriptingUnit unit = null;
79
                while(it.hasNext()){
80
                        unit = it.next();
81
                        checkUnitValues(unit, folder);
82
                }
83
                Assert.assertNotNull(unit);
84
                
85
                ScriptingScript script2 = (ScriptingScript) manager.getScript(new File(((ScriptingFolder)unit).getFile(),script.getId()+".py"));
86
                checkUnitValues(script,script2);
87
                deleteWorkingFolderContent();
88
        }
89

    
90

    
91
}