using System.Collections;
namespace Numbers.NumberFactory;
///
/// Base class for implementations
///
///
public abstract class AbstractNumbers : INumbers
{
// TODO
// private readonly List _list;
///
/// Creates a new instance of with the given bounds.
/// Will generate the appropriate numbers based on the implementation of .
///
/// Lower bound of the number range
/// Upper bound of the number range
protected AbstractNumbers(long lowerBound, long upperBound)
{
// TODO
}
public long this[int index]
{
get
{
// TODO
return -1L;
}
}
public long LowerBound { get; }
public long UpperBound { get; }
public int Length => -1; // TODO
public IEnumerator GetEnumerator() => null!; // TODO
IEnumerator IEnumerable.GetEnumerator() => null!; // TODO
private void GenerateNumbers()
{
// TODO
}
///
/// Determines whether the given number should be picked based on the task of a
/// specific implementation
///
/// Number to check
/// True if the number should be picked; false otherwise
protected abstract bool PickNumber(long number);
}