public void XMLPawnLocToPosnEliminatedPlay() { XElement boardXML = XElement.Parse("<board>" + "<map>" + "<ent><xy><x>0</x><y>0</y></xy>" + "<tile>" + "<connect><n>0</n><n>4</n></connect>" + "<connect><n>1</n><n>5</n></connect>" + "<connect><n>2</n><n>7</n></connect>" + "<connect><n>3</n><n>6</n></connect>" + "</tile>" + "</ent>" + "<ent><xy><x>5</x><y>3</y></xy>" + "<tile>" + "<connect><n>0</n><n>1</n></connect>" + "<connect><n>2</n><n>6</n></connect>" + "<connect><n>3</n><n>7</n></connect>" + "<connect><n>4</n><n>5</n></connect>" + "</tile>" + "</ent>" + "</map>" + "<map>" + "<ent><color>red</color><pawn-loc><h></h><n>0</n><n>0</n></pawn-loc></ent>" + "<ent><color>blue</color><pawn-loc><h></h><n>4</n><n>11</n></pawn-loc></ent>" + "</map></board>"); Board board = XMLDecoder.xmlToBoard(boardXML); Assert.IsTrue(board.getPlayerPosn("red").isEqual(new Posn(0, 0, 0))); Assert.IsTrue(board.getPlayerPosn("blue").isEqual(new Posn(3, 5, 4))); }
private void FileDataBox_TextChanged(object sender, RoutedEventArgs e) { string dataStart = ""; if (FileDataBox.Text.Length > 2) { dataStart = FileDataBox.Text.Substring(0, 3); } if (dataStart == "MSH") { Segs.Items.Clear(); var decoder = new Hl7Decoder(); var segListView = decoder.Hl7TreeView(FileDataBox.Text); Segs.Items.Add(segListView); } else if (dataStart.StartsWith("<")) { Segs.Items.Clear(); var decoder = new XMLDecoder(); var xmlSegs = decoder.XmlTreeView(FileDataBox.Text); Segs.Items.Add(xmlSegs); //Do nothing at the moment. } }
public void XMLPawnLocToPosnNormalPlay() { XElement boardXML = XElement.Parse("<board>" + "<map>" + "<ent><xy><x>0</x><y>0</y></xy>" + "<tile>" + "<connect><n>0</n><n>4</n></connect>" + "<connect><n>1</n><n>5</n></connect>" + "<connect><n>2</n><n>7</n></connect>" + "<connect><n>3</n><n>6</n></connect>" + "</tile>" + "</ent>" + "<ent><xy><x>5</x><y>3</y></xy>" + "<tile>" + "<connect><n>0</n><n>1</n></connect>" + "<connect><n>2</n><n>6</n></connect>" + "<connect><n>3</n><n>7</n></connect>" + "<connect><n>4</n><n>5</n></connect>" + "</tile>" + "</ent>" + "</map>" + "<map>" + "<ent><color>red</color><pawn-loc><h></h><n>1</n><n>1</n></pawn-loc></ent>" + "<ent><color>blue</color><pawn-loc><h></h><n>4</n><n>11</n></pawn-loc></ent>" + "</map></board>"); Dictionary <string, Posn> colorToPosnMap = XMLDecoder.xmlBoardToPlayerPosns(boardXML); Assert.IsTrue(colorToPosnMap["red"].isEqual(new Posn(0, 0, 4))); Assert.IsTrue(colorToPosnMap["blue"].isEqual(new Posn(3, 5, 4))); }
public void XMLToListOfActivePlayers() { XElement activePlayerXML = XElement.Parse("<list>" + "<splayer-nodragon><color>red</color>" + "<set><tile><connect><n>0</n><n>1</n></connect>" + "<connect><n>2</n><n>4</n></connect>" + "<connect><n>3</n><n>5</n></connect>" + "<connect><n>6</n><n>7</n></connect></tile>" + "<tile><connect><n>0</n><n>1</n></connect>" + "<connect><n>2</n><n>5</n></connect>" + "<connect><n>3</n><n>6</n></connect>" + "<connect><n>4</n><n>7</n></connect></tile></set>" + "</splayer-nodragon>" + "<splayer-nodragon><color>green</color>" + "<set><tile><connect><n>0</n><n>1</n></connect>" + "<connect><n>2</n><n>6</n></connect>" + "<connect><n>3</n><n>7</n></connect>" + "<connect><n>4</n><n>5</n></connect></tile>" + "<tile><connect><n>0</n><n>3</n></connect>" + "<connect><n>1</n><n>6</n></connect>" + "<connect><n>2</n><n>5</n></connect>" + "<connect><n>4</n><n>7</n></connect></tile>" + "<tile><connect><n>0</n><n>7</n></connect>" + "<connect><n>1</n><n>6</n></connect>" + "<connect><n>2</n><n>3</n></connect>" + "<connect><n>4</n><n>5</n></connect></tile></set>" + "</splayer-nodragon>" + "<splayer-dragon><color>blue</color>" + "<set><tile><connect><n>0</n><n>1</n></connect>" + "<connect><n>2</n><n>3</n></connect>" + "<connect><n>4</n><n>5</n></connect>" + "<connect><n>6</n><n>7</n></connect></tile>" + "<tile><connect><n>0</n><n>7</n></connect>" + "<connect><n>1</n><n>3</n></connect>" + "<connect><n>2</n><n>5</n></connect>" + "<connect><n>4</n><n>6</n></connect></tile>" + "</set></splayer-dragon></list>"); SPlayer dragonTileHolder = null; List <SPlayer> activePlayers = new List <SPlayer>(); foreach (XElement splayerXml in activePlayerXML.Elements()) { SPlayer tempPlayer = XMLDecoder.xmlToSplayer(splayerXml); tempPlayer.playerState = SPlayer.State.Playing; if (tempPlayer.isDragonHolder()) { if (dragonTileHolder != null) { throw new TsuroException("Cannot set multiple dragon tile holders."); } dragonTileHolder = tempPlayer; } activePlayers.Add(tempPlayer); } Assert.AreEqual("blue", dragonTileHolder.getColor()); }
public void InvalidPosnXmlThrowsException() { XElement xmlPosnInvalid = new XElement("pawn-loc", new XElement("g", ""), new XElement("n", 3), new XElement("n", 6)); List <Posn> actual = XMLDecoder.xmlToPosn(xmlPosnInvalid); }
public void XMLToBoardStartGame() { XElement boardXML = XElement.Parse("<board>" + "<map>" + "<ent><xy><x>0</x><y>1</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><h></h><n>0</n><n>0</n></pawn-loc>" + "</ent></map></board>"); Board expected = new Board(); TestScenerios test = new TestScenerios(); Tile t1 = test.makeTile(0, 1, 2, 4, 3, 6, 5, 7); expected.grid[1, 0] = t1; SPlayer p1 = new SPlayer("red", new List <Tile>(), new RandomPlayer()); p1.initialize(expected); test.setStartPos(expected, p1, new Posn(-1, 0, 5)); Board actual = XMLDecoder.xmlToBoard(boardXML); // Check boards are the same for (int i = 0; i < expected.grid.GetLength(0); i++) { for (int j = 0; j < expected.grid.GetLength(0); j++) { if (expected.grid[i, j] == null) { Assert.IsNull(actual.grid[i, j]); } else { Assert.IsTrue(expected.grid[i, j].isEqual(actual.grid[i, j])); } } } // Check players are the same Assert.AreEqual(expected.getNumActive(), actual.getNumActive()); List <string> expectedActivePlayers = expected.getPlayerOrder(); foreach (string color in expectedActivePlayers) { Assert.IsTrue(actual.isOnBoard(color)); } }
public void StartCore(string filePath, Corel.Interop.VGCore.Application corelApp) { if (corelApp != null) { InCorel = true; CorelAutomation = new CorelAutomation(corelApp, this); this.app = corelApp; corelApp.OnApplicationEvent += CorelApp_OnApplicationEvent; } FileInfo file = null; try { FileInfo fileOri = new FileInfo(filePath); Title = filePath; try { if (!Directory.Exists(workerFolder)) { Directory.CreateDirectory(workerFolder); } } catch (IOException ioE) { if (ErrorFound != null) { ErrorFound("Erro - " + ioE.Message); } return; } string newPath = workerFolder + "\\" + fileOri.Name; if (File.Exists(newPath)) { File.Delete(newPath); } file = fileOri.CopyTo(newPath); } catch (IOException ioErro) { if (ErrorFound != null) { ErrorFound("Erro - " + ioErro.Message); } return; } inputCommands = new InputCommands(this); commands = (typeof(InputCommands)).GetMethods(BindingFlags.Public | BindingFlags.Instance); xmlDecoder = new XMLDecoder(); xmlDecoder.LoadFinish += XmlDecoder_LoadFinish; Thread thread = new Thread(new ParameterizedThreadStart(LoadFile)); thread.IsBackground = true; thread.Start(file); }
public void XMLBoardToGrid() { XElement boardXML = XElement.Parse("<board>" + "<map>" + "<ent><xy><x>0</x><y>0</y></xy>" + "<tile>" + "<connect><n>0</n><n>4</n></connect>" + "<connect><n>1</n><n>5</n></connect>" + "<connect><n>2</n><n>7</n></connect>" + "<connect><n>3</n><n>6</n></connect>" + "</tile>" + "</ent>" + "<ent><xy><x>5</x><y>3</y></xy>" + "<tile>" + "<connect><n>0</n><n>1</n></connect>" + "<connect><n>2</n><n>6</n></connect>" + "<connect><n>3</n><n>7</n></connect>" + "<connect><n>4</n><n>5</n></connect>" + "</tile>" + "</ent>" + "</map>" + "<map>" + "<ent><color>red</color><pawn-loc><h></h><n>0</n><n>0</n></pawn-loc>" + "</ent></map></board>"); Tile[,] actualBoardGrid = XMLDecoder.xmlBoardToGrid(boardXML); Tile[,] expectedBoardGrid = new Tile[6, 6]; TestScenerios test = new TestScenerios(); Tile t1 = test.makeTile(0, 4, 1, 5, 2, 7, 3, 6); Tile t2 = test.makeTile(0, 1, 2, 6, 3, 7, 4, 5); expectedBoardGrid[0, 0] = t1; expectedBoardGrid[3, 5] = t2; // Check boards are the same for (int i = 0; i < expectedBoardGrid.GetLength(0); i++) { for (int j = 0; j < expectedBoardGrid.GetLength(0); j++) { if (expectedBoardGrid[i, j] == null) { Assert.IsNull(actualBoardGrid[i, j]); } else { Assert.IsTrue(expectedBoardGrid[i, j].isEqual(actualBoardGrid[i, j])); } } } }
public void XMLToTile() { XElement t1XML = new XElement("tile", new XElement("connect", new XElement("n", 0), new XElement("n", 1)), new XElement("connect", new XElement("n", 2), new XElement("n", 3)), new XElement("connect", new XElement("n", 4), new XElement("n", 5)), new XElement("connect", new XElement("n", 6), new XElement("n", 7))); TestScenerios test = new TestScenerios(); Tile t1Expected = test.makeTile(0, 1, 2, 3, 4, 5, 6, 7); Tile t1Actual = XMLDecoder.xmlToTile(t1XML); Assert.IsTrue(t1Expected.isEqualOrRotation(t1Actual)); }
public void xmlToPosn() { XElement xmlPosn = new XElement("pawn-loc", new XElement("h", ""), new XElement("n", 1), new XElement("n", 4)); Posn posnExpected1 = new Posn(1, 2, 0); Posn posnExpected2 = new Posn(0, 2, 5); List <Posn> expected = new List <Posn> { posnExpected1, posnExpected2 }; List <Posn> actual = XMLDecoder.xmlToPosn(xmlPosn); Assert.IsTrue(actual.Exists(x => x.isEqual(posnExpected1))); Assert.IsTrue(actual.Exists(x => x.isEqual(posnExpected2))); Assert.AreEqual(actual.Count, expected.Count); XElement xmlPosn2 = new XElement("pawn-loc", new XElement("v", ""), new XElement("n", 3), new XElement("n", 6)); posnExpected1 = new Posn(3, 2, 2); posnExpected2 = new Posn(3, 3, 7); expected = new List <Posn> { posnExpected1, posnExpected2 }; actual = XMLDecoder.xmlToPosn(xmlPosn2); Assert.IsTrue(actual.Exists(x => x.isEqual(posnExpected1))); Assert.IsTrue(actual.Exists(x => x.isEqual(posnExpected2))); Assert.AreEqual(actual.Count, expected.Count); }
public void TESTINGERRORCODE() { XElement drawTilesXml = XElement.Parse("<list></list>"); XElement onBoardPlayersXml = XElement.Parse("<list><splayer-nodragon><color>sienna</color><set></set></splayer-nodragon><splayer-dragon><color>red</color><set></set></splayer-dragon></list>"); XElement eliminatedPlayersXml = XElement.Parse("<list><splayer-nodragon><color>blue</color><set></set></splayer-nodragon><splayer-nodragon><color>orange</color><set></set></splayer-nodragon><splayer-nodragon><color>green</color><set></set></splayer-nodragon><splayer-nodragon><color>hotpink</color><set></set></splayer-nodragon></list>"); XElement boardXml = XElement.Parse("<board><map><ent><xy><x>3</x><y>3</y></xy><tile><connect><n>0</n><n>6</n></connect><connect><n>1</n><n>5</n></connect><connect><n>2</n><n>4</n></connect><connect><n>3</n><n>7</n></connect></tile></ent><ent><xy><x>1</x><y>2</y></xy><tile><connect><n>0</n><n>6</n></connect><connect><n>1</n><n>7</n></connect><connect><n>2</n><n>5</n></connect><connect><n>3</n><n>4</n></connect></tile></ent><ent><xy><x>2</x><y>1</y></xy><tile><connect><n>0</n><n>1</n></connect><connect><n>2</n><n>4</n></connect><connect><n>3</n><n>7</n></connect><connect><n>5</n><n>6</n></connect></tile></ent><ent><xy><x>2</x><y>5</y></xy><tile><connect><n>0</n><n>4</n></connect><connect><n>1</n><n>5</n></connect><connect><n>2</n><n>7</n></connect><connect><n>3</n><n>6</n></connect></tile></ent><ent><xy><x>4</x><y>0</y></xy><tile><connect><n>0</n><n>3</n></connect><connect><n>1</n><n>6</n></connect><connect><n>2</n><n>7</n></connect><connect><n>4</n><n>5</n></connect></tile></ent><ent><xy><x>4</x><y>4</y></xy><tile><connect><n>0</n><n>3</n></connect><connect><n>1</n><n>4</n></connect><connect><n>2</n><n>6</n></connect><connect><n>5</n><n>7</n></connect></tile></ent><ent><xy><x>0</x><y>3</y></xy><tile><connect><n>0</n><n>6</n></connect><connect><n>1</n><n>7</n></connect><connect><n>2</n><n>4</n></connect><connect><n>3</n><n>5</n></connect></tile></ent><ent><xy><x>5</x><y>1</y></xy><tile><connect><n>0</n><n>6</n></connect><connect><n>1</n><n>3</n></connect><connect><n>2</n><n>4</n></connect><connect><n>5</n><n>7</n></connect></tile></ent><ent><xy><x>5</x><y>5</y></xy><tile><connect><n>0</n><n>1</n></connect><connect><n>2</n><n>6</n></connect><connect><n>3</n><n>7</n></connect><connect><n>4</n><n>5</n></connect></tile></ent><ent><xy><x>3</x><y>1</y></xy><tile><connect><n>0</n><n>6</n></connect><connect><n>1</n><n>4</n></connect><connect><n>2</n><n>3</n></connect><connect><n>5</n><n>7</n></connect></tile></ent><ent><xy><x>3</x><y>5</y></xy><tile><connect><n>0</n><n>6</n></connect><connect><n>1</n><n>4</n></connect><connect><n>2</n><n>5</n></connect><connect><n>3</n><n>7</n></connect></tile></ent><ent><xy><x>1</x><y>4</y></xy><tile><connect><n>0</n><n>3</n></connect><connect><n>1</n><n>7</n></connect><connect><n>2</n><n>4</n></connect><connect><n>5</n><n>6</n></connect></tile></ent><ent><xy><x>2</x><y>3</y></xy><tile><connect><n>0</n><n>3</n></connect><connect><n>1</n><n>5</n></connect><connect><n>2</n><n>6</n></connect><connect><n>4</n><n>7</n></connect></tile></ent><ent><xy><x>4</x><y>2</y></xy><tile><connect><n>0</n><n>4</n></connect><connect><n>1</n><n>6</n></connect><connect><n>2</n><n>3</n></connect><connect><n>5</n><n>7</n></connect></tile></ent><ent><xy><x>0</x><y>5</y></xy><tile><connect><n>0</n><n>1</n></connect><connect><n>2</n><n>7</n></connect><connect><n>3</n><n>6</n></connect><connect><n>4</n><n>5</n></connect></tile></ent><ent><xy><x>5</x><y>3</y></xy><tile><connect><n>0</n><n>6</n></connect><connect><n>1</n><n>2</n></connect><connect><n>3</n><n>4</n></connect><connect><n>5</n><n>7</n></connect></tile></ent><ent><xy><x>2</x><y>0</y></xy><tile><connect><n>0</n><n>4</n></connect><connect><n>1</n><n>2</n></connect><connect><n>3</n><n>6</n></connect><connect><n>5</n><n>7</n></connect></tile></ent><ent><xy><x>1</x><y>5</y></xy><tile><connect><n>0</n><n>6</n></connect><connect><n>1</n><n>3</n></connect><connect><n>2</n><n>7</n></connect><connect><n>4</n><n>5</n></connect></tile></ent><ent><xy><x>2</x><y>4</y></xy><tile><connect><n>0</n><n>1</n></connect><connect><n>2</n><n>3</n></connect><connect><n>4</n><n>6</n></connect><connect><n>5</n><n>7</n></connect></tile></ent><ent><xy><x>1</x><y>1</y></xy><tile><connect><n>0</n><n>3</n></connect><connect><n>1</n><n>5</n></connect><connect><n>2</n><n>4</n></connect><connect><n>6</n><n>7</n></connect></tile></ent><ent><xy><x>4</x><y>3</y></xy><tile><connect><n>0</n><n>7</n></connect><connect><n>1</n><n>2</n></connect><connect><n>3</n><n>4</n></connect><connect><n>5</n><n>6</n></connect></tile></ent><ent><xy><x>0</x><y>2</y></xy><tile><connect><n>0</n><n>4</n></connect><connect><n>1</n><n>5</n></connect><connect><n>2</n><n>6</n></connect><connect><n>3</n><n>7</n></connect></tile></ent><ent><xy><x>5</x><y>0</y></xy><tile><connect><n>0</n><n>4</n></connect><connect><n>1</n><n>2</n></connect><connect><n>3</n><n>7</n></connect><connect><n>5</n><n>6</n></connect></tile></ent><ent><xy><x>5</x><y>4</y></xy><tile><connect><n>0</n><n>1</n></connect><connect><n>2</n><n>5</n></connect><connect><n>3</n><n>4</n></connect><connect><n>6</n><n>7</n></connect></tile></ent><ent><xy><x>3</x><y>0</y></xy><tile><connect><n>0</n><n>3</n></connect><connect><n>1</n><n>6</n></connect><connect><n>2</n><n>5</n></connect><connect><n>4</n><n>7</n></connect></tile></ent><ent><xy><x>3</x><y>4</y></xy><tile><connect><n>0</n><n>5</n></connect><connect><n>1</n><n>3</n></connect><connect><n>2</n><n>7</n></connect><connect><n>4</n><n>6</n></connect></tile></ent><ent><xy><x>1</x><y>3</y></xy><tile><connect><n>0</n><n>3</n></connect><connect><n>1</n><n>6</n></connect><connect><n>2</n><n>4</n></connect><connect><n>5</n><n>7</n></connect></tile></ent><ent><xy><x>2</x><y>2</y></xy><tile><connect><n>0</n><n>5</n></connect><connect><n>1</n><n>4</n></connect><connect><n>2</n><n>7</n></connect><connect><n>3</n><n>6</n></connect></tile></ent><ent><xy><x>4</x><y>5</y></xy><tile><connect><n>0</n><n>4</n></connect><connect><n>1</n><n>7</n></connect><connect><n>2</n><n>3</n></connect><connect><n>5</n><n>6</n></connect></tile></ent><ent><xy><x>0</x><y>4</y></xy><tile><connect><n>0</n><n>4</n></connect><connect><n>1</n><n>3</n></connect><connect><n>2</n><n>6</n></connect><connect><n>5</n><n>7</n></connect></tile></ent><ent><xy><x>0</x><y>0</y></xy><tile><connect><n>0</n><n>3</n></connect><connect><n>1</n><n>2</n></connect><connect><n>4</n><n>7</n></connect><connect><n>5</n><n>6</n></connect></tile></ent><ent><xy><x>5</x><y>2</y></xy><tile><connect><n>0</n><n>5</n></connect><connect><n>1</n><n>6</n></connect><connect><n>2</n><n>7</n></connect><connect><n>3</n><n>4</n></connect></tile></ent><ent><xy><x>1</x><y>0</y></xy><tile><connect><n>0</n><n>7</n></connect><connect><n>1</n><n>4</n></connect><connect><n>2</n><n>3</n></connect><connect><n>5</n><n>6</n></connect></tile></ent><ent><xy><x>3</x><y>2</y></xy><tile><connect><n>0</n><n>7</n></connect><connect><n>1</n><n>5</n></connect><connect><n>2</n><n>4</n></connect><connect><n>3</n><n>6</n></connect></tile></ent></map><map><ent><color>orange</color><pawn-loc><v></v><n>0</n><n>9</n></pawn-loc></ent><ent><color>red</color><pawn-loc><v></v><n>5</n><n>2</n></pawn-loc></ent><ent><color>sienna</color><pawn-loc><h></h><n>2</n><n>9</n></pawn-loc></ent><ent><color>blue</color><pawn-loc><h></h><n>0</n><n>5</n></pawn-loc></ent><ent><color>hotpink</color><pawn-loc><v></v><n>6</n><n>8</n></pawn-loc></ent><ent><color>green</color><pawn-loc><v></v><n>0</n><n>5</n></pawn-loc></ent></map></board>"); XElement tileToPlayXml = XElement.Parse("<tile><connect><n>0</n><n>1</n></connect><connect><n>2</n><n>3</n></connect><connect><n>4</n><n>5</n></connect><connect><n>6</n><n>7</n></connect></tile>"); List <Tile> drawPile = XMLDecoder.xmlToListOfTiles(drawTilesXml); Board b = XMLDecoder.xmlToBoard(boardXml); Tile tileToPlay = XMLDecoder.xmlToTile(tileToPlayXml); SPlayer dragonTileHolder = null; List <SPlayer> activePlayers = new List <SPlayer>(); foreach (XElement splayerXml in onBoardPlayersXml.Elements()) { SPlayer tempPlayer = XMLDecoder.xmlToSplayer(splayerXml); tempPlayer.playerState = SPlayer.State.Playing; if (tempPlayer.isDragonHolder()) { if (dragonTileHolder != null) { throw new TsuroException("Cannot set multiple dragon tile holders."); } dragonTileHolder = tempPlayer; } activePlayers.Add(tempPlayer); } List <SPlayer> eliminatedPlayers = new List <SPlayer>(); foreach (XElement splayerXml in eliminatedPlayersXml.Elements()) { SPlayer tempPlayer = XMLDecoder.xmlToSplayer(splayerXml); eliminatedPlayers.Add(tempPlayer); } // Run our version of play a turn Admin admin = new Admin(activePlayers, eliminatedPlayers, dragonTileHolder, drawPile); TurnResult tr = admin.playATurn(b, tileToPlay); Assert.AreEqual(0, tr.currentPlayers.Count); Assert.AreEqual(6, tr.eliminatedPlayers.Count); Assert.AreEqual(2, tr.playResult.Count); //Convert our turn result into xml strings string outDrawPileXml = XMLEncoder.listOfTilesToXML(tr.drawPile).ToString(); string outActivePlayersXml = XMLEncoder.listOfSPlayerToXML(tr.currentPlayers, admin).ToString(); string outEliminatedPlayersXml = XMLEncoder.listOfSPlayerToXML(tr.eliminatedPlayers, admin).ToString(); string outBoardXml = XMLEncoder.boardToXML(tr.b).ToString(); string outwinnersXML; if (tr.playResult == null) { outwinnersXML = XMLEncoder.encodeFalse().ToString(); } else { outwinnersXML = XMLEncoder.listOfSPlayerToXML(tr.playResult, admin).ToString(); } // Print XML Strings out through stdout Console.WriteLine(XMLEncoder.RemoveWhitespace(outDrawPileXml)); Console.WriteLine(XMLEncoder.RemoveWhitespace(outActivePlayersXml)); Console.WriteLine(XMLEncoder.RemoveWhitespace(outEliminatedPlayersXml)); Console.WriteLine(XMLEncoder.RemoveWhitespace(outBoardXml)); Console.WriteLine(XMLEncoder.RemoveWhitespace(outwinnersXML)); Console.Out.WriteLine(); }
public void XMLToBoardBothActiveAndEliminatedPlayers() { XElement boardXML = XElement.Parse("<board>" + "<map>" + "<ent>" + "<xy><x>1</x><y>2</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>" + "<ent>" + "<xy><x>0</x><y>0</y></xy>" + "<tile>" + "<connect><n>0</n><n>1</n></connect>" + "<connect><n>2</n><n>3</n></connect>" + "<connect><n>4</n><n>5</n></connect>" + "<connect><n>6</n><n>7</n></connect>" + "</tile>" + "</ent>" + "</map>" + "<map>" + "<ent><color>red</color><pawn-loc><h></h><n>0</n><n>0</n></pawn-loc></ent>" + "<ent><color>blue</color><pawn-loc><h></h><n>3</n><n>3</n></pawn-loc></ent>" + "</map>" + "</board>"); Board expected = new Board(); 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); expected.placeTileAt(t1, 2, 1); expected.placeTileAt(t2, 0, 0); SPlayer p1 = new SPlayer("red", new List <Tile>(), new RandomPlayer()); //p1.initialize(expected); test.setStartPos(expected, p1, new Posn(0, 0, 0)); SPlayer p2 = new SPlayer("blue", new List <Tile>(), new RandomPlayer()); //p2.initialize(expected); test.setStartPos(expected, p2, new Posn(2, 1, 4)); Board actual = XMLDecoder.xmlToBoard(boardXML); // Check boards are the same for (int i = 0; i < expected.getBoardLength(); i++) { for (int j = 0; j < expected.getBoardLength(); j++) { if (expected.getTileAt(i, j) == null) { Assert.IsNull(actual.getTileAt(i, j)); } else { Assert.IsTrue(expected.getTileAt(i, j).isEqualOrRotation(actual.getTileAt(i, j))); } } } // Check players are the same //Assert.IsTrue(actual.isOnBoard("blue")); //Assert.IsFalse(actual.isOnBoard("red")); //Assert.IsTrue(actual.isEliminated("red")); //Assert.IsFalse(actual.isEliminated("blue")); //Assert.AreEqual(1, actual.getNumActive()); //Assert.AreEqual(1, actual.getNumEliminated()); }