Replaced easymock by mockito.
[utils] / support / general / src / test / java / org / wamblee / io / DirectoryMonitorTest.java
index 835c696305fcd35825c03b70b3b55a412c34077f..347857da528b1ef04905ab2a630c1c3f122cb5c3 100644 (file)
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */ 
+ */
 package org.wamblee.io;
 
-import org.apache.oro.io.AwkFilenameFilter;
-import org.easymock.EasyMock;
-
+import static org.mockito.Mockito.*;
 import junit.framework.TestCase;
 
+import org.apache.oro.io.AwkFilenameFilter;
+import org.wamblee.test.ResettableMock;
+
 public class DirectoryMonitorTest extends TestCase {
 
        private static final String REGEX = "^.*\\.txt$";
        private static final String FILE1 = "file1.txt";
 
        private TestData _data;
-       private DirectoryMonitor.Listener _listener;
+       private ResettableMock<DirectoryMonitor.Listener> _listener;
+
        private DirectoryMonitor _monitor;
 
        @Override
@@ -34,97 +36,88 @@ public class DirectoryMonitorTest extends TestCase {
                super.setUp();
                _data = new TestData(this);
                _data.clean();
-               _listener = EasyMock.createStrictMock(DirectoryMonitor.Listener.class);
+               _listener = new ResettableMock<DirectoryMonitor.Listener>(
+                               DirectoryMonitor.Listener.class);
                _monitor = new DirectoryMonitor(_data.getRoot(), new AwkFilenameFilter(
-                               REGEX), _listener);
+                               REGEX), _listener.getProxy());
        }
 
        public void testEmptyDir() {
                // Nothing is expected to be called.
                for (int i = 0; i < 10; i++) {
-                       EasyMock.replay(_listener);
                        _monitor.poll();
-                       EasyMock.verify(_listener);
-                       EasyMock.reset(_listener);
+                       verifyNoMoreInteractions(_listener.getMock());
                }
        }
 
        public void testFileCreated() {
-               _listener.fileCreated(_data.getFile(FILE1));
-               EasyMock.replay(_listener);
                _data.createFile(FILE1, "hello");
                _monitor.poll();
-               EasyMock.verify(_listener);
+               verify(_listener.getMock()).fileCreated(_data.getFile(FILE1));
        }
 
        public void testFileDeleted() {
                _data.createFile(FILE1, "hello");
                _monitor.poll();
-
-               EasyMock.reset(_listener);
+               _listener.reset();
 
                _data.deleteFile(FILE1);
-               _listener.fileDeleted(_data.getFile(FILE1));
-               EasyMock.replay(_listener);
                _monitor.poll();
-               EasyMock.verify(_listener);
+
+               verify(_listener.getMock()).fileDeleted(_data.getFile(FILE1));
+               verifyNoMoreInteractions(_listener.getMock());
        }
-       
-       public void testFileChanged() throws InterruptedException { 
+
+       public void testFileChanged() throws InterruptedException {
                _data.createFile(FILE1, "hello");
                _monitor.poll();
-               EasyMock.reset(_listener);
-               
+               _listener.reset();
+
                Thread.sleep(2000);
                _data.deleteFile(FILE1);
                _data.createFile(FILE1, "bla");
-               
-               _listener.fileChanged(_data.getFile(FILE1));
-               EasyMock.replay(_listener);
+
                _monitor.poll();
-               EasyMock.verify(_listener);
+               verify(_listener.getMock()).fileChanged(_data.getFile(FILE1));
+               verifyNoMoreInteractions(_listener.getMock());
        }
-       
+
        public void testFileFilterIsUsed() {
-               _monitor.poll(); 
-               
+               _monitor.poll();
+
                _data.createFile("file.xml", "hello");
-               EasyMock.replay(_listener); 
                _monitor.poll();
-               EasyMock.verify(_listener);
+               verifyNoMoreInteractions(_listener.getMock());
        }
-       
-       public void testDirectoryIsIgnored() { 
+
+       public void testDirectoryIsIgnored() {
                _monitor.poll();
                _data.createDir(FILE1);
-               EasyMock.replay(_listener); 
                _monitor.poll();
-               EasyMock.verify(_listener);
+               verifyNoMoreInteractions(_listener.getMock());
        }
-       
+
        public void testExceptionsWIllLeadToRepeatedNotifications() { 
                _monitor.poll();
                _data.createFile(FILE1, "hello");
                
-               _listener.fileCreated(_data.getFile(FILE1));
-               EasyMock.expectLastCall().andThrow(new RuntimeException());
-               EasyMock.replay(_listener);
+               stubVoid(_listener.getMock()).toThrow(new RuntimeException()).on().
+                fileCreated(_data.getFile(FILE1));
+               
                try { 
                    _monitor.poll();
                } catch (RuntimeException e) { 
-                       EasyMock.verify(_listener);
-                       EasyMock.reset(_listener);
+                       _listener.reset(); 
                        
-                       // polling again should lead to the same filecreated call. 
-                       // this time no exception is thrown. 
+                       // polling again should lead to the same filecreated call.
+                       // this time no exception is thrown.
                        
-                       _listener.fileCreated(_data.getFile(FILE1));
-                       EasyMock.replay(_listener);
                        _monitor.poll();
-                       EasyMock.verify(_listener);
+                       verify(_listener.getMock()).fileCreated(_data.getFile(FILE1));
+                       verifyNoMoreInteractions(_listener.getMock());
                        return; 
                }
-               fail(); // should not get here. 
+               fail(); // should not get here.
                
        
        }