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); }
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 }, }; }