~pac72/ubuntu/lucid/ddd/devel

« back to all changes in this revision

Viewing changes to vsllib/DEMOS/list

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Schepler
  • Date: 2004-07-22 03:49:37 UTC
  • mfrom: (1.2.1 upstream) (2.1.1 warty)
  • Revision ID: james.westby@ubuntu.com-20040722034937-cysl08t1jvba4jrx
Tags: 1:3.3.9-3
USERINFO has been renamed to USERINFO.txt; adjust debian/rules code
to match, to get correct information on the About DDD dialog.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!vsl
2
 
 
3
 
// $Id: list,v 1.1 2000/06/09 09:27:36 andreas Exp $ 
4
 
// Testdatei fuer "list.vsl"
5
 
 
6
 
#include <list.vsl>
7
 
 
8
 
_numlist([head]) = num(head);
9
 
_numlist([head : tail]) = num(head) & ", " & _numlist(tail);
10
 
_numlist(atom) = num(atom);
11
 
numlist([]) = "[]";
12
 
numlist(l) = "[" & _numlist(l) & "]";
13
 
 
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));
18
 
 
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]));
24
 
 
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]));
29
 
 
30
 
reverse_test() = numlist(reverse([1, 2, 3, 4]));
31
 
 
32
 
delete_test() = numlist(delete([4, 5, 5, 6], 5));
33
 
 
34
 
select_test() = numlist(select([4, 5, 5, 6], 5));
35
 
 
36
 
flat_test() = numlist(flat([[3, 4], [[5], [6]]]));
37
 
 
38
 
sort_test() = numlist(sort([2, 1, 3])) & 
39
 
        numlist(sort([9, 5, 7, 4, 2, 1, 3, 8, 6]));
40
 
 
41
 
// convert an argument list into a list
42
 
atol(a...) = numlist(a);
43
 
args_to_list_test() = atol(1, 2, 3);
44
 
 
45
 
// convert a list into an argument list
46
 
ltoa(list) = atol(list...);
47
 
list_to_args_test() = ltoa([1, 2, 3]);
48
 
 
49
 
 
50
 
// all tests
51
 
all_list_tests() = 
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()")
65
 
;
66
 
 
67
 
list_explanation() =
68
 
  "This is '$RCSfile: list,v $ $Revision: 1.1 $', based on '" & list_version() & "'.";
69
 
 
70
 
list_main() = list_explanation() | all_list_tests();
71
 
list_main(...) -> list_main();