lib: modify lib/pipeline to work on collection instead of iterators.
[nit.git] / tests / test_pipeline.nit
1 # This file is part of NIT ( http://www.nitlanguage.org ).
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 # http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 import pipeline
16
17 var a1 = [1..1000]
18 var a2 = [1,2,1,1,1,3,2]
19
20 print a2.sort_filter.to_a
21 print a2.uniq.to_a
22 print a2.seq_uniq.to_a
23
24 ##
25
26 print((a1 + a2).length)
27
28 print a2.alternate(0).to_a
29
30 print a2.skip(1).to_a
31
32 ##
33
34 print a1.head(2).to_a
35 print a1.skip_head(998).to_a
36 print a1.tail(2).to_a
37 print a1.skip_tail(998).to_a
38
39 print a1.skip_head(1).head(3).skip_tail(1).tail(1).to_a