3
// $Id: list,v 1.1 2000/06/09 09:27:36 andreas Exp $
4
// Testdatei fuer "list.vsl"
8
_numlist([head]) = num(head);
9
_numlist([head : tail]) = num(head) & ", " & _numlist(tail);
10
_numlist(atom) = num(atom);
12
numlist(l) = "[" & _numlist(l) & "]";
14
car_test() = num(car([1, 2, 3]));
15
cdr_test() = numlist(cdr([1, 2, 3]));
16
cons_test() = numlist([1, 2] :: [3, 4] :: [5, 6]);
17
append_test() = numlist(append([1, 2, 3], 4));
19
bool(a) = if a then "T " else "F " fi;
20
list_true_test() = bool(member(2, [1, 2, 3])) &
21
bool(prefix([1, 2], [1, 2, 3])) &
22
bool(suffix([2, 3], [1, 2, 3])) &
23
bool(sublist([2, 3], [1, 2, 3, 4]));
25
list_false_test() = bool(member(4, [1, 2, 3])) &
26
bool(prefix([1, 4], [1, 2, 3])) &
27
bool(suffix([1, 3], [1, 2, 3])) &
28
bool(sublist([2, 4], [1, 2, 3, 4]));
30
reverse_test() = numlist(reverse([1, 2, 3, 4]));
32
delete_test() = numlist(delete([4, 5, 5, 6], 5));
34
select_test() = numlist(select([4, 5, 5, 6], 5));
36
flat_test() = numlist(flat([[3, 4], [[5], [6]]]));
38
sort_test() = numlist(sort([2, 1, 3])) &
39
numlist(sort([9, 5, 7, 4, 2, 1, 3, 8, 6]));
41
// convert an argument list into a list
42
atol(a...) = numlist(a);
43
args_to_list_test() = atol(1, 2, 3);
45
// convert a list into an argument list
46
ltoa(list) = atol(list...);
47
list_to_args_test() = ltoa([1, 2, 3]);
52
car_test() & vcenter(" // car_test()")
53
| cdr_test() & vcenter(" // cdr_test()")
54
| cons_test() & vcenter(" // cons_test()")
55
| append_test() & vcenter(" // append_test()")
56
| list_true_test() & vcenter(" // list_true_test()")
57
| list_false_test() & vcenter(" // list_false_test()")
58
| reverse_test() & vcenter(" // reverse_test()")
59
| delete_test() & vcenter(" // delete_test()")
60
| select_test() & vcenter(" // select_test()")
61
| flat_test() & vcenter(" // flat_test()")
62
| sort_test() & vcenter(" // sort_test()")
63
| args_to_list_test() & vcenter(" // args_to_list_test()")
64
| list_to_args_test() & vcenter(" // list_to_args_test()")
68
"This is '$RCSfile: list,v $ $Revision: 1.1 $', based on '" & list_version() & "'.";
70
list_main() = list_explanation() | all_list_tests();
71
list_main(...) -> list_main();