Пример #1
0
        static void WriteFiles(string fileLeft, string fileRight,
                               DateTime baseTime, ModifiedTimes m, Content c)
        {
            var addTime       = (m == ModifiedTimes.MTime) ? 1 : 0;
            var contentsLeft  = fileLeft;
            var contentsRight = contentsLeft;

            if (c == Content.AltText)
            {
                // replace first char with *
                contentsRight = "*" + contentsRight.Substring(1);
            }
            else if (c == Content.AddText)
            {
                contentsRight += "***";
            }

            TestUtil.IsTrue(!File.Exists(fileLeft) && !File.Exists(fileRight));
            File.WriteAllText(fileLeft, contentsLeft);
            File.SetLastWriteTimeUtc(fileLeft, baseTime);
            File.WriteAllText(fileRight, contentsRight);
            File.SetLastWriteTimeUtc(fileRight, baseTime.AddHours(addTime));
        }
Пример #2
0
        static int Go(string dirLeft, string dirRight, DateTime baseTime,
                      ModifiedTimes m, Content c, Filename f, ExtraCopies copies)
        {
            var baseName = m.ToString() + c.ToString() + f.ToString() + copies.ToString();
            var fileLeft = Path.Combine(
                dirLeft, baseName + ".a");
            var fileRight = Path.Combine(
                dirRight, baseName + (f == Filename.MName ? ".z" : ".a"));

            WriteFiles(fileLeft, fileRight, baseTime, m, c);
            switch (copies)
            {
            case ExtraCopies.OneOnLeft:
                File.Copy(fileLeft, fileLeft + "_1");
                break;

            case ExtraCopies.OneOnRight:
                File.Copy(fileRight, fileRight + "_1");
                break;
            }

            return(copies == ExtraCopies.None ? 2 : 3);
        }