public void TestCopyTo () { Id3v2.Tag tag1 = new Id3v2.Tag (); Id3v2.Tag tag2 = new Id3v2.Tag (); UserTextInformationFrame frame1 = UserTextInformationFrame.Get (tag1, "FOOBAR", true); UserTextInformationFrame frame2 = UserTextInformationFrame.Get (tag2, "FOOBAR", true); frame1.Text = new string [] {"1"}; frame2.Text = new string [] {"2"}; Assert.AreEqual ("2", UserTextInformationFrame.Get (tag2, "FOOBAR", false).Text [0], "Not yet copied."); tag1.CopyTo (tag2, false); Assert.AreEqual ("2", UserTextInformationFrame.Get (tag2, "FOOBAR", false).Text [0], "overwrite=false"); tag1.CopyTo (tag2, true); Assert.AreEqual ("1", UserTextInformationFrame.Get (tag2, "FOOBAR", false).Text [0], "overwrite=true"); UserTextInformationFrame.Get (tag2, "FOOBAR", false).Text = new string [] {"3"}; Assert.AreEqual ("1", UserTextInformationFrame.Get (tag1, "FOOBAR", false).Text [0], "Deep copy."); }
private void TagTestWithSave (ref Id3v2.Tag tag, TagTestFunc testFunc) { testFunc (tag, "Before Save"); for (byte version = 2; version <= 4; version ++) { tag.Version = version; tag = new Id3v2.Tag (tag.Render ()); testFunc (tag, "After Save, Version: " + version); tag = tag.Clone (); testFunc (tag, "After Clone, Version: " + version); Id3v2.Tag tmp = new Id3v2.Tag (); tag.CopyTo (tmp, true); tag = tmp; testFunc (tag, "After CopyTo(true), Version: " + version); tmp = new Id3v2.Tag (); tag.CopyTo (tmp, false); tag = tmp; testFunc (tag, "After CopyTo(false), Version: " + version); } }