コード例 #1
0
        public void GetAlbumCover_HtmlWebLoadThrowsException_LogsErrorAndThrowsSpotifyServiceException()
        {
            var htmlWebFake = A.Fake <IHtmlWeb>();

            A.CallTo(() => htmlWebFake.Load(A <string> .Ignored)).Throws(new Exception("foo"));
            var htmlWebFactoryFake = A.Fake <IHtmlWebFactory>();

            A.CallTo(() => htmlWebFactoryFake.Get()).Returns(htmlWebFake);
            A.CallTo(() => htmlWebFake.Load(A <string> .Ignored)).Throws(new Exception("abc"));
            var logFactoryFake = A.Fake <ILogFactory>();
            var logFake        = A.Fake <ILog>();

            A.CallTo(() => logFactoryFake.GetLogger(A <Type> .Ignored)).Returns(logFake);

            var albumCoverService = new AlbumCoverService(A.Fake <IAlbumHrefIdParser>(), A.Fake <IAlbumCoverHtmlParser>(), htmlWebFactoryFake, A.Fake <IUrlBuilder>(), logFactoryFake);

            try {
                var albumCover = albumCoverService.GetAlbumCover("abc:def:ghi");
            }
            catch (Exception ex) {
                Assert.That(ex, Is.TypeOf <SpotifyServiceException>());
            }

            A.CallTo(() => logFake.ErrorFormat(A <string> .Ignored, A <object[]> .Ignored)).MustHaveHappened(Repeated.Exactly.Once);
        }
コード例 #2
0
        public void GetAlbumCover_AlbumCoverHtmlParserReturnsImageUrl_ReturnsAlbumCover()
        {
            var albumCoverHtmlParserFake = A.Fake <IAlbumCoverHtmlParser>();

            A.CallTo(() => albumCoverHtmlParserFake.Parse(A <IHtmlDocument> .Ignored)).Returns("jkl");
            var logFactoryFake = A.Fake <ILogFactory>();
            var logFake        = A.Fake <ILog>();

            A.CallTo(() => logFactoryFake.GetLogger(A <Type> .Ignored)).Returns(logFake);

            var albumCoverService = new AlbumCoverService(A.Fake <IAlbumHrefIdParser>(), albumCoverHtmlParserFake, A.Fake <IHtmlWebFactory>(), A.Fake <IUrlBuilder>(), logFactoryFake);

            var albumCover = albumCoverService.GetAlbumCover("abc:def:ghi");

            Assert.That(albumCover, Is.Not.Null);
            Assert.That(albumCover.AlbumHref, Is.EqualTo("abc:def:ghi"));
            Assert.That(albumCover.ImageUrl, Is.EqualTo("jkl"));
        }