Esempio n. 1
0
        public void GetTurnResultOfEndOfGameFrom35TilesBeingPlaced()
        {
            TestScenerios test  = new TestScenerios();
            Board         board = test.createBoardWithDrawPile(new List <Tile> {
            });
            Tile t1             = test.makeTile(0, 1, 2, 3, 4, 5, 6, 7);

            for (int i = 0; i < 6; i++)
            {
                for (int j = 0; j < 6; j++)
                {
                    board.grid[i, j] = t1;
                }
            }
            board.grid[1, 1] = null;

            SPlayer p1 = test.createPlayerAtPos("green", new List <Tile> {
            }, new RandomPlayer(), new Posn(2, 2, 2), board);
            SPlayer p2 = test.createPlayerAtPos("sienna", new List <Tile> {
            }, new RandomPlayer(), new Posn(2, 2, 3), board);

            board.setDragonTileHolder(p1);
            TurnResult tr = board.GetTurnResult();

            Assert.IsTrue(tr.playResult != null);
        }
Esempio n. 2
0
        public void TileActuallyRotates()
        {
            TestScenerios test = new TestScenerios();
            Tile          t1   = test.makeTile(0, 1, 2, 4, 3, 6, 5, 7);

            Tile t1_test_rotated = t1.rotate();

            Tile t1_actual_rotated = test.makeTile(2, 3, 4, 6, 5, 0, 7, 1);

            int j = 0;

            foreach (Path p in t1_actual_rotated.paths)
            {
                Assert.IsTrue(p.isEqual(t1_test_rotated.paths[j]));
                j++;
            }
            //check tile rotates once
            Assert.IsTrue(t1_test_rotated.isEqualOrRotation(t1_actual_rotated));

            //check that after tile is rotated 4 times, it is equivalent to the orig orientation
            for (int i = 0; i < 3; i++)
            {
                t1_test_rotated = t1_test_rotated.rotate();
            }

            Assert.IsTrue(t1_test_rotated.isEqualOrRotation(t1));
        }
Esempio n. 3
0
        public void RotatedTileIsEqualToOriginalTile()
        {
            TestScenerios test = new TestScenerios();
            Tile          t1   = test.makeTile(0, 1, 2, 4, 3, 6, 5, 7);

            Assert.IsTrue(t1.isEqualOrRotation(t1.rotate()));
        }
Esempio n. 4
0
        public void DragonTileHolderDoesNotChangeAfterPlayATurn()
        {
            TestScenerios test = new TestScenerios();

            Admin a  = test.createAdminWithDrawPile(new List <Tile> {
            });
            Board b  = new Board();
            Tile  t1 = test.makeTile(7, 0, 6, 1, 5, 4, 2, 3);
            Tile  t2 = test.makeTile(1, 3, 0, 5, 2, 7, 4, 6);
            Tile  t3 = test.makeTile(2, 4, 3, 6, 5, 1, 7, 0);

            SPlayer p1 = test.createPlayerAtPos("red", new List <Tile> {
                t1, t2
            }, new RandomPlayer(), new Posn(3, 4, 3), b);
            SPlayer p2 = test.createPlayerAtPos("green", new List <Tile> {
                t1, t2, t3
            }, new RandomPlayer(), new Posn(3, 4, 3), b);
            SPlayer p3 = test.createPlayerAtPos("blue", new List <Tile> {
                t1, t2
            }, new RandomPlayer(), new Posn(2, 4, 6), b);

            a.addToActivePlayers(p1);
            a.addToActivePlayers(p2);
            a.addToActivePlayers(p3);


            a.setDragonTileHolder(p3);
            a.playATurn(b, t3);

            Assert.AreEqual("blue", a.getDragonTileHolder().getColor());
            Console.WriteLine(XMLEncoder.splayerToXML(p3, a));
        }
Esempio n. 5
0
        //PT8 via Tremor via Age variable and 2 strings
        public void Pt8ViaTremorViaAgeVariable2Strings()
        {
            var questionPage = TestScenerios.LaunchTriageScenerio(Driver, "Tremor", TestScenerioSex.Male, 13);

            var outcomePage = questionPage
                              .AnswerNo()
                              .Answer(3)
                              .AnswerSuccessiveNo(3)
                              .AnswerForDispostion <OutcomePage>("Yes");

            outcomePage.VerifyDispositionCode("Dx06");

            var genderPage = outcomePage.NavigateBackToGenderPage();

            genderPage.VerifyHeader();
            genderPage.SelectSexAndAge(TestScenerioSex.Male, 14);

            var searchpage      = genderPage.NextPage();
            var newQuestionPage = searchpage.TypeSearchTextAndSelect("Tremor");

            var newOutcomePage = newQuestionPage
                                 .AnswerNo()
                                 .Answer(3)
                                 .AnswerSuccessiveNo(3)
                                 .AnswerForDispostion <OutcomePage>("Yes");

            newOutcomePage.VerifyDispositionCode("Dx35");
        }
