public void UserCouldFinishGame() { var probe = CreateTestProbe(); var gamesNotStarted = new PlayBoardEvent(); var gameKey = Guid.NewGuid().ToString(); var owner = new Player( "Pedro Perez", Guid.NewGuid().ToString()); var playerRegistering = new Player( "Edgar Leonardo", Guid.NewGuid().ToString()); var playerRegistering2 = new Player( "Edgar Antonio", Guid.NewGuid().ToString()); var playerRegistering3 = new Player( "Edgar Miguel", Guid.NewGuid().ToString()); var gameEvent = new GameEvent(gameKey, owner); var gameRegister = new GameRegister(gameEvent); gamesNotStarted.GameRegistered.Add(gameKey, gameRegister); var playboard = Sys.ActorOf(PlayBoardActor.Props(gamesNotStarted)); var message = new EnterExistingGame(playerRegistering, gameKey); playboard.Tell(message, probe.Ref); var received = probe.ExpectMsg<UserRegistrationDone>(); Assert.Equal(gameKey, received.GameId); Assert.Equal(playerRegistering.Id, received.PlayerInfo.Id); message = new EnterExistingGame(playerRegistering2, gameKey); playboard.Tell(message, probe.Ref); received = probe.ExpectMsg<UserRegistrationDone>(); Assert.Equal(gameKey, received.GameId); Assert.Equal(playerRegistering2.Id, received.PlayerInfo.Id); /// Initializing the game the first player that create the game var startGame = new ThrowDice(playerRegistering, gameKey); playboard.Tell(startGame, probe.Ref); var creceived3 = probe.ExpectMsg<GameRegister>(); /// The Game must be started, if game is started Assert.True(creceived3.GameEventDashboard.IsGameStarted); var messageFinishGame = new FinishGame(playerRegistering2, gameKey); playboard.Tell(messageFinishGame, probe.Ref); var receivedIsStarted = probe.ExpectMsg<GameRegister>(); Assert.Equal(receivedIsStarted.GameEventDashboard.GameId, gameKey); }
public void UserEnterNotStartedGame() { var probe = CreateTestProbe(); var gamesNotStarted = new PlayBoardEvent(); var gameKey = Guid.NewGuid().ToString(); var connectionId = Guid.NewGuid().ToString(); var owner = new Player("Pedro Perez", connectionId); var playerRegistering = new Player( "Edgar Leonardo", Guid.NewGuid().ToString()); var gameEvent = new GameEvent(gameKey, owner); var gameRegister = new GameRegister(gameEvent); gamesNotStarted.GameRegistered.Add(gameKey, gameRegister); var playboard = Sys.ActorOf(PlayBoardActor.Props( gamesNotStarted)); var message = new EnterExistingGame(playerRegistering, gameKey); playboard.Tell(message, probe.Ref); var received = probe.ExpectMsg<UserRegistrationDone>(); Assert.Equal(gameKey, received.GameId); Assert.Equal(playerRegistering.Id, received.PlayerInfo.Id); }
private PlayBoardActor(PlayBoardEvent Event) { Event = new PlayBoardEvent(); StartingReceivers(); }
public PlayBoardActor() { Event = new PlayBoardEvent(); StartingReceivers(); _game = new Dictionary <string, IActorRef>(); }
public static Props Props(PlayBoardEvent eve) => Akka.Actor.Props.Create(() => new PlayBoardActor(eve));