namespace Lottery
{
internal class Generator
{
///
/// Simple algorithm for generating a list of unique numbers of Limits.Count size
///
/// Defines the amount of numbers to generate, the min and max values
/// Numbers are returned as a sorted set.
public static SortedSet Generate(Limits limits)
{
List candidates = Enumerable.Range(limits.Lower, limits.Upper).ToList();
SortedSet numbers = [];
for (int i = 0; i < limits.Count; i++)
{
int RandomIndex = Random.Shared.Next(candidates.Count);
numbers.Add(candidates[RandomIndex]);
candidates.RemoveAt(RandomIndex);
}
return numbers;
}
}
}