public ZapperProcessor(FileZapperSettings settings = null, IList<IZapperPhase> phases = null) { _log.Info("Initializing"); ZapperFiles = new ConcurrentDictionary<string, ZapperFile>(); ZapperFilesDeleted = new ConcurrentDictionary<string, ZapperFileDeleted>(); if (settings == null) { settings = new FileZapperSettings(); settings.Load(); } Settings = settings; if (phases != null) { foreach (var phase in phases) { phase.ZapperProcessor = this; } _phases = phases.OrderBy(x => x.PhaseOrder); } else { List<IZapperPhase> allphases = new List<IZapperPhase>(); allphases.Add(new PhaseCleanup { PhaseOrder = 1, ZapperProcessor = this, IsInitialPhase = true }); allphases.Add(new PhaseParseFilesystem { PhaseOrder = 2, ZapperProcessor = this }); allphases.Add(new PhaseCalculateSamples { PhaseOrder = 3, ZapperProcessor = this }); allphases.Add(new PhaseCalculateHashes { PhaseOrder = 4, ZapperProcessor = this }); allphases.Add(new PhaseRemoveDuplicates { PhaseOrder = 5, ZapperProcessor = this }); _phases = allphases.OrderBy(x => x.PhaseOrder); } }
public void settings_loaded_from_file() { FileZapperSettings settings = new FileZapperSettings(); settings.Load(); Assert.AreEqual(100, settings.IgnoreFilesBelowBytes); Assert.AreEqual(500000, settings.IgnoreFilesOverBytes); Assert.AreEqual(1, settings.UnwantedFolders.Count()); Assert.AreEqual(2, settings.RootFolders.Count); }