Exemple #1
0
        public async Task ReadAsync_TwoExtractors_Post()
        {
            var extractor1 = Substitute.For <IPostExtractor>();

            extractor1.ExtractAsync("testUrl").Returns((Post)null);

            var extractor2 = Substitute.For <IPostExtractor>();

            extractor2.ExtractAsync("testUrl").Returns(new Post
            {
                Title    = "Test title",
                Content  = "Test content",
                Category = PostCategory.Game
            });

            var extractors = new IPostExtractor[]
            {
                extractor1,
                extractor2
            };

            var target = new PostReader(extractors);
            var actual = await target.ReadAsync("testUrl");

            Assert.IsNotNull(actual);
            Assert.AreEqual("Test title", actual.Title);
            Assert.AreEqual("Test content", actual.Content);
            Assert.AreEqual(PostCategory.Game, actual.Category);
        }
Exemple #2
0
        public async Task WritePostAsync(string sourcePostUrl, PostConfig config)
        {
            var post = await _reader.ReadAsync(sourcePostUrl);

            if (post != null)
            {
                await _writer.WriteAsync(post, config);
            }
        }