Ejemplo n.º 1
0
        public void ExportProfileTest()
        {
            //Prepare cuesheet
            var      testHelper = new TestHelper();
            Cuesheet cuesheet   = testHelper.CuesheetController.Cuesheet;

            cuesheet.Artist    = "Demo Artist";
            cuesheet.Title     = "Demo Title";
            cuesheet.AudioFile = new AudioFile("Testfile.mp3");
            var begin = TimeSpan.Zero;

            for (int i = 1; i < 25; i++)
            {
                var track = testHelper.CuesheetController.NewTrack();
                track.Artist = String.Format("Demo Track Artist {0}", i);
                track.Title  = String.Format("Demo Track Title {0}", i);
                track.Begin  = begin;
                begin        = begin.Add(new TimeSpan(0, i, i));
                track.End    = begin;
                cuesheet.AddTrack(track);
            }

            //Test class
            var exportProfile = new ExportProfile(testHelper.Localizer);

            exportProfile.SchemeHead.Scheme = "%Cuesheet.Artist%;%Cuesheet.Title%";
            Assert.IsTrue(exportProfile.SchemeHead.IsValid);
            exportProfile.SchemeTracks.Scheme = "%Track.Position%;%Track.Artist%;%Track.Title%;%Track.Begin%;%Track.End%;%Track.Length%";
            Assert.IsTrue(exportProfile.SchemeTracks.IsValid);
            exportProfile.SchemeFooter.Scheme = "Exported %Cuesheet.Title% from %Cuesheet.Artist% using AudioCuesheetEditor";
            Assert.IsTrue(exportProfile.SchemeFooter.IsValid);
            Assert.IsTrue(exportProfile.IsExportable);
            var fileContent = exportProfile.GenerateExport(cuesheet);

            Assert.IsNotNull(fileContent);
            var tempFile = Path.GetTempFileName();

            File.WriteAllBytes(tempFile, fileContent);
            var content = File.ReadAllLines(tempFile);

            Assert.AreEqual(content[0], "Demo Artist;Demo Title");
            for (int i = 1; i < content.Length - 1; i++)
            {
                Assert.IsFalse(String.IsNullOrEmpty(content[i]));
                Assert.AreNotEqual(content[i], ";;;;;");
                Assert.IsTrue(content[i].StartsWith(cuesheet.Tracks.ToList()[i - 1].Position + ";"));
            }
            Assert.AreEqual(content[^ 1], "Exported Demo Title from Demo Artist using AudioCuesheetEditor");