@ -135,6 +135,25 @@ public class GameTests
Assert . Equal ( player , _game . CurrentPlayer ) ;
}
[Fact]
public void InitializeGame_ShouldInitializeGameAndTriggerEventWhenStarted ( )
{
var player = new Player ( "test_player" , "DefaultProfilePicture" ) ;
var map = new Map ( "test_name" , "test_background.png" ) ;
bool eventTriggered = false ;
_game . GameEnded + = ( sender , args ) = >
{
eventTriggered = true ;
} ;
_game . InitializeGame ( map , player , true ) ;
Assert . True ( eventTriggered ) ;
Assert . False ( _game . IsRunning ) ;
Assert . Equal ( map , _game . UsedMap ) ;
Assert . Equal ( player , _game . CurrentPlayer ) ;
}
[Theory]
[InlineData(Operation.ADDITION, 3, 4, 7)]
[InlineData(Operation.SUBTRACTION, 6, 4, 2)]
@ -172,7 +191,7 @@ public class GameTests
var player = new Player ( "test_player" , "DefaultProfilePicture" ) ;
var map = new Map ( "test_name" , "test_background.png" ) ;
_game . InitializeGame ( map , player , false );
_game . InitializeGame ( map , player );
Assert . Equal ( map , _game . UsedMap ) ;
}
@ -183,7 +202,7 @@ public class GameTests
var player = new Player ( "test_player" , "DefaultProfilePicture" ) ;
var map = new Map ( "test_name" , "test_background.png" ) ;
_game . InitializeGame ( map , player , false );
_game . InitializeGame ( map , player );
Assert . Equal ( player , _game . CurrentPlayer ) ;
}
@ -194,7 +213,7 @@ public class GameTests
Player player = new Player ( "test_player" , "DefaultProfilePicture" ) ;
Map map = new Map ( "test_name" , "test_background.png" ) ;
_game . InitializeGame ( map , player , false );
_game . InitializeGame ( map , player );
Assert . NotNull ( _game . Dice1 ) ;
Assert . NotNull ( _game . Dice2 ) ;
@ -214,7 +233,7 @@ public class GameTests
var player = new Player ( "test_player" , "DefaultProfilePicture" ) ;
var map = new Map ( "test_name" , "test_background.png" ) ;
_game . InitializeGame ( map , player , false );
_game . InitializeGame ( map , player );
// Use of reflection to call private method
var methodInfo = typeof ( Game ) . GetMethod ( "MarkOperationAsChecked" , BindingFlags . NonPublic | BindingFlags . Instance ) ;
@ -247,21 +266,17 @@ public class GameTests
var player = new Player ( "test_player" , "DefaultProfilePicture" ) ;
var map = new Map ( "test_name" , "test_background.png" ) ;
_game . InitializeGame ( map , player , false );
_game . InitializeGame ( map , player );
Assert . NotNull ( _game . GameRules ) ;
_game . UsedMap . Boards [ 0 ] . Value = 1 ;
_game . UsedMap . Boards [ 1 ] . Value = 2 ;
_game . UsedMap . Boards [ 0 ] . Valid = true ;
_game . UsedMap . Boards [ 1 ] . Valid = true ;
_game . UsedMap . Boards [ 2 ] . Valid = true ;
var methodInfo = typeof ( Game ) . GetMethod ( "PlaceResult" , BindingFlags . NonPublic | BindingFlags . Instance ) ;
Assert . NotNull ( methodInfo ) ;
_game . PlayerCell = new Cell ( 2 , 0 ) ;
_game . PlayerCell . Value = 3 ;
methodInfo . Invoke ( _game , new object [ ] { _game . PlayerCell , 3 } ) ;
//_game.UsedMap.Boards[2].Value = _game.PlayerCell.Value;
var cell = new Cell ( 0 , 2 ) ;
cell . Value = 3 ;
methodInfo . Invoke ( _game , new object [ ] { cell , 3 } ) ;
Assert . Equal ( 3 , _game . UsedMap . Boards [ 2 ] . Value ) ;
}
@ -272,13 +287,10 @@ public class GameTests
var player = new Player ( "test_player" , "DefaultProfilePicture" ) ;
var map = new Map ( "test_name" , "test_background.png" ) ;
_game . InitializeGame ( map , player , false );
_game . InitializeGame ( map , player );
var cell = new Cell ( 1 , 0 ) ;
cell . Valid = true ;
_game . UsedMap . Boards [ 0 ] . Valid = true ;
var cell = new Cell ( 0 , 1 ) ;
_game . UsedMap . Boards [ 0 ] . Value = 1 ;
_game . UsedMap . Boards [ 1 ] . Valid = true ;
bool result = _game . HandlePlayerChoice ( cell , 1 ) ;
Assert . True ( result ) ;
}
@ -289,7 +301,7 @@ public class GameTests
var player = new Player ( "test_player" , "DefaultProfilePicture" ) ;
var map = new Map ( "test_name" , "test_background.png" ) ;
_game . InitializeGame ( map , player , false );
_game . InitializeGame ( map , player );
var cell = new Cell ( 0 , 7 ) ;
cell . Value = 1 ;
@ -303,7 +315,7 @@ public class GameTests
var player = new Player ( "test_player" , "DefaultProfilePicture" ) ;
var map = new Map ( "test_name" , "test_background.png" ) ;
_game . InitializeGame ( map , player , false );
_game . InitializeGame ( map , player );
var cell = new Cell ( 0 , 0 ) ;
cell . Value = 1 ;
@ -312,6 +324,25 @@ public class GameTests
Assert . False ( result ) ;
}
[Fact]
public void ShouldTriggerEventWhenEnded ( )
{
var player = new Player ( "test_player" , "DefaultProfilePicture" ) ;
var map = new Map ( "test_name" , "test_background.png" ) ;
bool eventTriggered = false ;
_game . GameEnded + = ( sender , args ) = >
{
eventTriggered = true ;
} ;
_game . InitializeGame ( map , player , true ) ;
Assert . True ( eventTriggered ) ;
Assert . False ( _game . IsRunning ) ;
Assert . Equal ( map , _game . UsedMap ) ;
Assert . Equal ( player , _game . CurrentPlayer ) ;
}
[Fact]
public void RemovePlayerTest_ShouldRemovePlayer ( )
{
@ -335,17 +366,15 @@ public class GameTests
{
var player = new Player ( "test_player" , "DefaultProfilePicture" ) ;
var map = new Map ( "test_name" , "test_background.png" ) ;
_game . InitializeGame ( map , player , false ) ;
_game . UsedMap . Boards [ 1 ] . Valid = true ;
_game . UsedMap . Boards [ 2 ] . Valid = true ;
_game . InitializeGame ( map , player ) ;
_game . UsedMap . Boards [ 1 ] . Value = 5 ;
var methodInfo = typeof ( Game ) . GetMethod ( "PlaceResult" , BindingFlags . NonPublic | BindingFlags . Instance ) ;
Assert . NotNull ( methodInfo ) ;
_game . PlayerCell = new Cell ( 2 , 0 ) ;
_game. PlayerC ell. Value = 14 ;
methodInfo . Invoke ( _game , new object [ ] { _game. PlayerC ell, 14 } ) ;
var cell = new Cell ( 0 , 2 ) ;
c ell. Value = 14 ;
methodInfo . Invoke ( _game , new object [ ] { c ell, 14 } ) ;
Assert . True ( _game . UsedMap . Boards [ 2 ] . Penalty ) ;
}
@ -355,20 +384,16 @@ public class GameTests
{
var player = new Player ( "test_player" , "DefaultProfilePicture" ) ;
var map = new Map ( "test_name" , "test_background.png" ) ;
_game . InitializeGame ( map , player , false ) ;
_game . UsedMap . Boards [ 1 ] . Valid = true ;
_game . UsedMap . Boards [ 2 ] . Valid = true ;
_game . InitializeGame ( map , player ) ;
_game . UsedMap . Boards [ 1 ] . Value = 5 ;
_game . UsedMap . Boards [ 2 ] . IsDangerous = true ;
var methodInfo = typeof ( Game ) . GetMethod ( "PlaceResult" , BindingFlags . NonPublic | BindingFlags . Instance ) ;
Assert . NotNull ( methodInfo ) ;
_game . PlayerCell = new Cell ( 2 , 0 ) ;
_game. PlayerC ell. Value = 7 ;
methodInfo . Invoke ( _game , new object [ ] { _game. PlayerC ell, 7 } ) ;
var cell = new Cell ( 0 , 2 ) ;
c ell. Value = 7 ;
methodInfo . Invoke ( _game , new object [ ] { c ell, 7 } ) ;
Assert . True ( _game . UsedMap . Boards [ 2 ] . Penalty ) ;
}
@ -378,7 +403,7 @@ public class GameTests
{
var player = new Player ( "test_player" , "DefaultProfilePicture" ) ;
var map = new Map ( "test_name" , "test_background.png" ) ;
_game . InitializeGame ( map , player , false );
_game . InitializeGame ( map , player );
_game . UsedMap . Boards [ 0 ] . Valid = true ;
_game . UsedMap . Boards [ 3 ] . Valid = true ;
@ -406,7 +431,7 @@ public class GameTests
{
var player = new Player ( "test_player" , "DefaultProfilePicture" ) ;
var map = new Map ( "test_name" , "test_background.png" ) ;
_game . InitializeGame ( map , player , false );
_game . InitializeGame ( map , player );
_game . UsedMap . Boards [ 1 ] . Value = 1 ;
_game . UsedMap . Boards [ 2 ] . Value = 2 ;
@ -418,7 +443,7 @@ public class GameTests
foreach ( var cells in _game . UsedMap . Boards . ToList ( ) )
{
methodInfo . Invoke ( _game , new object [ ] { cells } ) ;
methodInfo . Invoke ( _game , new object [ ] { cells , _game . UsedMap . Boards . ToList ( ) } ) ;
}
_game . PutPenaltyForLostCells ( _game . UsedMap . Boards ) ;
@ -428,114 +453,42 @@ public class GameTests
}
[Fact]
public void CalculusOfPenalty_ReallyCalculusPenalty _ForZonesAndDangerousCellsAndOverTwelve ( )
public void CalculusOfPenalty_ReallyCalculusPenalty ( )
{
var player = new Player ( "test_player" , "DefaultProfilePicture" ) ;
var map = new Map ( "test_name" , "test_background.png" ) ;
_game . InitializeGame ( map , player , false ) ;
_game . UsedMap . Boards [ 7 ] . Valid = true ;
_game . UsedMap . Boards [ 8 ] . Valid = true ;
_game . UsedMap . Boards [ 9 ] . Valid = true ;
_game . UsedMap . Boards [ 10 ] . Valid = true ;
_game . UsedMap . Boards [ 11 ] . Valid = true ;
_game . UsedMap . Boards [ 12 ] . Valid = true ;
_game . UsedMap . Boards [ 10 ] . Value = 2 ; // 1,3 // penalty
_game . UsedMap . Boards [ 7 ] . Value = 5 ; // 1,0
_game . UsedMap . Boards [ 8 ] . Value = 5 ; // 1,1
_game . UsedMap . Boards [ 9 ] . Value = 5 ; // 1,2
var place = typeof ( Game ) . GetMethod ( "PlaceResult" , BindingFlags . NonPublic | BindingFlags . Instance ) ;
Assert . NotNull ( place ) ;
_game . PlayerCell = new Cell ( 4 , 1 ) ;
_game . PlayerCell . Value = 7 ;
_game . PlayerCell . Valid = true ;
_game . PlayerCell . IsDangerous = true ;
place . Invoke ( _game , new object [ ] { _game . PlayerCell , 7 } ) ; //One penalty
_game . PlayerCell = new Cell ( 5 , 1 ) ;
_game . PlayerCell . Value = 14 ;
_game . PlayerCell . Valid = true ;
place . Invoke ( _game , new object [ ] { _game . PlayerCell , 14 } ) ;
foreach ( var cells in _game . UsedMap . Boards . ToList ( ) )
{
_game . GameRules . IsZoneValidAndAddToZones ( cells , _game . UsedMap ) ;
}
_game . PutPenaltyForLostCells ( _game . UsedMap . Boards ) ;
Assert . True ( _game . UsedMap . Boards [ 11 ] . Penalty ) ;
Assert . Equal ( 9 , _game . CalculusOfPenalty ( _game . UsedMap . Boards ) ) ;
}
[Fact]
public void CanIModifyAPlayer ( )
{
Game game = new Game ( ) ;
Player player = new Player ( "test" , "DefaultProfilePicture" ) ;
game . AddPlayer ( player ) ;
game . ModifyPlayer ( "test" , "newName" ) ;
Assert . Equal ( "newName" , game . Players [ 0 ] . Pseudo ) ;
}
[Fact]
public void CanIModifyANonExistentPlayer ( )
{
Game game = new Game ( ) ;
var res = game . ModifyPlayer ( "nope" , "newName" ) ;
Assert . False ( res ) ;
}
_game . InitializeGame ( map , player ) ;
var methodInfo = typeof ( Game ) . GetMethod ( "AddToRopePath" , BindingFlags . NonPublic | BindingFlags . Instance ) ;
Assert . NotNull ( methodInfo ) ;
[Fact]
public void CanIRollDice ( )
{
_game . InitializeGame ( new Map ( "test" , "test.png" ) , new Player ( "test" , "test.png" ) , false ) ;
_game . RollAllDice ( ) ;
Assert . NotNull ( _game . Dice1 ) ;
Assert . NotNull ( _game . Dice2 ) ;
Assert . True ( _game . Dice1 . Value > = 0 & & _game . Dice1 . Value < = 5 ) ;
Assert . True ( _game . Dice2 . Value > = 1 & & _game . Dice2 . Value < = 6 ) ;
}
_game . UsedMap . Boards [ 0 ] . Valid = true ;
_game . UsedMap . Boards [ 1 ] . Valid = true ;
_game . UsedMap . Boards [ 2 ] . Valid = true ;
_game . UsedMap . Boards [ 3 ] . Valid = true ;
[Fact]
public void CanIStartGame ( )
{
_game . InitializeGame ( new Map ( "test" , "test.png" ) , new Player ( "test" , "test.png" ) , false ) ;
var start = typeof ( Game ) . GetMethod ( "StartGame" , BindingFlags . NonPublic | BindingFlags . Instance ) ;
Assert . NotNull ( start ) ;
_game . UsedMap . Boards [ 0 ] . Value = 0 ;
methodInfo . Invoke ( _game , new object [ ] { _game . UsedMap . Boards [ 0 ] , _game . GameRules . EveryAdjacentCells ( _game . UsedMap . Boards [ 0 ] , _game . UsedMap . Boards . ToList ( ) ) } ) ;
_game . UsedMap . Boards [ 1 ] . Value = 1 ;
methodInfo . Invoke ( _game , new object [ ] { _game . UsedMap . Boards [ 1 ] , _game . GameRules . EveryAdjacentCells ( _game . UsedMap . Boards [ 1 ] , _game . UsedMap . Boards . ToList ( ) ) } ) ;
_game . UsedMap . Boards [ 2 ] . Value = 2 ;
methodInfo . Invoke ( _game , new object [ ] { _game . UsedMap . Boards [ 2 ] , _game . GameRules . EveryAdjacentCells ( _game . UsedMap . Boards [ 2 ] , _game . UsedMap . Boards . ToList ( ) ) } ) ;
_game . UsedMap . Boards [ 3 ] . Value = 5 ;
start . Invoke ( _game , null ) ;
Assert . True ( _game . IsRunning ) ;
}
[Fact]
public void CanIEndGame ( )
{
_game . InitializeGame ( new Map ( "test" , "test.png" ) , new Player ( "test" , "test.png" ) , false ) ;
var start = typeof ( Game ) . GetMethod ( "StartGame" , BindingFlags . NonPublic | BindingFlags . Instance ) ;
Assert . NotNull ( start ) ;
_game . PutPenaltyForLostCells ( _game . UsedMap . Boards ) ;
start . Invoke ( _game , null ) ;
var end = typeof ( Game ) . GetMethod ( "EndGame" , BindingFlags . NonPublic | BindingFlags . Instance ) ;
Assert . NotNull ( end ) ;
Assert . True ( _game . UsedMap . Boards [ 3 ] . Penalty ) ;
end. Invoke ( _game , new object [ ] { 14 } ) ;
Assert . Equal ( 3 , _game . CalculusOfPenalty ( _game . UsedMap . Boards ) ) ;
Assert . False ( _game . IsRunning ) ;
}
[Fact]
public void CalculusOfP ointsWorksWellOrNot ( )
public void CalculusOfPenalty_ReallyCalculusPenalty_ForZonesAndDangerousCellsAndOverTwelve ( )
{
_game . InitializeGame ( new Map ( "test" , "test.png" ) , new Player ( "test" , "test.png" ) , false ) ;
var player = new Player ( "test_player" , "DefaultProfilePicture" ) ;
var map = new Map ( "test_name" , "test_background.png" ) ;
_game . InitializeGame ( map , player ) ;
_game . UsedMap . Boards [ 7 ] . Valid = true ;
_game . UsedMap . Boards [ 8 ] . Valid = true ;
@ -544,20 +497,24 @@ public class GameTests
_game . UsedMap . Boards [ 11 ] . Valid = true ;
_game . UsedMap . Boards [ 12 ] . Valid = true ;
_game . UsedMap . Boards [ 10 ] . Value = 2 ; // penalty (- 3)
_game . UsedMap . Boards [ 7 ] . Value = 5 ; // 5 + 2 = 7
_game . UsedMap . Boards [ 8 ] . Value = 5 ;
_game . UsedMap . Boards [ 9 ] . Value = 5 ;
_game . UsedMap . Boards [ 10 ] . Value = 2 ; // 1,3 // penalty
_game . UsedMap . Boards [ 7 ] . Value = 5 ; // 1,0
_game . UsedMap . Boards [ 8 ] . Value = 5 ; // 1,1
_game . UsedMap . Boards [ 9 ] . Value = 5 ; // 1,2
var place = typeof ( Game ) . GetMethod ( "PlaceResult" , BindingFlags . NonPublic | BindingFlags . Instance ) ;
Assert . NotNull ( place ) ;
_game . PlayerCell = new Cell ( 4 , 1 ) ;
_game. PlayerC ell. Value = 7 ;
_game. PlayerC ell. Valid = true ;
_game. PlayerC ell. IsDangerous = true ;
place . Invoke ( _game , new object [ ] { _game. PlayerC ell, 7 } ) ; //One penalty
var cell = new Cell ( 1 , 4 ) ;
c ell. Value = 7 ;
c ell. Valid = true ;
c ell. IsDangerous = true ;
place . Invoke ( _game , new object [ ] { c ell, 7 } ) ; //One penalty
var othercell = new Cell ( 1 , 5 ) ;
cell . Value = 14 ;
cell . Valid = true ;
place . Invoke ( _game , new object [ ] { othercell , 14 } ) ;
foreach ( var cells in _game . UsedMap . Boards . ToList ( ) )
@ -568,127 +525,7 @@ public class GameTests
_game . PutPenaltyForLostCells ( _game . UsedMap . Boards ) ;
Assert . True ( _game . UsedMap . Boards [ 11 ] . Penalty ) ;
Assert . Equal ( 9 , _game . CalculusOfPenalty ( _game . UsedMap . Boards ) ) ;
Assert . Equal ( 1 , _game . FinalCalculusOfPoints ( ) ) ;
}
[Fact]
public void CalculusOfPointsWorksWellOrNotForRopePathes ( )
{
_game . InitializeGame ( new Map ( "test" , "test.png" ) , new Player ( "test" , "test.png" ) , false ) ;
var methodInfo = typeof ( Game ) . GetMethod ( "AddToRopePath" , BindingFlags . NonPublic | BindingFlags . Instance ) ;
Assert . NotNull ( methodInfo ) ;
_game . Turn = 2 ;
_game . UsedMap . Boards [ 7 ] . Valid = true ;
_game . UsedMap . Boards [ 8 ] . Valid = true ;
_game . UsedMap . Boards [ 9 ] . Valid = true ;
_game . UsedMap . Boards [ 10 ] . Valid = true ;
_game . UsedMap . Boards [ 7 ] . Value = 5 ; //7 + 2 = 9
methodInfo . Invoke ( _game , new object [ ] { _game . UsedMap . Boards [ 7 ] } ) ;
_game . UsedMap . Boards [ 8 ] . Value = 6 ;
methodInfo . Invoke ( _game , new object [ ] { _game . UsedMap . Boards [ 8 ] } ) ;
_game . UsedMap . Boards [ 9 ] . Value = 7 ;
methodInfo . Invoke ( _game , new object [ ] { _game . UsedMap . Boards [ 9 ] } ) ;
_game . UsedMap . Boards [ 10 ] . Value = 2 ; // penalty (- 3)
methodInfo . Invoke ( _game , new object [ ] { _game . UsedMap . Boards [ 10 ] } ) ;
_game . PutPenaltyForLostCells ( _game . UsedMap . Boards ) ;
Assert . True ( _game . UsedMap . Boards [ 10 ] . Penalty ) ;
Assert . Equal ( 6 , _game . FinalCalculusOfPoints ( ) ) ;
}
[Fact]
public void AddBestScore_AddsNewBestScoreToList ( )
{
var game = new Game ( _mockPersistence . Object ) ;
var player = new Player ( "John Doe" , "DefaultProfilePicture" ) ;
var map = new Map ( "test_name" , "test_background.png" ) ;
game . InitializeGame ( map , player , false ) ;
game . AddBestScore ( 100 ) ;
Assert . Single ( game . BestScores ) ;
Assert . Equal ( 100 , game . BestScores [ 0 ] . Score ) ;
Assert . Equal ( player , game . BestScores [ 0 ] . ThePlayer ) ;
Assert . Equal ( map . Name , game . BestScores [ 0 ] . MapName ) ;
}
[Fact]
public void AddBestScore_UpdatesExistingBestScoreAndIncrementsGamesPlayed ( )
{
var game = new Game ( _mockPersistence . Object ) ;
var player = new Player ( "John Doe" , "DefaultProfilePicture" ) ;
var map = new Map ( "test_name" , "test_background.png" ) ;
game . InitializeGame ( map , player , false ) ;
game . AddBestScore ( 100 ) ;
game . AddBestScore ( 200 ) ;
Assert . Single ( game . BestScores ) ;
Assert . Equal ( 300 , game . BestScores [ 0 ] . Score ) ;
Assert . Equal ( 2 , game . BestScores [ 0 ] . GamesPlayed ) ;
Assert . Equal ( player , game . BestScores [ 0 ] . ThePlayer ) ;
Assert . Equal ( map . Name , game . BestScores [ 0 ] . MapName ) ;
}
[Fact]
public void AddBestScore_SortsBestScoresCorrectly ( )
{
var game = new Game ( _mockPersistence . Object ) ;
var player1 = new Player ( "John Doe" , "DefaultProfilePicture" ) ;
var player2 = new Player ( "John Does" , "DefaultProfilePicture" ) ;
var map = new Map ( "test_name" , "test_background.png" ) ;
game . InitializeGame ( map , player1 , false ) ;
game . AddBestScore ( 100 ) ;
game . InitializeGame ( map , player2 , false ) ;
game . AddBestScore ( 200 ) ;
Assert . Equal ( 2 , game . BestScores . Count ) ;
Assert . Equal ( 200 , game . BestScores [ 0 ] . Score ) ;
Assert . Equal ( player2 , game . BestScores [ 0 ] . ThePlayer ) ;
Assert . Equal ( 100 , game . BestScores [ 1 ] . Score ) ;
Assert . Equal ( player1 , game . BestScores [ 1 ] . ThePlayer ) ;
}
[Fact]
public void CheckAndRemoveBestScoresDependencies_RemovesDependenciesCorrectly ( )
{
var game = new Game ( _mockPersistence . Object ) ;
var player = new Player ( "John Doe" , "DefaultProfilePicture" ) ;
var map = new Map ( "test_name" , "test_background.png" ) ;
game . InitializeGame ( map , player , false ) ;
game . AddBestScore ( 100 ) ;
game . CheckAndRemoveBestScoresDependencies ( player . Pseudo ) ;
Assert . DoesNotContain ( game . BestScores , bs = > bs . ThePlayer . Pseudo = = player . Pseudo ) ;
}
[Fact]
public void CheckAndChangeBestScoresDependencies_ChangesDependenciesCorrectly ( )
{
var game = new Game ( _mockPersistence . Object ) ;
var player = new Player ( "John Doe" , "DefaultProfilePicture" ) ;
var map = new Map ( "test_name" , "test_background.png" ) ;
game . InitializeGame ( map , player , false ) ;
game . AddBestScore ( 100 ) ;
game . CheckAndChangeBestScoresDependencies ( player . Pseudo , "John Does" ) ;
Assert . All ( game . BestScores , bs = > Assert . NotEqual ( "John Doe" , bs . ThePlayer . Pseudo ) ) ;
Assert . Contains ( game . BestScores , bs = > bs . ThePlayer . Pseudo = = "John Does" ) ;
}
}