protected override bool Test(ICollection <YakuValue> result, ITiles tiles, IGroups groups, YakuEnvironment env)
        {
            int dora = tiles.Count(t => t.IsRedDora);

            if (dora == 0)
            {
                return(false);
            }
            result.Add(YakuValue.FromFanValue(this, "赤宝牌", 0, dora));
            return(true);
        }
        protected override bool Test(ICollection <YakuValue> result, ITiles tiles, IGroups groups, YakuEnvironment env)
        {
            if (!TestRon(tiles, env))
            {
                return(true);
            }

            if (tiles.Count(t => t.BaseTile == tiles.Added.BaseTile) == 2)
            {
                result.Add(YakuValue.FromFullYaku(this, "国士无双十三面", 1));
            }
            else
            {
                result.Add(YakuValue.FromFullYaku(this, "国士无双", 1));
            }
            return(true);
        }