Outofrange

Adding some missing unit tests and changing the exception type for IComparable requirements to ArgumentOutOfRangeException