public void ShouldInsertMoveResponses() { //arrange var moveResponses = new MoveResponse[] { new MoveResponse() { Board = "____X____", Outcome = GameState.XWin, Player = Player.X, Response = Move.Southern }, new MoveResponse() { Board = "X__XX__OO", Outcome = GameState.OWin, Player = Player.O, Response = Move.Northern } }; IEnumerable <MoveResponseRecord> responsesReceived = null; MockLiteDatabase .Setup(a => a.InsertBulk(It.IsAny <IEnumerable <MoveResponseRecord> >())) .Callback <IEnumerable <MoveResponseRecord> >(a => responsesReceived = a); //act MoveResponseRepository.InsertMoveResponses(moveResponses); //assert var expectedMoveResponses = new MoveResponseRecord[] { new MoveResponseRecord() { Board = "____X____", Outcome = GameState.XWin, Player = Player.X, Response = Move.Southern }, new MoveResponseRecord() { Board = "X__XX__OO", Outcome = GameState.OWin, Player = Player.O, Response = Move.Northern } }; MockLiteDatabase .Verify(a => a.InsertBulk(It.IsAny <IEnumerable <MoveResponseRecord> >()), Times.Once()); MockLiteDatabase .Verify(a => a.EnsureIndex(It.IsAny <Expression <Func <MoveResponseRecord, string> > >(), false), Times.Once()); expectedMoveResponses.ShouldAllBeEquivalentTo(responsesReceived); }
private MoveResponse ToMoveResponse(MoveResponseRecord moveResponseRecord) { if (moveResponseRecord == null) { return(null); } return(new MoveResponse() { Board = moveResponseRecord.Board, Outcome = moveResponseRecord.Outcome, Player = moveResponseRecord.Player, Response = moveResponseRecord.Response }); }
public void ShouldFindMoveResponses() { //arrange var aBoardPosition = "___XOX___"; var aPlayer = Player.X; var moveResponseRecords = new MoveResponseRecord[] { new MoveResponseRecord() { Board = "____X____", Outcome = GameState.XWin, Player = Player.X, Response = Move.Southern }, new MoveResponseRecord() { Board = "X__XX__OO", Outcome = GameState.OWin, Player = Player.O, Response = Move.Northern } }; MockLiteDatabase .Setup(a => a.FindByIndex(It.IsAny <Expression <Func <MoveResponseRecord, bool> > >())) .Returns(moveResponseRecords); //act var results = MoveResponseRepository.FindMoveResponses(aBoardPosition, aPlayer); //assert var expectedMoveResponses = new MoveResponse[] { new MoveResponse() { Board = "____X____", Outcome = GameState.XWin, Player = Player.X, Response = Move.Southern } }; results.ShouldAllBeEquivalentTo(expectedMoveResponses); }