Esempio n. 6
0
        public void MakeAMoveCauseTokenToCrossMultipleTiles()
        {
            TestScenerios test = new TestScenerios();
            Tile          t1   = test.makeTile(0, 1, 2, 4, 3, 6, 5, 7);
            Tile          t2   = test.makeTile(0, 6, 1, 5, 2, 4, 3, 7);
            Tile          t3   = test.makeTile(0, 5, 1, 4, 2, 7, 3, 6);
            Tile          t4   = test.makeTile(0, 1, 2, 7, 4, 5, 3, 6);

            Admin a = new Admin();
            Board b = new Board();

            SPlayer p1 = new SPlayer("blue", new List <Tile>());

            b.addPlayerToBoard(p1.getColor(), new Posn(1, 1, 3));

            a.addToActivePlayers(p1);

            b.placeTileAt(t2, 1, 1);
            b.placeTileAt(t1, 1, 3);
            b.placeTileAt(t3, 1, 4);

            TurnResult tr         = a.playATurn(b, t4);
            Posn       playerPosn = b.getPlayerPosn(tr.currentPlayers[0].getColor());

            Assert.IsTrue(new Posn(1, 4, 3).isEqual(playerPosn));
        }
Esempio n. 7
0
        public void DragonTileBeforeTurnStillNoNewTiles()
        {
            TestScenerios test = new TestScenerios();
            Tile          t1   = test.makeTile(0, 2, 1, 6, 3, 5, 4, 7);
            Tile          t2   = test.makeTile(0, 1, 2, 7, 3, 4, 5, 6);

            Admin a = new Admin();
            Board b = new Board();

            SPlayer p1 = new SPlayer("blue", new List <Tile>());

            b.addPlayerToBoard(p1.getColor(), new Posn(1, 0, 2));


            SPlayer p2 = new SPlayer("green", new List <Tile>());

            b.addPlayerToBoard(p2.getColor(), new Posn(0, 1, 5));

            SPlayer p3 = new SPlayer("hotpink", new List <Tile>());

            b.addPlayerToBoard(p3.getColor(), new Posn(1, 2, 6));

            a.addToActivePlayers(p1);
            a.addToActivePlayers(p2);
            a.addToActivePlayers(p3);

            b.placeTileAt(t2, 1, 2);

            TurnResult tr = a.playATurn(b, t1);

            Assert.IsTrue(a.isDragonHolder("blue"));
            Assert.IsTrue(tr.currentPlayers[0].getHand().Count == 0);
            Assert.IsTrue(tr.currentPlayers[1].getHand().Count == 0);
            Assert.IsTrue(tr.currentPlayers[2].getHand().Count == 0);
        }
Esempio n. 8
0
        public void DragonHolderEliminatedPassestoNextClockwisePlayer()
        {
            Admin a     = new Admin();
            Board board = new Board();

            SPlayer p1 = new SPlayer("blue", new List <Tile>(), new RandomPlayer());
            SPlayer p2 = new SPlayer("green", new List <Tile>(), new RandomPlayer());
            SPlayer p3 = new SPlayer("hotpink", new List <Tile>(), new RandomPlayer());

            // Initialize start positions to satisfy contract - can't be
            //   eliminated before placing pawn
            TestScenerios test = new TestScenerios();

            test.setStartPos00(board, p1);
            test.setStartPos(board, p2, new Posn(3, 3, 3));
            test.setStartPos(board, p3, new Posn(4, 3, 3));

            a.addToActivePlayers(p1);
            a.addToActivePlayers(p2);
            a.addToActivePlayers(p3);

            a.setDragonTileHolder(p2);
            a.eliminatePlayer(p2.getColor());


            Assert.IsTrue(a.isDragonHolder("hotpink"));
            Assert.IsTrue(p3.getHand().Count < 3);
        }
