diff options
Diffstat (limited to 'Build/source/utils/asymptote/tests/array/sort.asy')
-rw-r--r-- | Build/source/utils/asymptote/tests/array/sort.asy | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/Build/source/utils/asymptote/tests/array/sort.asy b/Build/source/utils/asymptote/tests/array/sort.asy new file mode 100644 index 00000000000..03c585b717d --- /dev/null +++ b/Build/source/utils/asymptote/tests/array/sort.asy @@ -0,0 +1,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(); |