added a testcase specifically for the modification time.
[utils] / support / general / src / test / java / org / wamblee / io / DirectoryMonitorTest.java
index ac5fbf707ca56a325e9ee62113a8089c74542c32..1bb4d02017d902bec371a05e13fce0ca87dcf5bc 100644 (file)
@@ -1,12 +1,12 @@
 /*
- * Copyright 2007 the original author or authors.
- *
+ * Copyright 2005-2010 the original author or authors.
+ * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- *
+ * 
  *      http://www.apache.org/licenses/LICENSE-2.0
- *
+ * 
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  */
 package org.wamblee.io;
 
+import static org.mockito.Mockito.*;
 import junit.framework.TestCase;
 
-import org.apache.oro.io.AwkFilenameFilter;
-import static org.mockito.Mockito.*;
 public class DirectoryMonitorTest extends TestCase {
     private static final String REGEX = "^.*\\.txt$";
     private static final String FILE1 = "file1.txt";
@@ -32,8 +31,8 @@ public class DirectoryMonitorTest extends TestCase {
         data = new TestData(this);
         data.clean();
         listener = mock(DirectoryMonitor.Listener.class);
-        monitor = new DirectoryMonitor(data.getRoot(),
-                new AwkFilenameFilter(REGEX), listener);
+        monitor = new DirectoryMonitor(data.getRoot(), new RegexFilenameFilter(
+            REGEX), listener);
     }
 
     public void testEmptyDir() {
@@ -76,6 +75,19 @@ public class DirectoryMonitorTest extends TestCase {
         verifyNoMoreInteractions(listener);
     }
 
+    public void testFileModificationTimeChanged() throws InterruptedException {
+        data.createFile(FILE1, "hello");
+        monitor.poll();
+        reset(listener);
+        data.deleteFile(FILE1);
+        Thread.sleep(2000);
+        data.createFile(FILE1, "hello");
+
+        monitor.poll();
+        verify(listener).fileChanged(data.getFile(FILE1));
+        verifyNoMoreInteractions(listener);
+    }
+
     public void testFileFilterIsUsed() {
         monitor.poll();