public void GetPayout_WithoutEntries_ShouldBeNull()
        {
            // Arrange
            var payoutStrategy = new DefaultChallengePayoutStrategy();

            var buckets = new ChallengePayoutBuckets(new List <ChallengePayoutBucket>());

            var payoutEntries = new ChallengePayoutEntries(buckets);

            // Act
            var action = new Func <IChallengePayout>(() => payoutStrategy.GetChallengePayout(payoutEntries, new EntryFee(5000, CurrencyType.Token)));

            // Assert
            action.Should().Throw <NotSupportedException>();
        }
        public void GetPayout_WithEntries_ShouldNotBeNull()
        {
            // Arrange
            var payoutStrategy = new DefaultChallengePayoutStrategy();

            var bucket = new ChallengePayoutBucket(ChallengePayoutBucketPrize.Consolation, ChallengePayoutBucketSize.Individual);

            var buckets = new ChallengePayoutBuckets(
                new List <ChallengePayoutBucket>
            {
                bucket
            });

            var payoutEntries = new ChallengePayoutEntries(buckets);

            // Act
            var payout = payoutStrategy.GetChallengePayout(payoutEntries, new EntryFee(5000, CurrencyType.Token));

            // Assert
            payout.Should().NotBeNull();
        }