Root/poly2d/test/hsort

1#!/bin/sh
2. ./Common
3
4###############################################################################
5
6tst "hierarchical sort with one hole" <<EOF
7struct p2d *pl, *p;
8
9pl = p = p2d_new();
10p2d_append(p, v2d_new(0, 0));
11p2d_append(p, v2d_new(20, 0));
12p2d_append(p, v2d_new(20, 10));
13p2d_append(p, v2d_new(0, 10));
14p2d_close(p);
15
16p = p->next = p2d_new();
17p2d_append(p, v2d_new(2, 2));
18p2d_append(p, v2d_new(2, 8));
19p2d_append(p, v2d_new(18, 8));
20p2d_append(p, v2d_new(18, 2));
21p2d_close(p);
22
23print_hier(p2d_hsort(pl));
24EOF
25
26expect <<EOF
270 0 20 0 20 10 0 10
28  2 2 2 8 18 8 18 2
29EOF
30
31#------------------------------------------------------------------------------
32
33tst "hierarchical sort with two holes" <<EOF
34struct p2d *pl, *p;
35
36pl = p = p2d_new();
37p2d_append(p, v2d_new(0, 0));
38p2d_append(p, v2d_new(10, 0));
39p2d_append(p, v2d_new(10, 10));
40p2d_close(p);
41
42p = p->next = p2d_new();
43p2d_append(p, v2d_new(2, 2));
44p2d_append(p, v2d_new(4, 2));
45p2d_append(p, v2d_new(4, 4));
46p2d_close(p);
47
48p = p->next = p2d_new();
49p2d_append(p, v2d_new(6, 2));
50p2d_append(p, v2d_new(8, 2));
51p2d_append(p, v2d_new(8, 8));
52p2d_close(p);
53
54print_hier(p2d_hsort(pl));
55EOF
56
57expect <<EOF
580 0 10 0 10 10
59  2 2 4 2 4 4
60  6 2 8 2 8 8
61EOF
62
63#------------------------------------------------------------------------------
64
65tst "hierarchical sort with nested holes" <<EOF
66struct p2d *pl, *p;
67
68pl = p = p2d_new();
69p2d_append(p, v2d_new(0, 0));
70p2d_append(p, v2d_new(10, 0));
71p2d_append(p, v2d_new(10, 10));
72p2d_close(p);
73
74p = p->next = p2d_new();
75p2d_append(p, v2d_new(2, 2));
76p2d_append(p, v2d_new(8, 2));
77p2d_append(p, v2d_new(8, 8));
78p2d_close(p);
79
80p = p->next = p2d_new();
81p2d_append(p, v2d_new(3, 3));
82p2d_append(p, v2d_new(7, 3));
83p2d_append(p, v2d_new(7, 7));
84p2d_close(p);
85
86print_hier(p2d_hsort(pl));
87EOF
88
89expect <<EOF
900 0 10 0 10 10
91  2 2 8 2 8 8
92    3 3 7 3 7 7
93EOF
94
95
96###############################################################################
97

Archive Download this file

Branches:
master



interactive