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