StartGameNow_shortcuts_the_join_game_process_and_assigns_all_remaining_teams_to_current_players_and_starts_the_game() { var message = ((TestMessage)smartContractState.Message); message.Sender = contractOwnerAddress; var contract = SetupValidSweepstake(); message.Sender = contractOwnerAddress; contract.JoinGame("owner"); message.Sender = punter1Address; contract.JoinGame("p1"); message.Sender = contractOwnerAddress; contract.StartGameNow(); var persistedPlayers = persistentState.GetAddressList("PlayersAddresses"); persistedPlayers.Count.Should().Be(4); var persistedAssignedTeams = persistentState.GetStringList("AssignedTeams"); persistedAssignedTeams.GetValue(0).Should().Be("england"); persistedPlayers.GetValue(0).Should().Be(contractOwnerAddress); persistedAssignedTeams.GetValue(1).Should().Be("argentina"); persistedPlayers.GetValue(1).Should().Be(punter1Address); persistedAssignedTeams.GetValue(2).Should().Be("germany"); persistedPlayers.GetValue(2).Should().Be(contractOwnerAddress); persistedAssignedTeams.GetValue(3).Should().Be("brazil"); persistedPlayers.GetValue(3).Should().Be(punter1Address); }