public static void MatchingAllCards() { var randomGrid = GameGridModel.GenerateRandomGrid(); randomGrid.ResetCardStates(); Assert.IsTrue(randomGrid.cards.Count % 2 == 0); int cycles = randomGrid.cards.Count / 2; for (int i = 0; i < cycles; i++) { Card selectedCard = randomGrid.cards.Find(x => (x.state != ECardState.Eliminated)); Assert.IsNotNull(selectedCard); List <Card> match = randomGrid.cards.FindAll(x => (x.content == selectedCard.content)); Assert.IsTrue(match != null && match.Count == 2); match[0].state = ECardState.FaceUp; match[1].state = ECardState.FaceUp; GameGridModel.UpdateGameGrid(randomGrid); Assert.IsTrue(match[0].state == ECardState.Eliminated); Assert.IsTrue(match[1].state == ECardState.Eliminated); } for (int i = 0; i < randomGrid.cards.Count; i++) { Assert.IsTrue(randomGrid.cards[i].state == ECardState.Eliminated); } }
public static void SingleCardStaysFaceUp() { var randomGrid = GameGridModel.GenerateRandomGrid(); randomGrid.ResetCardStates(); Card selectedCard = randomGrid.cards[0]; selectedCard.state = ECardState.FaceUp; GameGridModel.UpdateGameGrid(randomGrid); Assert.IsTrue(selectedCard.state == ECardState.FaceUp); }
public static void NonMatchingCardsFlipDown() { var randomGrid = GameGridModel.GenerateRandomGrid(); randomGrid.ResetCardStates(); Card selectedCard = randomGrid.cards[0]; Card nonMatchingCard = randomGrid.cards.Find(x => (x.content != selectedCard.content)); selectedCard.state = ECardState.FaceUp; nonMatchingCard.state = ECardState.FaceUp; GameGridModel.UpdateGameGrid(randomGrid); Assert.IsTrue(selectedCard.state == ECardState.FaceDown); Assert.IsTrue(nonMatchingCard.state == ECardState.FaceDown); }
public static void MatchingCardsEliminated() { var randomGrid = GameGridModel.GenerateRandomGrid(); randomGrid.ResetCardStates(); Card selectedCard = randomGrid.cards[0]; List <Card> matchingCards = randomGrid.cards.FindAll(x => (x.content == selectedCard.content)); for (int i = 0; i < matchingCards.Count; i++) { matchingCards[i].state = ECardState.FaceUp; } GameGridModel.UpdateGameGrid(randomGrid); for (int i = 0; i < matchingCards.Count; i++) { Assert.IsTrue(matchingCards[i].state == ECardState.Eliminated); } }