Esempio n. 9
0
        public void DragonTileHolderChangesFromPlayerToNullIfAfterDrawingAllPlayersHave3Tiles()
        {
            TestScenerios test = new TestScenerios();
            Tile          t1   = test.makeTile(0, 1, 2, 4, 3, 6, 5, 7);
            Tile          t2   = test.makeTile(0, 1, 2, 3, 4, 5, 6, 7);
            Tile          t3   = test.makeTile(0, 3, 2, 4, 1, 6, 5, 7);
            Tile          t4   = test.makeTile(0, 2, 4, 5, 1, 7, 3, 6);
            Tile          t5   = test.makeTile(1, 2, 3, 4, 5, 6, 7, 0);
            Tile          t6   = test.makeTile(1, 5, 2, 4, 3, 7, 0, 6);

            Admin admin = test.createAdminWithDrawPile(new List <Tile> {
                t1, t2
            });
            Board   board = new Board();
            SPlayer p1    = test.createPlayerAtPos("blue", new List <Tile> {
                t3, t4
            }, new RandomPlayer(), new Posn(2, 2, 2), board);
            SPlayer p2 = test.createPlayerAtPos("red", new List <Tile> {
                t3, t4
            }, new RandomPlayer(), new Posn(2, 2, 2), board);
            SPlayer p3 = test.createPlayerAtPos("sienna", new List <Tile> {
                t3, t4, t1
            }, new RandomPlayer(), new Posn(2, 2, 2), board);

            admin.addToActivePlayers(p1);
            admin.addToActivePlayers(p2);
            admin.addToActivePlayers(p3);

            admin.setDragonTileHolder(p1);
            admin.drawTilesWithDragonHolder();

            Assert.IsNull(admin.getDragonTileHolder());
        }
Esempio n. 10
0
        public void MostSymPlayerChoosesMidSymTile()
        {
            TestScenerios test         = new TestScenerios();
            Tile          mostSymTile  = test.makeTile(0, 1, 2, 3, 4, 5, 6, 7);
            Tile          medSymTile   = test.makeTile(0, 6, 1, 5, 2, 4, 3, 7);
            Tile          leastSymTile = test.makeTile(0, 5, 1, 3, 2, 6, 4, 7);

            //purposefully unordered
            List <Tile> playerTiles = test.makeHand(medSymTile, mostSymTile, leastSymTile);

            SPlayer p1 = new SPlayer("hotpink", playerTiles, new MostSymmetricPlayer());

            Board b = new Board();

            p1.initialize(b);
            test.setStartPos00(b, p1);
            // Assign start position to top left of board
            p1.setPosn(new Posn(-1, 0, 5));

            Tile checkTile = p1.playTurn(b, 0);

            //playturn should return the mid symmetric tile (first valid move)
            Assert.IsTrue(checkTile.isEqual(medSymTile));

            Assert.IsTrue(checkTile.paths[0].isEqual(new Path(2, 0)));
            Assert.IsTrue(checkTile.paths[1].isEqual(new Path(3, 7)));
            Assert.IsTrue(checkTile.paths[2].isEqual(new Path(4, 6)));
            Assert.IsTrue(checkTile.paths[3].isEqual(new Path(5, 1)));
        }
Esempio n. 11
0
        public void GetLegalMoves()
        {
            TestScenerios test = new TestScenerios();
            Tile          t1   = test.makeTile(0, 1, 2, 3, 4, 5, 6, 7);
            Tile          t2   = test.makeTile(0, 1, 2, 6, 3, 7, 4, 5);
            Tile          t3   = test.makeTile(0, 5, 1, 3, 2, 6, 4, 7);
            List <Tile>   hand = new List <Tile> {
                t1, t2, t3
            };
            Board   b  = new Board();
            SPlayer p1 = test.createPlayerAtPos("blue", hand, new RandomPlayer(),
                                                new Posn(-1, 0, 4), b);

            // Call test function
            List <Tile> actualLegalMoves = b.getLegalMoves(hand, "blue");

            // Construct expected result
            Tile        t2Rot    = test.makeTile(0, 4, 1, 5, 2, 3, 6, 7);
            Tile        t3Rot2   = test.makeTile(0, 3, 1, 4, 2, 6, 5, 7);
            List <Tile> expected = new List <Tile> {
                t2Rot, t3, t3Rot2
            };

            Assert.AreEqual(3, actualLegalMoves.Count);
            for (int i = 0; i < actualLegalMoves.Count; i++)
            {
                Assert.IsTrue(actualLegalMoves[i].isEqualOrRotation(expected[i]));
            }
        }
