using qdr.fnd.core.pqueue.Enums;

namespace qdr.fnd.core.pqueue
{
    public static class EnumExt
    {
        private static readonly Random _random = new Random();
        public static TEnumValue GetRandom<TEnumValue>(this Enum value) where TEnumValue : Enum
        {
            var values = Enum.GetValues(typeof(TEnumValue));
            var result = values.GetValue(_random.Next(values.Length));
            if (result is null)
                return default!;
            return (TEnumValue)result;

        }
    }
}
