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

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

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

            var result = new HandTypeBuilder().GetHandType(round, _f.MainPlayerUserName);

            Assert.Contains(HandType.ThirteenOrphans, result);
        }
        public void Detect_No_AllHonors()
        {
            var context = _f.TestDataContext;

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

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

            var result = new HandTypeBuilder().GetHandType(round, _f.MainPlayerUserName);

            Assert.DoesNotContain(HandType.AllHonors, result);
        }
        public void Detect_InvalidWin()
        {
            var context = _f.TestDataContext;

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

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

            var result = new HandTypeBuilder().GetHandType(round, _f.MainPlayerUserName);

            Assert.Empty(result);
        }
        public void Detect_Not_HiddenTreasure()
        {
            var context = _f.TestDataContext;

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

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

            var result = new HandTypeBuilder().GetHandType(round, _f.MainPlayerUserName);

            Assert.DoesNotContain(HandType.HiddenTreasure, result);
        }
        public void Detect_HiddenTreasure()
        {
            var context = _f.TestDataContext;

            WinTilesHelper.SetupForHiddenTreasure(context, _f.MainPlayerUserName);

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

            var result = new HandTypeBuilder().GetHandType(round, _f.MainPlayerUserName);

            Assert.Contains(HandType.HiddenTreasure, result);
        }
        public void Detect_AllOneSuit()
        {
            var context = _f.TestDataContext;

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

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

            var result = new HandTypeBuilder().GetHandType(round, _f.MainPlayerUserName);

            Assert.Contains(HandType.AllOneSuit, result);
            Assert.Contains(HandType.Chicken, result);
        }
        public void Detect_BigFourWind_Chicken()
        {
            var context = _f.TestDataContext;

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

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

            var result = new HandTypeBuilder().GetHandType(round, _f.MainPlayerUserName);

            Assert.Contains(HandType.BigFourWind, result);
            Assert.Contains(HandType.MixedOneSuit, result);
            Assert.Contains(HandType.Triplets, result);
        }
        public void Detect_BigDragon_Chicken()
        {
            var context = _f.TestDataContext;

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

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

            var result = new HandTypeBuilder().GetHandType(round, _f.MainPlayerUserName);

            Assert.Equal(2, result.Count());
            Assert.Contains(HandType.BigDragon, result);
            Assert.Contains(HandType.Chicken, result);
        }
Esempio n. 9
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 },
     };
 }