public void Detect_WinOnLastTile()
        {
            var context = _f.TestDataContext;

            WinTilesHelper.SetupForExtraPointLastTile(context, _f.MainPlayerUserName, selfPick: true);

            var round = _f.TestDataContext.Rounds.First();

            var result = new ExtraPointBuilder().GetExtraPoint(round, _f.MainPlayerUserName);

            Assert.Contains(ExtraPoint.WinOnLastTile, result);
        }
        public void Detect_PrevailingWind()
        {
            var context = _f.TestDataContext;

            WinTilesHelper.SetupForExtraPointsPrevailingWind(context, _f.MainPlayerUserName, selfPick: false);

            var round = _f.TestDataContext.Rounds.First();

            var result = new ExtraPointBuilder().GetExtraPoint(round, _f.MainPlayerUserName);

            Assert.Single(result);
            Assert.Contains(ExtraPoint.PrevailingWind, result);
        }
        public void Detect_AllFourFlowerSameType()
        {
            var context = _f.TestDataContext;

            WinTilesHelper.SetupForExtraPointFourNumericFlower(context, _f.MainPlayerUserName, selfPick: false);

            var round = _f.TestDataContext.Rounds.First();

            var result = new ExtraPointBuilder().GetExtraPoint(round, _f.MainPlayerUserName);

            Assert.Equal(2, result.Count());
            Assert.Contains(ExtraPoint.NumericFlower, result);
            Assert.Contains(ExtraPoint.AllFourFlowerSameType, result);
        }
Exemplo n.º 4
0
 public HomeGameCalculator(ExtraPointBuilder pointBuilder, HandTypeBuilder handBuilder)
 {
     _pointBuider   = pointBuilder;
     _handBuilder   = handBuilder;
     HandTypeLookup = new Dictionary <HandType, int>()
     {
         { HandType.None, 0 },
         { HandType.AllOneSuit, 7 },
         { HandType.BigDragon, 10 },
         { HandType.BigFourWind, 13 },
         { HandType.Chicken, 0 },
         { HandType.MixedOneSuit, 3 },
         { HandType.SevenPairs, 6 },
         { HandType.SmallDragon, 5 },
         { HandType.SmallFourWind, 13 },
         { HandType.Straight, 1 },
         { HandType.ThirteenOrphans, 13 },
         { HandType.Triplets, 3 },
         { HandType.HiddenTreasure, 13 },
         { HandType.AllTerminals, 13 },
         { HandType.MixedTerminals, 7 },
         { HandType.AllKongs, 13 },
         { HandType.AllHonors, 10 },
     };
     ExtraPointLookup = new Dictionary <ExtraPoint, int>()
     {
         { ExtraPoint.AllFourFlowerSameType, 1 },
         { ExtraPoint.ConcealedHand, 1 },
         { ExtraPoint.GreenDragon, 1 },
         { ExtraPoint.NoFlower, 1 },
         { ExtraPoint.None, 0 },
         { ExtraPoint.NumericFlower, 1 },
         { ExtraPoint.PrevailingWind, 1 },
         { ExtraPoint.RedDragon, 1 },
         { ExtraPoint.RomanFlower, 1 },
         { ExtraPoint.SeatWind, 1 },
         { ExtraPoint.SelfPick, 1 },
         { ExtraPoint.WhiteDragon, 1 },
         { ExtraPoint.WinOnLastTile, 1 },
     };
 }