Пример #1
0
		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.");
		}
Пример #2
0
		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);
			}
		}