コード例 #1
0
 public FileLineCounter(
     IFileSystemAccess fileSystem,
     ILineCounter lineCounter)
 {
     _fileSystem  = fileSystem;
     _lineCounter = lineCounter;
 }
コード例 #2
0
ファイル: Watcher.cs プロジェクト: JustinSGough/Uatu
 public Watcher(ILog view, IFolderModel model, ILineCounter counter, IBulkLoader loader, string folder, string filter)
 {
     _view               = view;
     _model              = model;
     _counter            = counter;
     _counter.FolderPath = folder;
     _loader             = loader;
     _directory          = folder;
     _filter             = filter;
 }
コード例 #3
0
        private static FileLineCounter CreateSut(
            IFileSystemAccess fileSystem = null,
            ILineCounter lineCounter     = null
            )
        {
            fileSystem ??= new FakeFileSystemAccessBuilder().Build();
            lineCounter ??= new FakeLineCounterBuilder().Build();

            return(new FileLineCounter(fileSystem, lineCounter));
        }
コード例 #4
0
 public LineCountTracker(
     CancellationToken cancellationToken,
     ICancellableTaskRunner cancellableTaskRunner,
     ILineCounter lineCounter
     )
 {
     LineCounter           = lineCounter;
     CancellationToken     = cancellationToken;
     CancellableTaskRunner = cancellableTaskRunner;
     OutstandingLineCounts = new Dictionary <string, ICancellableTask>(StringComparer.OrdinalIgnoreCase);
     PathLineCounts        = new Dictionary <string, LineCount>();
 }
コード例 #5
0
        private static void ConfigureWatcher(CommandLineOptions options)
        {
            Watcher = new DirWatcher(TimeSpan.FromMilliseconds(ScanIntervalMs),
                                     options.Directory, options.WatchPattern);
            Watcher.OnDirectoryScanned += OnDirectoryScanned;

            StateTracker = new DirectoryStateTracker(CancellationTokenSource.Token);
            Watcher.OnDirectoryScanned += StateTracker.OnDirectoryScanned;

            StateTracker.OnTrackedFileModified += StateTracker_OnTrackedFileModified;
            StateTracker.OnTrackedFileMissing  += StateTracker_OnTrackedFileMissing;

            LineCounter           = new LineCounter(CancellationTokenSource.Token);
            CancellableTaskRunner = new CancellableTaskRunner((task, onCancel) => new CancellableTask(task, onCancel));
            LineCountTracker      = new LineCountTracker(CancellationTokenSource.Token, CancellableTaskRunner, LineCounter);
            LineCountTracker.OnLineCountFailed += LineCountTracker_OnLineCountFailed;

            StateTracker.OnNewFileScanned       += LineCountTracker.OnFileChanged;
            StateTracker.OnTrackedFileModified  += LineCountTracker.OnFileChanged;
            StateTracker.OnTrackedFileMissing   += LineCountTracker.OnFileRemoved;
            LineCountTracker.OnLineCountCreated += LineCountTracker_OnLineCountCreated;
            LineCountTracker.OnLineCountUpdated += LineCountTracker_OnLineCountUpdated;
        }
コード例 #6
0
 public FakeLineCounterBuilder()
 {
     _fake = Substitute.For <ILineCounter>();
 }
コード例 #7
0
 public static void VerifyCountWasCalledOn(ILineCounter fake, string expectedContents)
 {
     fake.Received(1).Count(expectedContents);
 }