Esempio n. 1
0
        public void ToXElement_ReturnsCorrectXElement()
        {
            // Arrange
            DateTime      pubDate = DateTime.Now;
            TurboFeedItem item    = new TurboFeedItem()
            {
                Link    = "https://sample.ru",
                Author  = "Author 1",
                Content = "Content 1",
                PubDate = pubDate,
                Source  = "https://source2.ru",
                Topic   = "Item 1",
                Turbo   = "true"
            };

            // Act
            XElement result = item.ToXElement();

            // Assert
            result.Should().NotBeNull();
            result.Should().HaveElement("link", item.Link);
            result.Should().HaveElement(_turboYandexNamespace + "source", item.Source);
            result.Should().HaveElement(_turboYandexNamespace + "topic").Which.Value.Should().BeEquivalentTo("Item 1");
            result.Should().HaveElement("pubDate", item.PubDate.ToString("R"));
            result.Should().HaveElement("author", item.Author);
            result.Should().HaveElement(_turboYandexNamespace + "content", item.Content);
            result.Should().HaveAttribute("turbo", item.Turbo);
        }
Esempio n. 2
0
        public void AddItem_ItemIsNull_ThrowsArgumentNullException()
        {
            // Arrange
            TurboFeedItem item = null;

            // Assert
            Assert.Throws <ArgumentNullException>(() => _turboFeed.AddItem(item));
        }
Esempio n. 3
0
        public void TurboFeedItem_HasDefaultTurboPropertySetToTrue()
        {
            // Act
            TurboFeedItem result = new TurboFeedItem();

            // Assert
            result.Turbo.Should().BeEquivalentTo("true");
        }
Esempio n. 4
0
        public void AddItems_HasItemsToAdd_AddsItemsToFeed()
        {
            // Arrange
            List <TurboFeedItem> itemsToAdd = new List <TurboFeedItem>()
            {
                new TurboFeedItem()
                {
                    Link    = "https://sample.ru",
                    Author  = "Author 1",
                    Content = "Content 1",
                    PubDate = DateTime.Now,
                    Source  = "https://source2.ru",
                    Topic   = "Item 1",
                    Turbo   = "true"
                },
                new TurboFeedItem()
                {
                    Link    = "https://sample2.ru",
                    Author  = "Author 2",
                    Content = "Content 2",
                    PubDate = DateTime.Now,
                    Source  = "https://source2.ru",
                    Topic   = "Item 2",
                    Turbo   = "false"
                }
            };

            // Act
            _turboFeed.AddItems(itemsToAdd);
            XDocument result = _turboFeed.GetFeed();

            // Assert
            result.Should().NotBeNull();

            XElement root = result.Root;

            root.Should().NotBeNull();
            root.Element(ChannelElementName).Elements("item").Count().Should().Equals(2);

            IEnumerable <XElement> addedItems = root.Element(ChannelElementName).Elements("item");

            addedItems.Should().NotBeNull();

            for (int i = 0; i < itemsToAdd.Count; i++)
            {
                TurboFeedItem itemToAdd = itemsToAdd[i];
                XElement      addedItem = addedItems.ElementAt(i);

                addedItem.Should().HaveAttribute("turbo", itemToAdd.Turbo);
                addedItem.Should().HaveElement("link").Which.Value.Should().BeEquivalentTo(itemToAdd.Link);
                addedItem.Should().HaveElement(_turboYandexNamespace + "source").Which.Value.Should().BeEquivalentTo(itemToAdd.Source);
                addedItem.Should().HaveElement(_turboYandexNamespace + "topic").Which.Value.Should().BeEquivalentTo(itemToAdd.Topic);
                addedItem.Should().HaveElement("pubDate").Which.Value.Should().BeEquivalentTo(itemToAdd.PubDate.ToString("R"));
                addedItem.Should().HaveElement("author").Which.Value.Should().BeEquivalentTo(itemToAdd.Author);
                addedItem.Should().HaveElement(_turboYandexNamespace + "content").Which.Value.Should().BeEquivalentTo(itemToAdd.Content);
            }
        }
Esempio n. 5
0
        public void AddItem_ItemIsNotNull_AddsFeedItem()
        {
            // Arrange
            DateTime      pubDate = DateTime.Now;
            TurboFeedItem item    = new TurboFeedItem()
            {
                Link    = "https://sample.ru",
                Author  = "Author 1",
                Content = "Content 1",
                PubDate = pubDate,
                Source  = "https://source2.ru",
                Topic   = "Item 1"
            };

            // Act
            _turboFeed.AddItem(item);
            XDocument result = _turboFeed.GetFeed();

            // Assert
            result.Should().NotBeNull();

            XElement root = result.Root;

            root.Should().NotBeNull();

            root.Element(ChannelElementName).Elements("item").Count().Should().Equals(1);

            XElement addedItem = root.Element(ChannelElementName).Element("item");

            addedItem.Should().NotBeNull();
            addedItem.Should().HaveAttribute("turbo", "true");
            addedItem.Should().HaveElement("link").Which.Value.Should().BeEquivalentTo("https://sample.ru");
            addedItem.Should().HaveElement(_turboYandexNamespace + "source").Which.Value.Should().BeEquivalentTo("https://source2.ru");
            addedItem.Should().HaveElement(_turboYandexNamespace + "topic").Which.Value.Should().BeEquivalentTo("Item 1");
            addedItem.Should().HaveElement("pubDate").Which.Value.Should().BeEquivalentTo(pubDate.ToString("R"));
            addedItem.Should().HaveElement("author").Which.Value.Should().BeEquivalentTo("Author 1");
            addedItem.Should().HaveElement(_turboYandexNamespace + "content").Which.Value.Should().BeEquivalentTo("Content 1");
        }