Esempio n. 12
0
        public void LeastSymPlayerChoosesLeastSymTileRotated()
        {
            //the least symmetric tile is not valid unless rotated once
            //so the player will rotate the least symmetric tile and play that move
            TestScenerios test         = new TestScenerios();
            Tile          mostSymTile  = test.makeTile(0, 1, 2, 3, 4, 5, 6, 7);
            Tile          medSymTile   = test.makeTile(0, 6, 1, 5, 2, 4, 3, 7);
            Tile          leastSymTile = test.makeTile(0, 5, 1, 3, 2, 6, 4, 7);

            //purposefully unordered
            List <Tile> playerTiles = test.makeHand(medSymTile, mostSymTile, leastSymTile);

            SPlayer p1 = new SPlayer("blue", playerTiles, new LeastSymmetricPlayer());
            //p1.initialize("blue", new List<string> { "hotpink", "green" });

            Board b = new Board();

            p1.initialize(b);
            test.setStartPos00(b, p1);
            p1.setPosn(new Posn(1, 0, 0));

            Tile checkTile = p1.playTurn(b, 0);

            //playturn should return the least symmetric tile rotated once
            Assert.IsTrue(checkTile.isEqual(leastSymTile));

            Assert.IsTrue(checkTile.paths[0].isEqual(new Path(2, 7)));
            Assert.IsTrue(checkTile.paths[1].isEqual(new Path(3, 5)));
            Assert.IsTrue(checkTile.paths[2].isEqual(new Path(4, 0)));
            Assert.IsTrue(checkTile.paths[3].isEqual(new Path(6, 1)));
        }
Esempio n. 13
0
        public void DragonTileHolderGetsEliminatedAndReturnsTilesToDrawPile()
        {
            TestScenerios test       = new TestScenerios();
            Tile          toPlayTile = test.makeTile(0, 4, 1, 5, 2, 6, 3, 7);
            Tile          redTile1   = test.makeTile(0, 1, 2, 3, 4, 5, 6, 7);
            Tile          redTile2   = test.makeTile(0, 3, 2, 4, 1, 6, 5, 7);
            Tile          blueTile1  = test.makeTile(0, 2, 4, 5, 1, 7, 3, 6);
            Tile          blueTile2  = test.makeTile(1, 2, 3, 4, 5, 6, 7, 0);
            Tile          randTile   = test.makeTile(1, 5, 2, 4, 3, 7, 0, 6);

            Board board = test.createBoardWithDrawPile(new List <Tile> {
            });

            SPlayer p1 = test.createPlayerAtPos("red", new List <Tile> {
                redTile1, redTile2
            }, new RandomPlayer(), new Posn(1, 2, 1), board);
            SPlayer p2 = test.createPlayerAtPos("green", new List <Tile> {
                randTile, randTile, randTile
            }, new RandomPlayer(), new Posn(3, 3, 3), board);
            SPlayer p3 = test.createPlayerAtPos("sienna", new List <Tile> {
                randTile, randTile, randTile
            }, new RandomPlayer(), new Posn(1, 5, 5), board);
            SPlayer p4 = test.createPlayerAtPos("blue", new List <Tile> {
                blueTile1, blueTile2
            }, new RandomPlayer(), new Posn(1, 2, 0), board);

            board.setDragonTileHolder(p4);
            Admin admin = new Admin();

            admin.playATurn(board, toPlayTile);

            Assert.AreEqual(4, board.drawPile.Count);
            Assert.IsFalse(board.existsDragonTileHolder());
        }
Esempio n. 14
0
        public void DragonTileHolderGetsEliminatedAndDragonTileHolderReturnsToNull()
        {
            TestScenerios test = new TestScenerios();
            Tile          t1   = test.makeTile(0, 1, 2, 4, 3, 6, 5, 7);
            Tile          t2   = test.makeTile(0, 1, 2, 3, 4, 5, 6, 7);
            Tile          t3   = test.makeTile(0, 3, 2, 4, 1, 6, 5, 7);
            Tile          t4   = test.makeTile(0, 2, 4, 5, 1, 7, 3, 6);
            Tile          t5   = test.makeTile(1, 2, 3, 4, 5, 6, 7, 0);
            Tile          t6   = test.makeTile(1, 5, 2, 4, 3, 7, 0, 6);

            Board board = test.createBoardWithDrawPile(new List <Tile> {
            });

            SPlayer p1 = test.createPlayerAtPos("red", new List <Tile> {
                t3, t4
            }, new RandomPlayer(), new Posn(2, 2, 2), board);
            SPlayer p2 = test.createPlayerAtPos("green", new List <Tile> {
                t3, t4, t2
            }, new RandomPlayer(), new Posn(2, 2, 2), board);
            SPlayer p3 = test.createPlayerAtPos("sienna", new List <Tile> {
                t3, t4, t1
            }, new RandomPlayer(), new Posn(2, 2, 2), board);
            SPlayer p4 = test.createPlayerAtPos("blue", new List <Tile> {
                t3, t4
            }, new RandomPlayer(), new Posn(2, 2, 2), board);

            board.setDragonTileHolder(p4);
            board.eliminatePlayer(p1);
            board.eliminatePlayer(p4);

            Assert.AreEqual(4, board.drawPile.Count);
            Assert.IsFalse(board.existsDragonTileHolder());
        }
