示例#1
0
        public void TwoEmptyDirs()
        {
            (string dira, string dirb) = Util.CreateTwoDirs();

            bool error = false;
            bool diff  = false;

            var c = new CmpTrees.CmpDirsParallel(dira, dirb, new CmpTrees.EnumOptions(),
                                                 (DIFF_STATE state, string basedir, ref Win32.FIND_DATA find_data_a, ref Win32.FIND_DATA find_data_b) => { diff = true; },
                                                 (rc, msg) => { error = true; },
                                                 new CancellationTokenSource().Token, 3);

            c.Start();
            c.Finished.WaitOne();
            Assert.IsFalse(error);
            Assert.IsFalse(diff);
        }
示例#2
0
        // --------------------------------------------------------------------
        IList <DiffData> RunCmp(string src, string trg)
        {
            bool            error  = false;
            List <DiffData> result = new List <DiffData>();

            var c = new CmpTrees.CmpDirsParallel(src, trg, new CmpTrees.EnumOptions(),
                                                 (DIFF_STATE state, string basedir, ref Win32.FIND_DATA find_data_a, ref Win32.FIND_DATA find_data_b) =>
            {
                result.Add(new DiffData(state, basedir, find_data_a, find_data_b));
            },
                                                 (rc, msg) => { error = true; },
                                                 new CancellationTokenSource().Token, 4);

            c.Start();
            c.Finished.WaitOne();
            Assert.IsFalse(error);

            return(result);
        }