Exemplo n.º 1
0
        private static void TestFileProcessorRecordAndPlay()
        {
            string undoFileName = VirtualDrive.VirtualFileName(
                @"TestFileProcessorRecordAndPlay\UndoFile.txt");

            FileInfo[] fileInfos =
                (from x in TestTags.Demotags select VirtualDrive.CreateVirtualFileInfo(
                     @"TestFileProcessorRecordAndPlay\TestFileProcessor" + x + ".mp3")).ToArray();

            fileInfos.ForEach((n) => TagUtils.WriteTag(TestTags.CreateDemoTag(Version.v2_0), n));

            using (UndoFileWriter undoFileWriter = new UndoFileWriter(undoFileName))
            {
                FileProcessor processor = new FileProcessor(new TagVersionProcessor(Version.v2_3));
                processor.UndoFile = undoFileWriter;

                foreach (var obj in fileInfos)
                {
                    processor.Process(obj);
                }
            }

            fileInfos.ForEach((n) => UnitTest.Test(TagUtils.ReadVersion(n) == Version.v2_3));

            UndoFilePlayer.Undo(undoFileName);

            fileInfos.ForEach((n) => UnitTest.Test(TagUtils.ReadVersion(n) == Version.v2_0));

            UndoFilePlayer.Redo(undoFileName);

            fileInfos.ForEach((n) => UnitTest.Test(TagUtils.ReadVersion(n) == Version.v2_3));

            VirtualDrive.DeleteDirectory(VirtualDrive.VirtualFileName(
                                             @"TestFileProcessorRecordAndPlay"), true);
        }
Exemplo n.º 2
0
        private static void TestTagUtilsReadWriteRaw()
        {
            int counter = 0;

            foreach (var demoTag in TestTags.Demotags)
            {
                FileInfo fileInfo = VirtualDrive.CreateVirtualFileInfo(
                    "TestTagUtilsReadWriteRaw\\" + counter + ".tag");

                TagUtils.WriteTag(demoTag, fileInfo);

                byte[] tagRaw = TagUtils.ReadTagRaw(fileInfo);

                UnitTest.Test(ArrayUtils.IsEqual(tagRaw, demoTag));

                counter++;
            }
        }
Exemplo n.º 3
0
        private static void TestFileProcessorV2()
        {
            FileProcessor.WriteStrategy = Rewriter.Strategy.Exact;

            string undoFileName = VirtualDrive.VirtualFileName(@"TestFileProcessorV2\UndoFile.txt");

            FileInfo mp3File = VirtualDrive.CreateVirtualFileInfo(@"TestFileProcessorV2\test.mp3");

            TagUtils.WriteTag(TestTags.demoTag1_0, mp3File);
            TagUtils.WriteTag(TestTags.demoTag2_0, mp3File);

            UnitTest.Test(TagUtils.HasTagV1(mp3File));
            UnitTest.Test(TagUtils.HasTagV2(mp3File));

            using (UndoFileWriter undoFileWriter = new UndoFileWriter(undoFileName))
            {
                FileProcessor processor = new FileProcessor(new TagVersionProcessor(Version.v2_3));
                FileProcessor.WriteStrategy = Rewriter.Strategy.Exact;
                processor.UndoFile          = undoFileWriter;
                processor.Process(mp3File);
            }
            UnitTest.Test(!TagUtils.HasTagV1(mp3File));
            UnitTest.Test(TagUtils.HasTagV2(mp3File));

            UndoFilePlayer.Undo(undoFileName);
            UnitTest.Test(ArrayUtils.IsEqual(TagUtils.ReadTagV1Raw(mp3File), TestTags.demoTag1_0));
            UnitTest.Test(ArrayUtils.IsEqual(TagUtils.ReadTagV2Raw(mp3File), TestTags.demoTag2_0));

            UndoFilePlayer.Redo(undoFileName);
            UnitTest.Test(!TagUtils.HasTagV1(mp3File));
            UnitTest.Test(TagUtils.HasTagV2(mp3File));

            UndoFilePlayer.Undo(undoFileName);
            UnitTest.Test(ArrayUtils.IsEqual(TagUtils.ReadTagV1Raw(mp3File), TestTags.demoTag1_0));
            UnitTest.Test(ArrayUtils.IsEqual(TagUtils.ReadTagV2Raw(mp3File), TestTags.demoTag2_0));

            VirtualDrive.DeleteDirectory(VirtualDrive.VirtualFileName(
                                             @"TestFileProcessorV2"), true);
        }
Exemplo n.º 4
0
        private static void TestTagUtilsReadWrite()
        {
            int counter = 0;

            foreach (var demoTag in TestTags.Demotags)
            {
                FileInfo fileInfo = VirtualDrive.CreateVirtualFileInfo(
                    "TestTagUtilsReadWrite\\" + counter + ".tag");

                TagUtils.WriteTag(demoTag, fileInfo);

                Tag tag0 = TagUtils.ReadTag(fileInfo);

                UnitTest.Test(TestTags.IsDemoTag(new TagEditor(tag0)));

                TagUtils.WriteTag(tag0, fileInfo);

                UnitTest.Test(ArrayUtils.IsEqual(TagUtils.ReadTagRaw(fileInfo), demoTag));

                counter++;
            }
        }