private Sweepstake SetupValidSweepstake()
        {
            var message = ((TestMessage)smartContractState.Message);

            message.Sender = contractOwnerAddress;
            message.Value  = entryFeeStrats * SatoshiMuliplier; //note via swagger when calling methods it is strats. eg amount:"1"  means 1 strat (1*10^8 satoshis)

            var teams = "Germany,Brazil,England,Argentina";

            var  totalPrizeFund = entryFeeStrats * (ulong)teams.Split(",").Length;
            uint firstPrize     = (uint)(totalPrizeFund * 0.7);
            uint secondPrize    = (uint)(totalPrizeFund * 0.2);
            uint thirdPrize     = (uint)(totalPrizeFund * 0.1);

            var contract = new Sweepstake(smartContractState, teams, entryFeeStrats, firstPrize, secondPrize, thirdPrize);

            return(contract);
        }
        private void all_players_join_and_get_assigned_teams(TestMessage message, Sweepstake contract)
        {
            message.Sender = contractOwnerAddress;
            contract.JoinGame("owner");
            message.Sender = punter1Address;
            contract.JoinGame("p1");
            message.Sender = punter2Address;
            contract.JoinGame("p2");
            message.Sender = punter3Address;
            contract.JoinGame("p3");

            var persistedAssignedTeams = persistentState.GetStringList("AssignedTeams");

            persistedAssignedTeams.GetValue(0).Should().Be("england");
            persistedAssignedTeams.GetValue(1).Should().Be("argentina");
            persistedAssignedTeams.GetValue(2).Should().Be("germany");
            persistedAssignedTeams.GetValue(3).Should().Be("brazil");
        }
        private Sweepstake SetupValidSweepstake()
        {
            var message = ((TestMessage)smartContractState.Message);

            message.Sender = contractOwnerAddress;
            message.Value  =
                entryFeeStrats *
                SatoshiMuliplier;

            var teams = "Germany,Brazil,England,Argentina";

            var  totalPrizeFund = entryFeeStrats * 4;
            uint firstPrize     = (uint)(totalPrizeFund * 0.7);
            uint secondPrize    = (uint)(totalPrizeFund * 0.2);
            uint thirdPrize     = (uint)(totalPrizeFund * 0.1);

            var contract = new Sweepstake(smartContractState, teams, entryFeeStrats, firstPrize, secondPrize,
                                          thirdPrize);

            return(contract);
        }