示例#1
0
        public void Should_ParseCoAuthorNode()
        {
            // Arrange
            var expected = new List <PluralsightAuthor>
            {
                new PluralsightAuthor {
                    FullName = "Scott Allen"
                },
                new PluralsightAuthor {
                    FullName = "Keith Sparkjoy"
                },
                new PluralsightAuthor {
                    FullName = "Dan Sullivan"
                }
            };

            const string authorFullNameAttribute = ParserConstants.AuthorFullNameAttribute;

            var coAuthorNode = Mock.Of <INode>(n =>
                                               n.GetAttributeValue(authorFullNameAttribute) == string.Join(", ", expected.Select(x => x.FullName)));

            var sut = new PluralsightNodeParser(SiteUrl, _nodeSelector);

            // Act
            var result = sut.ParseCoAuthors(coAuthorNode);

            // Assert
            Assert.NotNull(result);
            Assert.Equal(expected.Select(x => x.FullName), result.Select(x => x.FullName));
        }
      public void Should_ThrowArgumentNullException_When_ArgumentIsNull()
      {
         global::System.Threading.Tasks.Task test = null;
         Assert.Throws<ArgumentNullException>(() => new PluralsightNodeParser(null, null));

         var sut = new PluralsightNodeParser(SiteUrl, _nodeSelector);

         Assert.Throws<ArgumentNullException>(() => sut.ParseCategoryNode(null));
         Assert.Throws<ArgumentNullException>(() => sut.ParseCategoryIdInHtmlDocument(null));
         Assert.Throws<ArgumentNullException>(() => sut.ParseSketchNode(null));
         Assert.Throws<ArgumentNullException>(() => sut.ParseCourseInfo(null));
         Assert.Throws<ArgumentNullException>(() => sut.ParseAuthor(null));
         Assert.Throws<ArgumentNullException>(() => sut.ParseAuthorFullName(null));
         Assert.Throws<ArgumentNullException>(() => sut.IsCoAuthorNode(null));
         Assert.Throws<ArgumentNullException>(() => sut.ParseCoAuthors(null));
         Assert.Throws<ArgumentNullException>(() => sut.ParseCourseLevel(null));
         Assert.Throws<ArgumentNullException>(() => sut.ParseCourseRating(null));
         Assert.Throws<ArgumentNullException>(() => sut.ParseCourseDuration(null));
         Assert.Throws<ArgumentNullException>(() => sut.ParseCourseReleaseDate(null));
      }
示例#3
0
        public void Should_ThrowArgumentNullException_When_ArgumentIsNull()
        {
            global::System.Threading.Tasks.Task test = null;
            Assert.Throws <ArgumentNullException>(() => new PluralsightNodeParser(null, null));

            var sut = new PluralsightNodeParser(SiteUrl, _nodeSelector);

            Assert.Throws <ArgumentNullException>(() => sut.ParseCategoryNode(null));
            Assert.Throws <ArgumentNullException>(() => sut.ParseCategoryIdInHtmlDocument(null));
            Assert.Throws <ArgumentNullException>(() => sut.ParseSketchNode(null));
            Assert.Throws <ArgumentNullException>(() => sut.ParseCourseInfo(null));
            Assert.Throws <ArgumentNullException>(() => sut.ParseAuthor(null));
            Assert.Throws <ArgumentNullException>(() => sut.ParseAuthorFullName(null));
            Assert.Throws <ArgumentNullException>(() => sut.IsCoAuthorNode(null));
            Assert.Throws <ArgumentNullException>(() => sut.ParseCoAuthors(null));
            Assert.Throws <ArgumentNullException>(() => sut.ParseCourseLevel(null));
            Assert.Throws <ArgumentNullException>(() => sut.ParseCourseRating(null));
            Assert.Throws <ArgumentNullException>(() => sut.ParseCourseDuration(null));
            Assert.Throws <ArgumentNullException>(() => sut.ParseCourseReleaseDate(null));
        }
      public void Should_ParseCoAuthorNode()
      {
         // Arrange
         var expected = new List<PluralsightAuthor>
               {
                  new PluralsightAuthor{FullName = "Scott Allen"},
                  new PluralsightAuthor{FullName = "Keith Sparkjoy"},
                  new PluralsightAuthor{FullName = "Dan Sullivan"}
               };

         const string authorFullNameAttribute = ParserConstants.AuthorFullNameAttribute;

         var coAuthorNode = Mock.Of<INode>(n =>
            n.GetAttributeValue(authorFullNameAttribute) == string.Join(", ", expected.Select(x=> x.FullName)));

         var sut = new PluralsightNodeParser(SiteUrl, _nodeSelector);

         // Act
         var result = sut.ParseCoAuthors(coAuthorNode);

         // Assert
         Assert.NotNull(result);
         Assert.Equal(expected.Select(x =>x.FullName), result.Select(x =>x.FullName));
      }