示例#1
0
        public async Task KanjiTest(string entry, string title, string meaning, string imageUrl, string radical, string[] parts, string[] onyomi, string[] kunyomi)
        {
            bool isDone   = false;
            var  callback = new Func <UnitTestUserMessage, Task>((msg) =>
            {
                Assert.AreEqual(1, msg.Embeds.Count);
                var embed = msg.Embeds.ElementAt(0);
                Assert.AreEqual(4, embed.Fields.Length);
                Assert.AreEqual(title, embed.Title);
                Assert.AreEqual(meaning, embed.Description);
                Assert.True(embed.Image.HasValue);
                Assert.AreEqual(imageUrl, embed.Image.Value.Url);
                Assert.AreEqual(radical, embed.Fields[0].Value);

                var split1 = embed.Fields[1].Value.Split('\n');
                Assert.AreEqual(parts.Length, split1.Length);
                for (int i = 0; i < parts.Length; i++)
                {
                    Assert.AreEqual(parts[i], split1[i]);
                }

                var split2 = embed.Fields[2].Value.Split('\n');
                Assert.AreEqual(onyomi.Length, split2.Length);
                for (int i = 0; i < onyomi.Length; i++)
                {
                    Assert.AreEqual(onyomi[i], split2[i]);
                }

                var split3 = embed.Fields[3].Value.Split('\n');
                Assert.AreEqual(kunyomi.Length, split3.Length);
                for (int i = 0; i < kunyomi.Length; i++)
                {
                    Assert.AreEqual(kunyomi[i], split3[i]);
                }

                isDone = true;
                return(Task.CompletedTask);
            });

            var mod = new Module.Tool.LanguageModule();

            Common.AddContext(mod, callback);
            await mod.KanjiAsync(entry);

            while (!isDone)
            {
            }
        }
示例#2
0
        public async Task JapaneseTest(string entry, string title1, string contentLine1) // If the first line is okay, the rest should be okay too
        {
            bool isDone   = false;
            var  callback = new Func <UnitTestUserMessage, Task>((msg) =>
            {
                Assert.AreEqual(1, msg.Embeds.Count);
                var embed = msg.Embeds.ElementAt(0);
                Assert.AreEqual(5, embed.Fields.Length);
                var firstField = embed.Fields[0];
                Assert.AreEqual(title1, firstField.Name);
                Assert.AreEqual(contentLine1, firstField.Value.Split('\n')[0]);
                isDone = true;
                return(Task.CompletedTask);
            });

            var mod = new Module.Tool.LanguageModule();

            Common.AddContext(mod, callback);
            await mod.JapaneseAsync(entry);

            while (!isDone)
            {
            }
        }