public void XmlLyricsWriter_BuildAsString_WithoutSettingDefaultTranslation()
        {
            ILyricsWriter Writer = new XmlLyricsWriter();

            Writer.AddTranslation("Hungarian");
            Writer.Build();
        }
        public void XmlLyricsWriter_SetDefaultTranslationID()
        {
            ILyricsWriter Writer          = new XmlLyricsWriter();
            string        TranslationName = "Hungarian";
            string        TranslationID   = Writer.AddTranslation(TranslationName);

            Writer.DefaultTranslationID = TranslationID;
            string ActualDefaultTranslationID = Writer.DefaultTranslationID;

            Assert.AreEqual(TranslationID, ActualDefaultTranslationID);

            using (Stream Xml = new MemoryStream()) {
                Writer.Build(Xml);
                Assert.IsTrue(this.IsValidXmlBySchema(Xml));

                XDocument doc = XDocument.Load(Xml);

                Assert.AreEqual(
                    expected: TranslationID,
                    actual: doc.Root.Element(ns + "Translations").Attribute("Default").Value
                    );

                Assert.IsTrue(
                    doc.Root.Element(ns + "Translations").Elements(ns + "Translation").Where(
                        x => x.Attribute("Name").Value == TranslationName &&
                        x.Attribute("ID").Value == TranslationID
                        ).Any()
                    );
            }
        }
        public void XmlLyricsWriter_BuildAsStream_WithoutTranslationAdded()
        {
            ILyricsWriter Writer = new XmlLyricsWriter();

            using (Stream s = new MemoryStream())
                Writer.Build(s);
        }
Example #4
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            #region Error checking
            if (this.LyricsReader == null)
            {
                return;
            }
            #endregion

            SaveFileDialog dlg = new SaveFileDialog()
            {
                Filter = "LRC dalszöveg-fájl|*.lrc|XML dalszöveg-fájl|*.xml"
            };

            ILyricsWriter Writer = null;

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                switch (new FileInfo(dlg.FileName).Extension)
                {
                case ".lrc":
                    MessageBox.Show("LRC-be mentés még nem támogatott.");
                    break;

                case ".xml":
                    Writer = XmlLyricsWriter.CreateFromReader(this.LyricsReader);
                    break;
                }

                if (Writer != null)
                {
                    File.AppendAllText(dlg.FileName, Writer.Build());
                }
            }
        }
        public void XmlLyricsWriter_BuildAsStream_WithoutSettingDefaultTranslation()
        {
            ILyricsWriter Writer = new XmlLyricsWriter();

            Writer.AddTranslation("Hungarian");
            using (Stream s = new MemoryStream())
                Writer.Build(s);
        }
        public void XmlLyricsWriter_Metadata_SetArtist_RemovesDeclarationWhenSetToNull()
        {
            XmlLyricsWriter wrt = new XmlLyricsWriter();

            wrt.DefaultTranslationID = wrt.AddTranslation("Hungarian");

            wrt.Artist = "Sample";
            wrt.Artist = null;

            string GeneratedXml = wrt.Build();

            Assert.IsTrue(
                !GeneratedXml.Contains("Artist=\"\"")
                );
        }
        public void XmlLyricsWriter_Metadata_SetArtist()
        {
            XmlLyricsWriter wrt = new XmlLyricsWriter();

            wrt.DefaultTranslationID = wrt.AddTranslation("Hungarian");

            const string ExpectedArtist = "Sample artist";

            wrt.Artist = ExpectedArtist;
            Assert.AreEqual(ExpectedArtist, wrt.Artist);

            string GeneratedXml = wrt.Build();

            Assert.IsTrue(
                GeneratedXml.Contains($"Artist=\"{ExpectedArtist}\"")
                );
        }
        public void XmlLyricsWriter_Metadata_SetTitle()
        {
            XmlLyricsWriter wrt = new XmlLyricsWriter();

            wrt.DefaultTranslationID = wrt.AddTranslation("Hungarian");

            const string ExpectedTitle = "Sample title";

            wrt.Title = ExpectedTitle;
            Assert.AreEqual(ExpectedTitle, wrt.Title);

            string GeneratedXml = wrt.Build();

            Assert.IsTrue(
                GeneratedXml.Contains($"Title=\"{ExpectedTitle}\"")
                );
        }
        public void XmlLyricsWriter_Metadata_SetAlbum()
        {
            XmlLyricsWriter wrt = new XmlLyricsWriter();

            wrt.DefaultTranslationID = wrt.AddTranslation("Hungarian");

            const string ExpectedAlbum = "Sample album";

            wrt.Album = ExpectedAlbum;
            Assert.AreEqual(ExpectedAlbum, wrt.Album);

            string GeneratedXml = wrt.Build();

            Assert.IsTrue(
                GeneratedXml.Contains($"Album=\"{ExpectedAlbum}\"")
                );
        }
        public void XmlLyricsWriter_SetDefaultTranslationID_ToANonExistingTranslation()
        {
            ILyricsWriter Writer = new XmlLyricsWriter();

            Writer.DefaultTranslationID = "A non existing translation ID.";
        }
        public void XmlLyricsWriter_GetDefaultTranslationID_WhenNotSetPreviously()
        {
            ILyricsWriter Writer = new XmlLyricsWriter();

            Assert.IsNull(Writer.DefaultTranslationID);
        }
        public void XmlLyricsWriter_BuildAsString_WithoutTranslationAdded()
        {
            ILyricsWriter Writer = new XmlLyricsWriter();

            Writer.Build();
        }
        public void XmlLyricsWriter_Metadata_GetAlbum_WhenNotSetPreviously()
        {
            ILyricsMetadata Metadata = new XmlLyricsWriter();

            Assert.IsNull(Metadata.Album);
        }