public void FailWhenCantFindBlankTile() { LegalBoardValidator legalBoardValidator = GetLegalBoardValidator(out LegalBoardValidatorContext legalBoardValidatorContext); int dontcare = 0; legalBoardValidatorContext.BlankTileIndexFinder.Setup(btif => btif.TryFind(It.IsAny <List <Tile> >(), out dontcare)).Returns(false); bool found = legalBoardValidator.Validate(new List <Tile>(), dontcare); Assert.False(found); }
private bool Validate(bool isSizeEven, bool isInversionsEven, bool isBlankEven) { LegalBoardValidator legalBoardValidator = GetLegalBoardValidator(out LegalBoardValidatorContext legalBoardValidatorContext); int size = isSizeEven ? 2 : 3; int inversions = isInversionsEven ? 2 : 3; int blankTileIndex = 0; legalBoardValidatorContext.BlankTileIndexFinder.Setup(btif => btif.TryFind(It.IsAny <List <Tile> >(), out blankTileIndex)) .Returns(true) .Callback(new BlankIndexSetter((List <Tile> tiles, out int index) => { index = isBlankEven ? 1 : 2; })); legalBoardValidatorContext.InversionsCounter.Setup(ic => ic.Count(It.IsAny <List <Tile> >())) .Returns(inversions); bool valid = legalBoardValidator.Validate(new List <Tile>(), size); return(valid); }