public void A_file_is_created() { _baseDirectory = AppDomain.CurrentDomain.BaseDirectory; _filename = "test2.dat"; _path = Path.Combine(_baseDirectory, _filename); System.IO.File.Delete(_path); _listener = new Future<FileCreated>(); _channel = new ChannelAdapter(); FiberFactory fiberFactory = () => new SynchronousFiber(); _scheduler = new TimerScheduler(fiberFactory()); _producer = new PollingFileSystemEventProducer(_baseDirectory, _channel, _scheduler, fiberFactory(), 20.Seconds()); Thread.Sleep(5.Seconds()); using (_channel.Connect(x => x.AddConsumerOf<FileCreated>().UsingConsumer(m => _listener.Complete(m)))) { System.IO.File.Create(_path); _listener.WaitUntilCompleted(25.Seconds()); } _producer.Dispose(); }
public void A_file_is_created() { _baseDirectory = AppDomain.CurrentDomain.BaseDirectory; string dir1 = Path.Combine(_baseDirectory, "dir1"); string dir2 = Path.Combine(_baseDirectory, "dir2"); if (System.IO.Directory.Exists(dir1)) System.IO.Directory.Delete(dir1, true); if (System.IO.Directory.Exists(dir2)) System.IO.Directory.Delete(dir2, true); System.IO.Directory.CreateDirectory(dir1); _createdListener = new Future<FileCreated>(); _deletedListener = new Future<FileSystemDeleted>(); _channel = new ChannelAdapter(); FiberFactory fiberFactory = () => new SynchronousFiber(); _scheduler = new TimerScheduler(fiberFactory()); _producer = new PollingFileSystemEventProducer(_baseDirectory, _channel, _scheduler, fiberFactory(), 20.Seconds()); Thread.Sleep(5.Seconds()); using (_channel.Connect(x => { x.AddConsumerOf<FileCreated>().UsingConsumer(m => _createdListener.Complete(m)); x.AddConsumerOf<FileSystemDeleted>().UsingConsumer(m => _deletedListener.Complete(m)); })) { System.IO.Directory.Move(dir1, dir2); _createdListener.WaitUntilCompleted(10.Seconds()); _deletedListener.WaitUntilCompleted(10.Seconds()); } _producer.Dispose(); }