summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/tests/array/sort.asy
blob: 03c585b717d03b451cfa2551cc7ff4bf6f67384b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import TestLib;
import math;

string[] a={"bob","alice","pete","alice"};
string[] b={"alice","alice","bob","pete"};

StartTest("sort");

assert(all(sort(a) == b));

EndTest();

StartTest("search");

assert(search(b,"a") == -1);
assert(search(b,"bob") == 2);
assert(search(b,"z") == b.length-1);

EndTest();

StartTest("sort2");

string[][] a={{"bob","9"},{"alice","5"},{"pete","7"},{"alice","4"}};
string[][] b={{"alice","4"},{"alice","5"},{"bob","9"},{"pete","7"}};

assert(sort(a) == b);

EndTest();

pair[] a={(2,1),(0,0),(1,1),(1,0)};
pair[] b={(0,0),(1,0),(1,1),(2,1)};

StartTest("lexicographical sort");
assert(all(sort(a,lexorder) == b));
EndTest();

StartTest("lexicographical search");
assert(search(b,(1,0),lexorder) == 1);
EndTest();