Skip to content

Commit

Permalink
Move drop to ListValue
Browse files Browse the repository at this point in the history
  • Loading branch information
pontusmelke committed May 27, 2018
1 parent ecf4f6e commit 9a6894c
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 12 deletions.
Expand Up @@ -66,10 +66,10 @@ case class ListSlice(collection: Expression, from: Option[Expression], to: Optio
fromValue match { fromValue match {
case None => Values.NO_VALUE case None => Values.NO_VALUE
case Some(value) if value >= 0 => case Some(value) if value >= 0 =>
VirtualValues.drop(collectionValue, value) collectionValue.drop(value)
case Some(value) => case Some(value) =>
val end = collectionValue.size + value val end = collectionValue.size + value
VirtualValues.drop(collectionValue, end) collectionValue.drop(end)
} }
} }


Expand Down
Expand Up @@ -911,4 +911,11 @@ public ListValue slice( int from, int to )
return new ListSlice( this, f, t ); return new ListSlice( this, f, t );
} }
} }

public ListValue drop( int n )
{
int size = size();
int start = Math.max( 0, Math.min( n, size ) );
return new ListSlice( this, start, size );
}
} }
Expand Up @@ -63,12 +63,6 @@ public static ListValue fromArray( ArrayValue arrayValue )
return new ListValue.ArrayValueListValue( arrayValue ); return new ListValue.ArrayValueListValue( arrayValue );
} }


public static ListValue drop( ListValue list, int n )
{
int start = Math.max( 0, Math.min( n, list.size() ) );
return new ListValue.ListSlice( list, start, list.size() );
}

public static ListValue take( ListValue list, int n ) public static ListValue take( ListValue list, int n )
{ {
int end = Math.max( 0, Math.min( n, list.size() ) ); int end = Math.max( 0, Math.min( n, list.size() ) );
Expand Down
Expand Up @@ -25,7 +25,6 @@
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.neo4j.values.storable.Values.longValue; import static org.neo4j.values.storable.Values.longValue;
import static org.neo4j.values.virtual.VirtualValues.EMPTY_LIST; import static org.neo4j.values.virtual.VirtualValues.EMPTY_LIST;
import static org.neo4j.values.virtual.VirtualValues.drop;
import static org.neo4j.values.virtual.VirtualValues.list; import static org.neo4j.values.virtual.VirtualValues.list;
import static org.neo4j.values.virtual.VirtualValues.take; import static org.neo4j.values.virtual.VirtualValues.take;


Expand Down Expand Up @@ -104,7 +103,7 @@ public void shouldBeAbleToDropFromList()
longValue( 8L ), longValue( 9L ), longValue( 10L ), longValue( 11L ) ); longValue( 8L ), longValue( 9L ), longValue( 10L ), longValue( 11L ) );


// When // When
ListValue drop = drop( inner, 4 ); ListValue drop = inner.drop( 4 );


// Then // Then
ListValue expected = list( longValue( 9L ), longValue( 10L ), longValue( 11L ) ); ListValue expected = list( longValue( 9L ), longValue( 10L ), longValue( 11L ) );
Expand Down
Expand Up @@ -226,7 +226,7 @@ public void shouldRecurseAndCoerce()
longValue( 7L ), longValue( 7L ),
NO_VALUE ).dropNoValues(), NO_VALUE ).dropNoValues(),
list( -2L, 1L, 4L, 7L, 10L ).slice( 1, 4 ), list( -2L, 1L, 4L, 7L, 10L ).slice( 1, 4 ),
VirtualValues.drop( list( -2L, 1L, 4L, 7L ), 1 ), list( -2L, 1L, 4L, 7L ).drop( 1 ),
VirtualValues.take( list( 1L, 4L, 7L, 10L, 13L ), 3 ), VirtualValues.take( list( 1L, 4L, 7L, 10L, 13L ), 3 ),
VirtualValues.reverse( list( 7L, 4L, 1L ) ), VirtualValues.reverse( list( 7L, 4L, 1L ) ),
VirtualValues.concat( list( 1L, 4L ), list( 7L ) ) VirtualValues.concat( list( 1L, 4L ), list( 7L ) )
Expand All @@ -244,7 +244,7 @@ public void shouldRecurseAndCoerce()
longValue( 7L ), longValue( 7L ),
NO_VALUE ).dropNoValues(), NO_VALUE ).dropNoValues(),
list( -2L, 1L, 5L, 8L, 11L ).slice( 1, 4 ), list( -2L, 1L, 5L, 8L, 11L ).slice( 1, 4 ),
VirtualValues.drop( list( -2L, 6L, 9L, 12L ), 1 ), list( -2L, 6L, 9L, 12L ).drop( 1 ),
VirtualValues.take( list( 7L, 10L, 13L, 10L, 13L ), 3 ), VirtualValues.take( list( 7L, 10L, 13L, 10L, 13L ), 3 ),
VirtualValues.reverse( list( 15L, 12L, 9L ) ), VirtualValues.reverse( list( 15L, 12L, 9L ) ),
VirtualValues.concat( list( 10L, 13L ), list( 16L ) ) VirtualValues.concat( list( 10L, 13L ), list( 16L ) )
Expand Down

0 comments on commit 9a6894c

Please sign in to comment.