1 20 21 package com.methodhead.res; 22 23 import java.util.*; 24 import java.sql.*; 25 import junit.framework.*; 26 import org.apache.log4j.*; 27 import com.methodhead.persistable.*; 28 import com.methodhead.test.*; 29 import com.methodhead.tree.*; 30 import java.io.*; 31 import org.apache.commons.io.*; 32 33 public class FileTreeTest extends TestCase { 34 35 private File testDir_ = null; 36 private File testDir1_ = null; 37 private File testDir2_ = null; 38 private File testDir3_ = null; 39 private File testDir4_ = null; 40 private File testFile1_ = null; 41 private File testFile2_ = null; 42 private File testFile3_ = null; 43 private File testFile4_ = null; 44 45 private FileManager fileManager = null; 46 private File file = null; 47 private Directory directory = null; 48 private File[] files = null; 49 private String [] fileNames = null; 50 private Directory[] directories = null; 51 private List list = null; 52 private FoldingTreeNode node = null; 53 private FoldingTreeNode root = null; 54 private FileTree fileTree = null; 55 56 static { 57 TestUtils.initLogger(); 58 } 59 60 public FileTreeTest( String name ) { 61 super( name ); 62 } 63 64 private void setUpFileManager() throws IOException { 65 66 testDir_ = new File( "build/testdir" ); 70 if ( testDir_.exists() ) 71 FileUtils.deleteDirectory( testDir_ ); 72 73 testDir_.mkdir(); 77 78 testDir1_ = new File( "build/testdir/testdir1" ); 91 testDir1_.mkdir(); 92 93 testFile1_ = new File( "build/testdir/testdir1/testfile1.txt" ); 94 testFile1_.createNewFile(); 95 96 testFile2_ = new File( "build/testdir/testdir1/testfile2.txt" ); 97 testFile2_.createNewFile(); 98 99 testDir2_ = new File( "build/testdir/testdir2" ); 100 testDir2_.mkdir(); 101 102 testDir3_ = new File( "build/testdir/testdir2/testdir3" ); 103 testDir3_.mkdir(); 104 105 testDir4_ = new File( "build/testdir/testdir2/testdir4" ); 106 testDir4_.mkdir(); 107 108 testFile3_ = new File( "build/testdir/testdir2/testdir3/testfile3.txt" ); 109 testFile3_.createNewFile(); 110 111 testFile4_ = new File( "build/testdir/testdir2/testfile4.txt" ); 112 testFile4_.createNewFile(); 113 114 fileManager = new FileManager(); 115 fileManager.addDirectory( "Dir1", testDir1_ ); 116 fileManager.addDirectory( "Dir2", testDir2_ ); 117 } 118 119 private void setUpFileTree() { 120 fileTree = new FileTree(); 121 fileTree.build( fileManager ); 122 } 123 124 protected void setUp() { 125 try { 126 } 127 catch ( Exception e ) { 128 fail( e.getMessage() ); 129 } 130 } 131 132 protected void tearDown() { 133 } 134 135 public void testNewNode() { 136 try { 137 setUpFileManager(); 138 139 fileTree = new FileTree(); 140 141 node = fileTree.newNode( "Dir1" ); 142 assertNotNull( node ); 143 assertEquals( "Dir1", node.getLabel() ); 144 assertEquals( "listFiles.do?path=Dir1", node.getUrl() ); 145 assertEquals( false, node.getOpened() ); 146 assertEquals( 0, node.getChildCount() ); 147 assertEquals( "dir", node.getIconHint() ); 148 149 node = fileTree.newNode( "Dir2/testdir3" ); 150 assertNotNull( node ); 151 assertEquals( "testdir3", node.getLabel() ); 152 assertEquals( "listFiles.do?path=Dir2/testdir3", node.getUrl() ); 153 assertEquals( false, node.getOpened() ); 154 assertEquals( 0, node.getChildCount() ); 155 assertEquals( "dir", node.getIconHint() ); 156 } 157 catch ( Exception e ) { 158 e.printStackTrace(); 159 fail(); 160 } 161 } 162 163 public void testUpdateNode() { 164 try { 165 setUpFileManager(); 166 167 fileTree = new FileTree(); 168 169 node = fileTree.newNode( "Dir1" ); 173 node.setOpened( true ); 174 175 fileTree.updateNode( node, "Dir2/testdir3" ); 176 assertNotNull( node ); 177 assertEquals( "testdir3", node.getLabel() ); 178 assertEquals( "listFiles.do?path=Dir2/testdir3", node.getUrl() ); 179 assertEquals( true, node.getOpened() ); 180 assertEquals( 0, node.getChildCount() ); 181 assertEquals( "dir", node.getIconHint() ); 182 } 183 catch ( Exception e ) { 184 e.printStackTrace(); 185 fail(); 186 } 187 } 188 189 public void testBuildNode() { 190 try { 191 setUpFileManager(); 192 193 fileTree = new FileTree(); 194 195 node = fileTree.buildNode( "Dir1", testDir1_ ); 196 assertNotNull( node ); 197 assertEquals( "Dir1", node.getLabel() ); 198 assertEquals( "listFiles.do?path=Dir1", node.getUrl() ); 199 assertEquals( false, node.getOpened() ); 200 assertEquals( 0, node.getChildCount() ); 201 202 node = fileTree.buildNode( "Dir2", testDir2_ ); 203 assertNotNull( node ); 204 assertEquals( "Dir2", node.getLabel() ); 205 assertEquals( "listFiles.do?path=Dir2", node.getUrl() ); 206 assertEquals( false, node.getOpened() ); 207 assertEquals( 2, node.getChildCount() ); 208 209 node = ( FoldingTreeNode )node.getChildAt( 0 ); 210 assertNotNull( node ); 211 assertEquals( "testdir3", node.getLabel() ); 212 assertEquals( "listFiles.do?path=Dir2/testdir3", node.getUrl() ); 213 assertEquals( false, node.getOpened() ); 214 assertEquals( 0, node.getChildCount() ); 215 } 216 catch ( Exception e ) { 217 e.printStackTrace(); 218 fail(); 219 } 220 } 221 222 public void testBuild() { 223 try { 224 setUpFileManager(); 225 226 fileTree = new FileTree(); 227 fileTree.build( fileManager ); 228 229 assertNotNull( fileTree.getRoot() ); 230 231 root = ( FoldingTreeNode )fileTree.getRoot(); 232 assertEquals( 2, root.getChildCount() ); 233 assertEquals( true, root.getOpened() ); 234 235 node = ( FoldingTreeNode )root.getChildAt( 0 ); 236 assertEquals( "Dir1", node.getLabel() ); 237 assertEquals( "listFiles.do?path=Dir1", node.getUrl() ); 238 assertEquals( "dir", node.getIconHint() ); 239 assertEquals( 0, node.getChildCount() ); 240 assertEquals( false, node.getOpened() ); 241 242 node = ( FoldingTreeNode )root.getChildAt( 1 ); 243 assertEquals( "Dir2", node.getLabel() ); 244 assertEquals( "listFiles.do?path=Dir2", node.getUrl() ); 245 assertEquals( "dir", node.getIconHint() ); 246 assertEquals( 2, node.getChildCount() ); 247 assertEquals( false, node.getOpened() ); 248 249 node = ( FoldingTreeNode )node.getChildAt( 0 ); 250 assertEquals( "testdir3", node.getLabel() ); 251 assertEquals( "listFiles.do?path=Dir2/testdir3", node.getUrl() ); 252 assertEquals( "dir", node.getIconHint() ); 253 assertEquals( false, node.getOpened() ); 254 } 255 catch ( Exception e ) { 256 e.printStackTrace(); 257 fail(); 258 } 259 } 260 261 public void testFind() { 262 try { 263 setUpFileManager(); 264 setUpFileTree(); 265 266 node = fileTree.find( "Dir1" ); 270 assertNotNull( node ); 271 assertEquals( "Dir1", node.getLabel() ); 272 273 node = fileTree.find( "Dir2/testdir3" ); 277 assertNotNull( node ); 278 assertEquals( "testdir3", node.getLabel() ); 279 } 280 catch ( Exception e ) { 281 e.printStackTrace(); 282 fail(); 283 } 284 } 285 286 public void testMove() { 287 try { 288 setUpFileManager(); 292 setUpFileTree(); 293 294 fileTree.move( "Dir2", new String [] { "testdir3" }, "Dir1", "newtestdir3" ); 295 296 node = fileTree.find( "Dir1/newtestdir3" ); 297 assertNotNull( node ); 298 299 node = fileTree.find( "Dir2/testdir3" ); 300 assertNull( node ); 301 302 setUpFileManager(); 306 setUpFileTree(); 307 308 fileTree.move( "Dir2", new String [] { "testdir3", "testdir4" }, "Dir1", "" ); 309 310 node = fileTree.find( "Dir1/testdir3" ); 311 assertNotNull( node ); 312 313 node = fileTree.find( "Dir1/testdir4" ); 314 assertNotNull( node ); 315 316 node = fileTree.find( "Dir2/testdir3" ); 317 assertNull( node ); 318 319 node = fileTree.find( "Dir2/testdir4" ); 320 assertNull( node ); 321 } 322 catch ( Exception e ) { 323 e.printStackTrace(); 324 fail(); 325 } 326 } 327 328 public void testCopy() { 329 try { 330 setUpFileManager(); 334 setUpFileTree(); 335 336 fileTree.copy( "Dir2", new String [] { "testdir3" }, "Dir1", "newtestdir3" ); 337 338 node = fileTree.find( "Dir1/newtestdir3" ); 339 assertNotNull( node ); 340 341 node = fileTree.find( "Dir2/testdir3" ); 342 assertNotNull( node ); 343 344 setUpFileManager(); 348 setUpFileTree(); 349 350 fileTree.copy( "Dir2", new String [] { "testdir3", "testdir4" }, "Dir1", "" ); 351 352 node = fileTree.find( "Dir1/testdir3" ); 353 assertNotNull( node ); 354 355 node = fileTree.find( "Dir1/testdir4" ); 356 assertNotNull( node ); 357 358 node = fileTree.find( "Dir2/testdir3" ); 359 assertNotNull( node ); 360 361 node = fileTree.find( "Dir2/testdir4" ); 362 assertNotNull( node ); 363 } 364 catch ( Exception e ) { 365 e.printStackTrace(); 366 fail(); 367 } 368 } 369 370 public void testDelete() { 371 try { 372 setUpFileManager(); 376 setUpFileTree(); 377 378 fileTree.delete( "Dir2", new String [] { "testdir3", "testdir4" } ); 379 380 node = fileTree.find( "Dir2/testdir3" ); 381 assertNull( node ); 382 383 node = fileTree.find( "Dir2/testdir4" ); 384 assertNull( node ); 385 } 386 catch ( Exception e ) { 387 e.printStackTrace(); 388 fail(); 389 } 390 } 391 392 public void testCreate() { 393 try { 394 setUpFileManager(); 398 setUpFileTree(); 399 400 fileTree.create( "Dir2", "testdir5", false ); 401 402 node = fileTree.find( "Dir2/testdir5" ); 403 assertNull( node ); 404 405 fileTree.create( "Dir2", "testdir5", true ); 406 407 node = fileTree.find( "Dir2/testdir5" ); 408 assertNotNull( node ); 409 } 410 catch ( Exception e ) { 411 e.printStackTrace(); 412 fail(); 413 } 414 } 415 } 416 | Popular Tags |