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_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_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_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_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_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_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 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 async Task Should_Be_Invalid_Win() { var context = _f.TestDataContext; //setup common scenario can't win WinTilesHelper.SetupForInvalidWin(context, _f.MainPlayerUserName); var winCommand = new Win.Command { GameCode = _f.GameCode, RoundId = _f.RoundId, UserName = _f.MainPlayerUserName }; var sut = new Win.Handler(context, _mapper, _f.PointCalculator); await Assert.ThrowsAsync <RestException>(() => sut.Handle(winCommand, CancellationToken.None)); }