public static ListValue range( AnyValue startValue, AnyValue endValue ) { return VirtualValues.range( asLong( startValue ), asLong( endValue ), 1L ); }
public static ListValue range( AnyValue startValue, AnyValue endValue, AnyValue stepValue ) { long step = asLong( stepValue ); if ( step == 0L ) { throw new InvalidArgumentException( "step argument to range() cannot be zero", null ); } return VirtualValues.range( asLong( startValue ), asLong( endValue ), step ); }
@Test void shouldHandleNegativeStep() { ListValue range = range( 11L, 5L, -3L ); ListValue expected = list( longValue( 11L ), longValue( 8L ), longValue( 5L ) ); assertEquals( range, expected ); assertEquals( range.hashCode(), expected.hashCode() ); } }
@Test void shouldHandleRangeWithBiggerSteps() { ListValue range = range( 5L, 11L, 3L ); ListValue expected = list( longValue( 5L ), longValue( 8L ), longValue( 11L ) ); assertEquals( range, expected ); assertEquals( range.hashCode(), expected.hashCode() ); }
@Test void shouldHandleRangeWithStepOne() { ListValue range = range( 5L, 11L, 1L ); ListValue expected = list( longValue( 5L ), longValue( 6L ), longValue( 7L ), longValue( 8L ), longValue( 9L ), longValue( 10L ), longValue( 11L ) ); assertEquals( range, expected ); assertEquals( range.hashCode(), expected.hashCode() ); }
public static ListValue range( AnyValue startValue, AnyValue endValue ) { return VirtualValues.range( asLong( startValue ), asLong( endValue ), 1L ); }
public static ListValue range( AnyValue startValue, AnyValue endValue, AnyValue stepValue ) { long step = asLong( stepValue ); if ( step == 0L ) { throw new InvalidArgumentException( "step argument to range() cannot be zero", null ); } return VirtualValues.range( asLong( startValue ), asLong( endValue ), step ); }