Ejemplo n.º 1
0
        public void Clone()
        {
            SyndicationItem item = new SyndicationItem();

            item.AddPermalink(new Uri("http://mono-project.com/index.rss.20071210"));
            item.Id      = Guid.NewGuid().ToString();
            item.BaseUri = new Uri("http://mono-project.com");
            item.Authors.Add(new SyndicationPerson("*****@*****.**"));
            item.SourceFeed       = new SyndicationFeed();
            item.SourceFeed.Items = new SyndicationItem [] { new SyndicationItem() };

            SyndicationItem clone = item.Clone();

            Assert.AreEqual(1, clone.Links.Count, "#1");
            Assert.AreEqual(item.Id, clone.Id, "#2");              // hmm ...
            Assert.AreEqual("http://mono-project.com/", clone.BaseUri.ToString(), "#3");

            // LAMESPEC: .NET fails to clone it
            // Assert.IsFalse (Object.ReferenceEquals (item.BaseUri, clone.BaseUri), "#4"); // should not be just a shallow copy

            Assert.IsNull(clone.Title, "#5");
            Assert.IsNotNull(clone.SourceFeed, "#6");
            Assert.IsFalse(Object.ReferenceEquals(item.SourceFeed, clone.SourceFeed), "#7");               // ... not just a shallow copy??
            // items in the SourceFeed are not cloned, but Items property is not null
            Assert.IsNotNull(clone.SourceFeed.Items, "#8-1");
            Assert.IsFalse(clone.SourceFeed.Items.GetEnumerator().MoveNext(), "#8-2");
            Assert.AreEqual(1, clone.Authors.Count, "#9");
            SyndicationPerson person = clone.Authors [0];

            Assert.IsFalse(Object.ReferenceEquals(item.Authors [0], person), "#10");               // should not be just a shallow copy
            Assert.AreEqual("*****@*****.**", person.Email, "#11");
        }
Ejemplo n.º 2
0
 public static void Snippet41()
 {
     // <Snippet41>
     SyndicationItem item  = new SyndicationItem("Item Title", "Item Content", new Uri("http://Item/Alternate/Link"), "itemID", DateTimeOffset.Now);
     SyndicationItem clone = item.Clone();
     // </Snippet41>
 }