summaryrefslogtreecommitdiff
path: root/testdata/scad/experimental/concat-tests.scad
blob: 0bcb90377eff4e82452ed6ddd487c4acbc353494 (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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
u = undef;

echo("--- empty");
echo(concat());
echo(concat([]));
echo(concat([], []));
echo(concat([], [], []));

echo("--- single elements");
echo(concat(u));
echo(concat(true));
echo(concat(3));
echo(concat("abc"));
echo(concat([0:1:10]));

echo("--- single vectors");
echo(concat([1, 2, 3]));
echo(concat([[1, 2, 3]]));
echo(concat([[[1, 2, 3]]]));
echo(concat([[[1, 2, [3, 4], 5]]]));

echo("--- multiple elements");
echo(concat(3, 3));
echo(concat(1, 2, 3));
echo(concat(1, 2, 3, 4, 5));
echo(concat(1, "text", false, [1:0.5:3]));

echo("--- vector / element");
echo(concat([3, 4], u));
echo(concat([3, 4, 5], 6));
echo(concat([3, 4, 5, 6], true));
echo(concat([3, 4, "5", 6], "test"));
echo(concat([3, 4, true, 6], [4:1:3]));

echo("--- element / vector");
echo(concat(3, []));
echo(concat(3, [3, 4]));
echo(concat(true, [3, [4]]));
echo(concat("9", [1, 2, 3]));
echo(concat([6:2:9], [3, [4]]));

echo("--- vector / vector");
echo(concat([], [3, 4]));
echo(concat([[]], [3, 4]));
echo(concat([[2, 4]], [3, 4]));
echo(concat([5, 6], ["d", [3, 4]]));
echo(concat([[1, 0, 0], [2, 0, 0]], [3, 0, 0]));
echo(concat([[1, 0, 0], [2, 0, 0]], [[3, 0, 0]]));
echo(concat([[1, 0, 0], [2, 0, 0], [3, 0, 0]], [[4, 4, 4], [5, 5, 5]]));

echo("--- recursive function");
function r(i) = i > 0 ? concat(r(i - 1), [[i, i * i]]) : [];
echo(r(10));
contact: Jan Huwald // Impressum