Esempio n. 15
0
        public void PlayAValidTurnChangesOrderOfInGamePlayers()
        {
            TestScenerios test = new TestScenerios();
            Tile          t1   = test.makeTile(0, 1, 2, 4, 3, 6, 5, 7);
            Tile          t2   = test.makeTile(0, 6, 1, 5, 2, 4, 3, 7);
            Tile          t3   = test.makeTile(0, 5, 1, 4, 2, 7, 3, 6);

            List <Tile> drawpile = test.makeDrawPile(t2, t3);
            Admin       a        = test.createAdminWithDrawPile(drawpile);
            Board       b        = new Board();

            SPlayer p1    = new SPlayer("blue", new List <Tile>());
            Posn    p1Pos = new Posn(0, 0, 3);
            SPlayer p2    = new SPlayer("green", new List <Tile>());
            Posn    p2Pos = new Posn(4, 4, 0);

            a.addToActivePlayers(p1);
            a.addToActivePlayers(p2);

            b.addPlayerToBoard("blue", p1Pos);
            b.addPlayerToBoard("green", p2Pos);

            List <SPlayer> l1 = new List <SPlayer>()
            {
                p1, p2
            };

            List <SPlayer> l2 = new List <SPlayer>();

            TurnResult tmpturn = a.playATurn(b, t1);

            Assert.IsTrue(tmpturn.currentPlayers[0].getColor() == "green");
            Assert.IsTrue(tmpturn.currentPlayers[1].getColor() == "blue");
            Assert.IsTrue(tmpturn.currentPlayers.Count == 2);
        }
Esempio n. 16
0
        public void EndOfGameFrom35TilesBeingPlaced()
        {
            TestScenerios test   = new TestScenerios();
            Board         board  = new Board();
            Admin         admin  = new Admin();
            Tile          t1     = test.makeTile(0, 1, 2, 3, 4, 5, 6, 7);
            Tile          t_play = test.makeTile(0, 5, 1, 4, 2, 7, 3, 6);

            for (int i = 0; i < 6; i++)
            {
                for (int j = 0; j < 6; j++)
                {
                    board.placeTileAt(t1, i, j);
                }
            }

            // Clear two tiles
            board.placeTileAt(null, 2, 3);
            board.placeTileAt(null, 2, 4);

            SPlayer p1 = test.createPlayerAtPos("green", new List <Tile> {
            }, new RandomPlayer(), new Posn(2, 2, 2), board);
            SPlayer p2 = test.createPlayerAtPos("sienna", new List <Tile> {
            }, new RandomPlayer(), new Posn(2, 2, 3), board);

            admin.addToActivePlayers(p1);
            admin.addToActivePlayers(p2);

            TurnResult tr = admin.playATurn(board, t_play);

            Assert.IsTrue(tr.playResult != null);
        }
Esempio n. 17
0
        public void ValidTurnCausePlayerToBeEliminated()
        {
            TestScenerios test = new TestScenerios();
            Tile          t1   = test.makeTile(0, 1, 2, 4, 3, 6, 5, 7);
            Tile          t2   = test.makeTile(0, 6, 1, 5, 2, 4, 3, 7);
            Tile          t3   = test.makeTile(0, 5, 1, 4, 2, 7, 3, 6);

            List <Tile> drawpile = test.makeDrawPile(t2, t3);
            Admin       a        = test.createAdminWithDrawPile(drawpile);
            Board       b        = new Board();

            SPlayer p1    = new SPlayer("p1", new List <Tile>());
            Posn    p1Pos = new Posn(0, 1, 6);

            test.setStartPos(b, p1, p1Pos);
            SPlayer p2    = new SPlayer("p2", new List <Tile>());
            Posn    p2Pos = new Posn(4, 4, 0);

            test.setStartPos(b, p2, p2Pos);

            a.addToActivePlayers(p1);
            a.addToActivePlayers(p2);

            TurnResult tmpturn = a.playATurn(b, t1);

            Assert.AreEqual(1, a.numEliminated(), "count of eliminated players has not increased to 1");
            Assert.IsTrue(tmpturn.eliminatedPlayers.Count == 1, "count of eliminated players has not increased to 1");
            Assert.IsTrue(tmpturn.eliminatedPlayers.Exists(x => x.getColor() == "p1"), "p1 has not been moved to eliminated players");
            Assert.IsFalse(tmpturn.currentPlayers.Exists(x => x.getColor() == "p1"), "p1 has not been removed from current players");
            Assert.IsTrue(tmpturn.currentPlayers.Count == 1, "count of current players has not decreased to 1");
        }
