Пример #1
0
        private static void TestUndoFileWriter()
        {
            UndoFileWriter writer = new UndoFileWriter(
                VirtualDrive.VirtualFileName("TestUndoFileWriter.txt"));

            for (int i = 0; i < 4; i++)
            {
                List <string> parameters = new List <string>();
                for (int j = 0; j < i; j++)
                {
                    parameters.Add("line" + j);
                }

                writer.Write(new SerializedCommand(
                                 typeof(TestClass),
                                 SerializedCommand.UndoRedo.Do,
                                 "TestUndoFileWriter",
                                 parameters.ToArray()));
            }

            writer.Close();

            UnitTest.Test(VirtualDrive.FileLength(
                              VirtualDrive.VirtualFileName("TestUndoFileWriter.txt")) > 0);
        }
Пример #2
0
        public virtual void Process(object obj)
        {
            FileInfo fileInfo = obj as FileInfo;

            Logger.WriteLine(Tokens.Info, "File \"" + fileInfo + "\"");

            byte[][] before = TagUtils.ReadTagsRaw(fileInfo);
            byte[][] after  = Do(fileInfo, before);

            SerializedCommand cmdUndo = CreateCommand(fileInfo.FullName, before, SerializedCommand.UndoRedo.Undo);
            SerializedCommand cmdDo   = CreateCommand(fileInfo.FullName, after, SerializedCommand.UndoRedo.Do);

            ProcessCommand(cmdDo);

            if (!Object.ReferenceEquals(UndoFile, null))
            {
                UndoFile.Write(cmdUndo);
                UndoFile.Write(cmdDo);
            }
        }