예제 #1
0
        public void Gimei_NewNameメソッドについて_100回連続で呼び出すと男性名と女性名がそれぞれ1個以上_計100個返ってくること()
        {
            var counter = new Dictionary <GenderIdentity, int>
            {
                { GenderIdentity.Male, 0 }, { GenderIdentity.Female, 0 }
            };

            for (var i = 0; i < 100; i++)
            {
                var target = Gimei.NewName();
                counter[target.Gender]++;
            }
            Assert.GreaterOrEqual(counter[GenderIdentity.Male], 1);
            Assert.GreaterOrEqual(counter[GenderIdentity.Female], 1);
            Assert.AreEqual(100, counter[GenderIdentity.Male] + counter[GenderIdentity.Female]);
        }
예제 #2
0
        public void Gimei_NewNameメソッドについて_100回連続で呼び出しても_KanjiプロパティはBMPの全角文字列とスペース_Hiraganaプロパティはひらがなとスペース_Katakanaプロパティはカタカナとスペースを返すこと()
        {
            // 埋め込まれたデータはBMP内の文字しかないという想定
            const string kanjiPattern =
                "^["
                + @" "
                + @"\p{IsCJKRadicalsSupplement}"
                + @"\p{IsCJKSymbolsandPunctuation}"
                + @"\p{IsHiragana}"
                + @"\p{IsKatakana}"
                + @"\p{IsCJKUnifiedIdeographsExtensionA}"
                + @"\p{IsCJKUnifiedIdeographs}"
                + @"\p{IsCJKCompatibilityIdeographs}"
                + "]+$";

            for (var i = 0; i < 100; i++)
            {
                var target = Gimei.NewName();
                Assert.True(Regex.IsMatch(target.Kanji, kanjiPattern), target.Kanji);
                Assert.True(Regex.IsMatch(target.Hiragana, @"^[ \p{IsHiragana}]+$"), target.Hiragana);
                Assert.True(Regex.IsMatch(target.Katakana, @"^[ \p{IsKatakana}]+$"), target.Katakana);
            }
        }