Esempio n. 18
0
        public void SearchPage_SelectFirstResultStartsPathway()
        {
            var searchPage   = TestScenerios.LaunchSearchScenerio(Driver, TestScenerioSex.Male, 30);
            var questionPage = searchPage.TypeSearchTextAndSelect("Bites and Stings");

            questionPage.VerifyQuestionPageLoaded();
        }
Esempio n. 19
0
        public void Player1MoveCausesPlayer2MovementBeforeFirstTurn()
        {
            TestScenerios test  = new TestScenerios();
            Tile          t1    = test.makeTile(0, 2, 1, 5, 3, 7, 4, 6);
            Board         board = new Board();
            Admin         admin = new Admin();

            SPlayer p1 = new SPlayer("blue", new List <Tile>(), new RandomPlayer());

            board.addPlayerToBoard(p1.getColor(), new Posn(5, 6, 7));

            SPlayer p2 = new SPlayer("green", new List <Tile>(), new RandomPlayer());

            board.addPlayerToBoard(p2.getColor(), new Posn(5, 6, 6));

            admin.addToActivePlayers(p1);
            admin.addToActivePlayers(p2);

            TurnResult tr = admin.playATurn(board, t1);

            Posn p1EndPosExpected = new Posn(5, 5, 0);
            Posn p2EndPosExpected = new Posn(5, 5, 7);

            Posn p1EndPosActual = board.getPlayerPosn(tr.currentPlayers[1].getColor());
            Posn p2EndPosActual = board.getPlayerPosn(tr.currentPlayers[0].getColor());


            Assert.IsTrue(p1EndPosExpected.isEqual(p1EndPosActual));
            Assert.IsTrue(p2EndPosExpected.isEqual(p2EndPosActual));
        }
Esempio n. 20
0
        public void SearchPage_NoInputValidation()
        {
            var searchPage = TestScenerios.LaunchSearchScenerio(Driver, TestScenerioSex.Male, 30);

            searchPage.SearchByTerm(string.Empty);
            searchPage.VerifyNoInputValidation();
        }
Esempio n. 21
0
        public void PlayerOrderUpdatesAfterEndOfTurnWithElimination()
        {
            TestScenerios test = new TestScenerios();
            Board         b    = new Board();
            Admin         a    = new Admin();

            SPlayer p1 = test.createPlayerAtPos("blue", new List <Tile>(), new RandomPlayer(),
                                                new Posn(-1, 0, 5), b);
            SPlayer p2 = test.createPlayerAtPos("hotpink", new List <Tile>(), new RandomPlayer(),
                                                new Posn(0, -1, 3), b);
            SPlayer p3 = test.createPlayerAtPos("green", new List <Tile>(), new RandomPlayer(),
                                                new Posn(4, 2, 1), b);

            a.addToActivePlayers(p1);
            a.addToActivePlayers(p2);
            a.addToActivePlayers(p3);

            Tile t1 = test.makeTile(0, 3, 6, 1, 2, 5, 4, 7);

            TurnResult tr = a.playATurn(b, t1);

            Assert.AreEqual(2, tr.currentPlayers.Count);
            Assert.AreEqual(1, tr.eliminatedPlayers.Count);
            Assert.AreEqual("hotpink", tr.eliminatedPlayers[0].getColor());
            Assert.AreEqual("green", tr.currentPlayers[0].getColor());
            Assert.AreEqual("blue", tr.currentPlayers[1].getColor());
        }
Esempio n. 22
0
        public void SearchPage_ResultsWithApostropheHyphenAndBrackets()
        {
            var searchPage = TestScenerios.LaunchSearchScenerio(Driver, TestScenerioSex.Male, 30);

            searchPage.SearchByTerm("'-/)}]Headache[{(\\");
            searchPage.VerifyTermHits("Headache or migraine", 1);
        }
