Package org.nanocontainer.deployer

Source Code of org.nanocontainer.deployer.DifferenceAnalysingFolderContentHandlerTestCase

package org.nanocontainer.deployer;

import org.apache.commons.vfs.FileObject;
import org.apache.commons.vfs.FileType;
import org.jmock.Mock;
import org.jmock.MockObjectTestCase;
import org.nanocontainer.deployer.DifferenceAnalysingFolderContentHandler;
import org.nanocontainer.deployer.FolderListener;

/**
* @author Aslak Hellesøy
* @version $Revision: 2343 $
*/
public class DifferenceAnalysingFolderContentHandlerTestCase extends MockObjectTestCase {
    public void testAddedFoldersShouldCauseFolderAddedEvent() {
        Mock folderMock = mock(FileObject.class);
        DifferenceAnalysingFolderContentHandler handler = new DifferenceAnalysingFolderContentHandler((FileObject) folderMock.proxy(), null);

        Mock addedFolderMock = mock(FileObject.class);
        addedFolderMock.expects(once())
                       .method("getType")
                       .withNoArguments()
                       .will(returnValue(FileType.FOLDER));
        FileObject addedFolder = (FileObject) addedFolderMock.proxy();

        Mock folderListenerMock = mock(FolderListener.class);
        folderListenerMock.expects(once())
                          .method("folderAdded")
                          .with(same(addedFolder));
        handler.addFolderListener((FolderListener) folderListenerMock.proxy());

        handler.setCurrentChildren(new FileObject[]{addedFolder});
    }

    public void testRemovedFoldersShouldCauseFolderRemovedEvent() {
        Mock folderMock = mock(FileObject.class);
        DifferenceAnalysingFolderContentHandler handler = new DifferenceAnalysingFolderContentHandler((FileObject) folderMock.proxy(), null);

        Mock initialFolderOneMock = mock(FileObject.class);
        initialFolderOneMock.expects(once())
                            .method("getType")
                            .withNoArguments()
                            .will(returnValue(FileType.FOLDER));
        FileObject initialFolderOne = (FileObject) initialFolderOneMock.proxy();
        Mock initialFolderTwoMock = mock(FileObject.class);
        initialFolderTwoMock.expects(once())
                            .method("getType")
                            .withNoArguments()
                            .will(returnValue(FileType.FOLDER));
        initialFolderTwoMock.expects(once())
                            .method("getType")
                            .withNoArguments()
                            .will(returnValue(FileType.FOLDER));
        FileObject initialFolderTwo = (FileObject) initialFolderTwoMock.proxy();
        FileObject[] initialFolders = new FileObject[] {initialFolderOne, initialFolderTwo};

        handler.setCurrentChildren(initialFolders);

        FileObject[] foldersAfterRemoval = new FileObject[] {initialFolderOne};
        Mock folderListenerMock = mock(FolderListener.class);
        folderListenerMock.expects(once())
                          .method("folderRemoved")
                          .with(same(initialFolderTwo));
        handler.addFolderListener((FolderListener) folderListenerMock.proxy());

        handler.setCurrentChildren(foldersAfterRemoval);
    }
}
TOP

Related Classes of org.nanocontainer.deployer.DifferenceAnalysingFolderContentHandlerTestCase

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.