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); }
public void ThenIExpectTheILiteDatabase_EnsureIndexToHaveBeenCalledWithTheFollowing(string p0) { //wow, this one hurt my head a bit... Func <Expression <Func <MoveResponseRecord, string> >, bool> validatingFunkiness = (expression) => { return(p0.Equals(((MemberExpression)expression.Body).Member.Name)); }; MockLiteDatabase .Verify(a => a.EnsureIndex(It.Is <Expression <Func <MoveResponseRecord, string> > >(b => validatingFunkiness(b)), false), Times.Once()); }
public void ShouldDeleteAllMoveResponses() { //arrange //act MoveResponseRepository.DeleteAllMoveResponses(); //assert MockLiteDatabase .Verify(a => a.DropCollection <MoveResponseRecord>(), Times.Once()); }
public void ThenIExpectTheILiteDatabase_InsertBulkToHaveBeenCalledWithTheFollowingMoveResponseRecords(Table table) { Func <IEnumerable <MoveResponseRecord>, bool> verifyingFunc = (records) => { table.CompareToSet(records); return(true); }; MockLiteDatabase .Verify(a => a.InsertBulk(It.Is <IEnumerable <MoveResponseRecord> >(b => verifyingFunc(b))), Times.Once()); }
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); }
public void ThenIExpectTheILiteDatabase_DeleteAllMovesResponsesToHaveBeenCalledTimes(int times) { MockLiteDatabase .Verify(a => a.DropCollection <MoveResponseRecord>(), Times.Once()); }