Esempio n. 23
0
        public void DragonHolderDoesntDrawEmptyDrawPile()
        {
            TestScenerios test = new TestScenerios();
            Board         b    = new Board();
            Admin         a    = new Admin();

            SPlayer p1 = test.createPlayerAtPos("blue", new List <Tile>(), new RandomPlayer(),
                                                new Posn(-1, 0, 5), b);
            SPlayer p2 = test.createPlayerAtPos("hotpink", new List <Tile>(), new RandomPlayer(),
                                                new Posn(0, -1, 3), b);
            SPlayer p3 = test.createPlayerAtPos("green", new List <Tile>(), new RandomPlayer(),
                                                new Posn(4, 2, 1), b);

            a.addToActivePlayers(p1);
            a.addToActivePlayers(p2);
            a.addToActivePlayers(p3);

            a.setDragonTileHolder(p2);

            Tile t1 = test.makeTile(0, 3, 6, 1, 2, 5, 4, 7);

            TurnResult tr = a.playATurn(b, t1);

            Assert.AreEqual(0, p2.getHand().Count);
        }
Esempio n. 24
0
        public void SearchPage_CategoryLinkShowsWithSearchResults()
        {
            var searchPage = TestScenerios.LaunchSearchScenerio(Driver, TestScenerioSex.Male, 30);

            searchPage.SearchByTerm("Headache");
            searchPage.VerifyCategoriesLinkPresent();
        }
Esempio n. 25
0
        public void OpticianEndpointJourney()
        {
            var questionPage = TestScenerios.LaunchTriageScenerio(Driver, "Eye or Eyelid Problems", TestScenerioSex.Female, TestScenerioAgeGroups.Child);

            questionPage.VerifyQuestion("What is the main problem?");
            var outcomePage = questionPage
                              .Answer(5)
                              .Answer(3)
                              .Answer(1)
                              .Answer(5)
                              .Answer(3)
                              .Answer(2)
                              .Answer(4)
                              .Answer(3)
                              .Answer(4)
                              .AnswerSuccessiveByOrder(3, 2)
                              .Answer(4)
                              .AnswerSuccessiveByOrder(3, 3)
                              .AnswerForDispostion <OutcomePage>("No");

            outcomePage.VerifyOutcome("Your answers suggest you should see an optician within 3 days");
            outcomePage.VerifyWorseningPanel(WorseningMessages.Call111PostCodeFirst);
            outcomePage.VerifyFindService(FindServiceTypes.Optician);
            outcomePage.VerifyCareAdviceHeader("What you can do in the meantime");
            outcomePage.VerifyCareAdvice(new string[] { "Eye discharge", "Medication, pain and/or fever" });
        }
Esempio n. 26
0
        public void SplitQuestionNavigateBackDisplaysCorrectCareAdvice()
        {
            var questionPage = TestScenerios.LaunchTriageScenerio(_driver, "Headache", "Female", 49);

            var outcomePage = questionPage.ValidateQuestion("Is there a chance you are pregnant?")

                              .AnswerSuccessiveByOrder(3, 4)
                              .Answer(1)
                              .Answer(3)
                              .Answer(5)
                              .Answer(3)
                              .Answer(4)
                              .Answer(2)
                              .Answer(3)
                              .Answer(3)
                              .Answer(3)
                              .Answer(4)
                              .Answer(1)
                              .Answer(3)
                              .Answer(4)
                              .AnswerForDispostion(1);

            var newOutcome = outcomePage.NavigateBack()
                             .Answer(3, false)
                             .Answer(1)


                             .AnswerForDispostion("Within the next 6 hours");

            newOutcome.EnterPostCodeAndSubmit("LS17 7NZ");

            newOutcome.VerifyOutcome("You should speak to your GP practice within the next 6 hours");
            newOutcome.VerifyCareAdvice(new[] { "Medication, next dose", "Medication, pain and/or fever", "Headache" });
        }
