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);
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 6
0
 public void ThenIExpectTheILiteDatabase_DeleteAllMovesResponsesToHaveBeenCalledTimes(int times)
 {
     MockLiteDatabase
     .Verify(a => a.DropCollection <MoveResponseRecord>(), Times.Once());
 }