@Override default Seq<T> takeRight(int num) { return (Seq<T>) ImmutableList.super.takeRight(num); }
@Override public IntMap<T> takeRight(int num) { return (IntMap<T>) ImmutableList.super.takeRight(num); }
@Override public DifferenceList<T> takeRight(int num) { return (DifferenceList<T>)ImmutableList.super.takeRight(num); }
@Override default LazySeq<T> takeRight(int num) { if(num>size()) return this; return (LazySeq<T>) ImmutableList.super.takeRight(num); }
@Test public void takeRightValues(){ assertThat(of(1,2,3).takeRight(-1),equalTo(of())); assertThat(of(1,2,3).takeRight(0),equalTo(of())); assertThat(of(1,2,3).takeRight(1),equalTo(of(3))); assertThat(of(1,2,3).takeRight(2),equalTo(of(2,3))); assertThat(of(1,2,3).takeRight(3),equalTo(of(1,2,3))); assertThat(of(1,2,3).takeRight(4),equalTo(of(1,2,3))); } @Test
@Override public DifferenceList<T> takeRight(int num) { return (DifferenceList<T>)ImmutableList.super.takeRight(num); }
@Override public IntMap<T> takeRight(int num) { return (IntMap<T>) ImmutableList.super.takeRight(num); }
@Override default Seq<T> takeRight(int num) { return (Seq<T>) ImmutableList.super.takeRight(num); }
@Override default LazySeq<T> takeRight(int num) { if(num>size()) return this; return (LazySeq<T>) ImmutableList.super.takeRight(num); }