Esempio n. 27
0
        public void GetDifferentRotations()
        {
            TestScenerios test = new TestScenerios();

            // Test - only 1 rotation
            Tile oneSymTile           = test.makeTile(0, 1, 2, 3, 4, 5, 6, 7);
            Tile oneSymTileUnmodified = test.makeTile(0, 1, 2, 3, 4, 5, 6, 7);

            List <Tile> actualDiffRotations = oneSymTile.getDifferentRotations();

            Assert.AreEqual(1, actualDiffRotations.Count);
            Assert.IsTrue(oneSymTileUnmodified.isEqual(actualDiffRotations[0]));

            // Test - 4 different rotations
            Tile fourSymTile           = test.makeTile(0, 5, 1, 3, 2, 6, 4, 7);
            Tile fourSymTileUnmodified = test.makeTile(0, 5, 1, 3, 2, 6, 4, 7);
            Tile fourSymRot1           = test.makeTile(0, 4, 1, 6, 2, 7, 3, 5);
            Tile fourSymRot2           = test.makeTile(0, 3, 1, 4, 2, 6, 5, 7);
            Tile fourSymRot3           = test.makeTile(0, 4, 1, 7, 2, 5, 3, 6);

            actualDiffRotations = fourSymTile.getDifferentRotations();
            Assert.AreEqual(4, actualDiffRotations.Count);
            Assert.IsTrue(fourSymTileUnmodified.isEqual(actualDiffRotations[0]));
            Assert.IsTrue(fourSymRot1.isEqual(actualDiffRotations[1]));
            Assert.IsTrue(fourSymRot2.isEqual(actualDiffRotations[2]));
            Assert.IsTrue(fourSymRot3.isEqual(actualDiffRotations[3]));
        }
Esempio n. 28
0
        public void test()
        {
            Board         board = new Board();
            TestScenerios test  = new TestScenerios();
            Tile          t1    = test.makeTile(0, 1, 2, 4, 3, 6, 5, 7);

            board.grid[0, 0] = t1;

            SPlayer p1 = new SPlayer("red", new List <Tile>(), new RandomPlayer());

            p1.initialize(board);
            test.setStartPos(board, p1, new Posn(0, 0, 3));

            XElement boardToXML         = XMLEncoder.boardToXML(board);
            XElement boardToXMLExpected = XElement.Parse("<board><map><ent><xy><x>0</x><y>0</y></xy><tile><connect><n>0</n><n>1</n></connect><connect><n>2</n><n>4</n></connect><connect><n>3</n><n>6</n></connect><connect><n>5</n><n>7</n></connect></tile></ent></map><map><ent><color>red</color><pawn-loc><v></v><n>1</n><n>1</n></pawn-loc></ent></map></board>");

            Assert.IsTrue(XNode.DeepEquals(boardToXML, boardToXMLExpected));

            XElement tilesXML = boardToXMLExpected.Elements("map").ElementAt(0);

            Console.WriteLine(tilesXML);
            XElement pawnsXML = boardToXMLExpected.Elements("map").ElementAt(1);

            Console.WriteLine(pawnsXML);

            string xval = tilesXML.Descendants("x").ElementAt(0).Value;
            int    x    = int.Parse(xval);

            Console.WriteLine(x);
        }
Esempio n. 29
0
        public void TestLocationEndMethod()
        {
            TestScenerios test = new TestScenerios();
            Tile          t1   = test.makeTile(0, 1, 2, 4, 3, 6, 5, 7);

            Assert.AreEqual(t1.getLocationEnd(0), 1);
        }
Esempio n. 30
0
        public void DragonTileBeforeTurnStillNoNewTiles()
        {
            TestScenerios test = new TestScenerios();
            Tile          t1   = test.makeTile(0, 2, 1, 6, 3, 5, 4, 7);
            Tile          t2   = test.makeTile(0, 1, 2, 7, 3, 4, 5, 6);

            Admin a = new Admin();
            Board b = new Board();

            SPlayer p1 = new SPlayer("p1", new List <Tile>());

            p1.setPosn(new Posn(1, 0, 2));

            SPlayer p2 = new SPlayer("p2", new List <Tile>());

            p2.setPosn(new Posn(0, 1, 5));

            SPlayer p3 = new SPlayer("p3", new List <Tile>());

            p3.setPosn(new Posn(1, 2, 6));

            b.registerPlayer(p1);
            b.registerPlayer(p2);
            b.registerPlayer(p3);

            b.grid[1, 2] = t2;

            TurnResult tr = a.playATurn(b, t1);

            Assert.IsTrue(tr.b.isDragonTileHolder("p1"));
            Assert.IsTrue(tr.currentPlayers[0].returnHand().Count == 0);
            Assert.IsTrue(tr.currentPlayers[1].returnHand().Count == 0);
            Assert.IsTrue(tr.currentPlayers[2].returnHand().Count == 0);
        }