Beispiel #1
0
        public void ParserTest_Success()
        {
            // ARRANGE
            var loggerLoader = new Mock <ILogger <HtmlContentLoader> >();
            var loader       = new HtmlContentLoader(loggerLoader.Object);
            var loggerParser = new Mock <ILogger <CameraInfoParser> >();
            var parser       = new CameraInfoParser(loader, loggerParser.Object);

            // ACT
            var result = parser.Parse();

            // ASSERT
            Assert.Equal(6, result.Count());
        }
        public void ParseTest_WithException()
        {
            // ARRANGE
            var expectedUrl   = "http://62.225.227.45:8080/mjpg/video.mjpg";
            var expectedTitle = "View Axis CCTV IP camera online in Germany";

            var html   = GetHtmlTemplate(expectedTitle, expectedUrl).Substring(4, 126);
            var logger = new Mock <ILogger <CameraInfoParser> >();
            var loader = new Mock <IHtmlContentLoader>();

            loader.Setup(t => t.GetHtmlContent()).Returns(html);
            var parser = new CameraInfoParser(loader.Object, logger.Object);

            // ACT and  ASSERT
            Assert.Throws <NotParsedContentException>(() => parser.Parse());
        }
        public void ParseTest_Success()
        {
            // ARRANGE
            var expectedUrl   = "http://62.225.227.45:8080/mjpg/video.mjpg";
            var expectedTitle = "View Axis CCTV IP camera online in Germany";

            var html = GetHtmlTemplate(expectedTitle, expectedUrl);

            var logger = new Mock <ILogger <CameraInfoParser> >();
            var loader = new Mock <IHtmlContentLoader>();

            loader.Setup(t => t.GetHtmlContent()).Returns(html);
            var parser = new CameraInfoParser(loader.Object, logger.Object);

            // ACT
            var result = parser.Parse();

            // ASSERT
            Assert.Single(result);
            Assert.Equal(expectedTitle, result.Single().Title);
            Assert.Equal(expectedUrl, result.Single().Url);
        }