public void CopyFromClonesMetadata() { ProjectItem item1 = GetOneItemFromFragment(@"<i Include='i1'><m>m1</m></i>"); ProjectItemFactory factory = new ProjectItemFactory(item1.Project, item1.Xml); ProjectItem item2 = factory.CreateItem(item1, item1.Project.FullPath); item1.SetMetadataValue("m", "m2"); item1.SetMetadataValue("n", "n1"); Assert.Single(Helpers.MakeList(item2.Metadata)); Assert.Equal(String.Empty, item2.GetMetadataValue("n")); Assert.Equal(1 + 15 /* built-in metadata */, item2.MetadataCount); // Should still point at the same XML items Assert.True(Object.ReferenceEquals(item1.DirectMetadata.First().Xml, item2.DirectMetadata.First().Xml)); }
public void CopyFromClonesMetadata() { ProjectItem item1 = GetOneItemFromFragment(@"<i Include='i1'><m>m1</m></i>"); ProjectItemFactory factory = new ProjectItemFactory(item1.Project, item1.Xml); ProjectItem item2 = factory.CreateItem(item1, item1.Project.FullPath); item1.SetMetadataValue("m", "m2"); item1.SetMetadataValue("n", "n1"); Assert.Equal(1, Helpers.MakeList(item2.Metadata).Count); Assert.Equal(String.Empty, item2.GetMetadataValue("n")); Assert.Equal(1 + 15 /* built-in metadata */, item2.MetadataCount); // Should still point at the same XML items Assert.Equal(true, Object.ReferenceEquals(item1.DirectMetadata.First().Xml, item2.DirectMetadata.First().Xml)); }