Exemple #1
0
        public void GivenTestData_WhenBuildPackage_ShouldVerify()
        {
            string specFile    = new TestResources().WriteTestData_1();
            string buildFolder = Path.Combine(Path.GetTempPath(), nameof(nBlog), "build", Guid.NewGuid().ToString());

            string packageFile = new ArticlePackageBuilder()
                                 .SetSpecFile(specFile)
                                 .SetBuildFolder(buildFolder)
                                 .SetObjFolder(Path.Combine(buildFolder, "obj"))
                                 .Build();

            IReadOnlyList <WordCount> wordCounts = new ArticlePackageIndexBuilder().Build(packageFile);

            wordCounts.Should().NotBeNull();
            wordCounts.Count.Should().BeGreaterThan(0);

            var list = new[]
            {
                new WordCount {
                    Word = "#nblog", Count = 1
                },
                new WordCount {
                    Word = "Contact", Count = 2
                },
                new WordCount {
                    Word = "Email", Count = 1
                },
                new WordCount {
                    Word = "nBlog@domain", Count = 1
                },
                new WordCount {
                    Word = "net", Count = 1
                },
                new WordCount {
                    Word = "Please", Count = 1
                },
                new WordCount {
                    Word = "Twitter", Count = 1
                },
                new WordCount {
                    Word = "us", Count = 1
                },
            };

            Enumerable.SequenceEqual(wordCounts, list).Should().BeTrue();
        }
Exemple #2
0
        private void BuildIndex(Context context, string packageFile, CancellationToken token)
        {
            _logger.LogInformation($"{nameof(BuildIndex)}: packageFile={packageFile}");

            byte[]         bytes          = File.ReadAllBytes(packageFile);
            ArticlePayload articlePayload = bytes.ToArticlePayload((ArticleId)"id");

            IReadOnlyList <WordCount> wordCounts = new ArticlePackageIndexBuilder().Build(articlePayload);

            ArticleManifest articleManifest = articlePayload.ReadManifest();

            var articleIndex = new ArticleIndex
            {
                ArticleId   = articleManifest.ArticleId,
                WordIndexes = wordCounts,
            };

            context.Queue.Enqueue(articleIndex);
        }