public void calculate_score()
        {
            var rootFolder = ZapperFileTestHelper.GetTestFileSubfolder("PhaseRemoveDuplicatesTester");
            rootFolder.Priority = 100000;
            System.Diagnostics.Trace.WriteLine(rootFolder.FullPath);

            FileZapperSettings settings = new FileZapperSettings();
            List<ZapperFolder> folders = new List<ZapperFolder>();
            folders.Add(rootFolder);
            settings.RootFolders = folders;

            List<IZapperPhase> allphases = new List<IZapperPhase>();
            var phase = new PhaseRemoveDuplicates { PhaseOrder = 1, IsInitialPhase = true };
            allphases.Add(phase);

            var processor = new ZapperProcessor(settings, allphases);
            var zfile = new ZapperFile { Directory = rootFolder.FullPath, FullPath = Path.Combine(rootFolder.FullPath, "test.txt"), FileModified = DateTime.Now };
            phase.CalculateScore(zfile);
            int iScore = 110000 + ((zfile.Directory.Count(x => x == '\\') + 1) * 1000);
            Assert.AreEqual(iScore, zfile.Score);
        }
        public void process()
        {
            var rootFolder = ZapperFileTestHelper.GetTestFileSubfolder("PhaseRemoveDuplicatesTester");
            System.Diagnostics.Trace.WriteLine(rootFolder.FullPath);

            var importantFolder = ZapperFileTestHelper.GetTestFileSubfolder(rootFolder.FullPath, "important");
            importantFolder.Priority = 900000;
            var loserFolder = ZapperFileTestHelper.GetTestFileSubfolder(rootFolder.FullPath, "loser");
            loserFolder.Priority = 100000;

            List<ZapperFile> files = new List<ZapperFile>();
            string sFilePath = Path.Combine(importantFolder.FullPath, "alpha.txt");
            files.Add(new ZapperFile { Directory = importantFolder.FullPath, FullPath = sFilePath, FileModified = DateTime.Now, ContentHash = "something" });
            ZapperFileTestHelper.CreateTextFile(sFilePath, 5);

            sFilePath = Path.Combine(loserFolder.FullPath, "bravo.txt");
            files.Add(new ZapperFile { Directory = loserFolder.FullPath, FullPath = sFilePath, FileModified = DateTime.Now, ContentHash = "something" });
            ZapperFileTestHelper.CreateTextFile(sFilePath, 5);

            FileZapperSettings settings = new FileZapperSettings();
            List<ZapperFolder> folders = new List<ZapperFolder>();
            folders.Add(importantFolder);
            folders.Add(loserFolder);
            settings.RootFolders = folders;

            List<IZapperPhase> allphases = new List<IZapperPhase>();
            var phase = new PhaseRemoveDuplicates { PhaseOrder = 1, IsInitialPhase = true };
            allphases.Add(phase);

            var processor = new ZapperProcessor(settings, allphases);
            foreach (var zfile in files)
            {
                Assert.IsTrue(processor.ZapperFiles.TryAdd(zfile.FullPath, zfile));
            }

            phase.Process();

            Assert.AreEqual(1, processor.ZapperFiles.Count);
            Assert.AreEqual(1, processor.ZapperFilesDeleted.Count);
        }