KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > nanocontainer > deployer > DifferenceAnalysingFolderContentHandlerTestCase


1 package org.nanocontainer.deployer;
2
3 import org.apache.commons.vfs.FileObject;
4 import org.apache.commons.vfs.FileType;
5 import org.jmock.Mock;
6 import org.jmock.MockObjectTestCase;
7 import org.nanocontainer.deployer.DifferenceAnalysingFolderContentHandler;
8 import org.nanocontainer.deployer.FolderListener;
9
10 /**
11  * @author Aslak Hellesøy
12  * @version $Revision: 2343 $
13  */

14 public class DifferenceAnalysingFolderContentHandlerTestCase extends MockObjectTestCase {
15     public void testAddedFoldersShouldCauseFolderAddedEvent() {
16         Mock folderMock = mock(FileObject.class);
17         DifferenceAnalysingFolderContentHandler handler = new DifferenceAnalysingFolderContentHandler((FileObject) folderMock.proxy(), null);
18
19         Mock addedFolderMock = mock(FileObject.class);
20         addedFolderMock.expects(once())
21                        .method("getType")
22                        .withNoArguments()
23                        .will(returnValue(FileType.FOLDER));
24         FileObject addedFolder = (FileObject) addedFolderMock.proxy();
25
26         Mock folderListenerMock = mock(FolderListener.class);
27         folderListenerMock.expects(once())
28                           .method("folderAdded")
29                           .with(same(addedFolder));
30         handler.addFolderListener((FolderListener) folderListenerMock.proxy());
31
32         handler.setCurrentChildren(new FileObject[]{addedFolder});
33     }
34
35     public void testRemovedFoldersShouldCauseFolderRemovedEvent() {
36         Mock folderMock = mock(FileObject.class);
37         DifferenceAnalysingFolderContentHandler handler = new DifferenceAnalysingFolderContentHandler((FileObject) folderMock.proxy(), null);
38
39         Mock initialFolderOneMock = mock(FileObject.class);
40         initialFolderOneMock.expects(once())
41                             .method("getType")
42                             .withNoArguments()
43                             .will(returnValue(FileType.FOLDER));
44         FileObject initialFolderOne = (FileObject) initialFolderOneMock.proxy();
45         Mock initialFolderTwoMock = mock(FileObject.class);
46         initialFolderTwoMock.expects(once())
47                             .method("getType")
48                             .withNoArguments()
49                             .will(returnValue(FileType.FOLDER));
50         initialFolderTwoMock.expects(once())
51                             .method("getType")
52                             .withNoArguments()
53                             .will(returnValue(FileType.FOLDER));
54         FileObject initialFolderTwo = (FileObject) initialFolderTwoMock.proxy();
55         FileObject[] initialFolders = new FileObject[] {initialFolderOne, initialFolderTwo};
56
57         handler.setCurrentChildren(initialFolders);
58
59         FileObject[] foldersAfterRemoval = new FileObject[] {initialFolderOne};
60         Mock folderListenerMock = mock(FolderListener.class);
61         folderListenerMock.expects(once())
62                           .method("folderRemoved")
63                           .with(same(initialFolderTwo));
64         handler.addFolderListener((FolderListener) folderListenerMock.proxy());
65
66         handler.setCurrentChildren(foldersAfterRemoval);
67     }
68 }
Popular Tags