Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }