rubyfca 0.2.11 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,244 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <svg width="720pt" height="656pt" viewBox="0 0 720 656" xmlns="http://www.w3.org/2000/svg">
3
+ <polygon fill="white" stroke="none" points="0 656 0 0 720 0 720 656 0 656" style=""/>
4
+ <g id="node2" class="node" transform="matrix(1, 0, 0, 1, -238.714844, 1325)">
5
+ <title>cl1v</title>
6
+ <polygon fill="white" stroke="none" points="833.5,-1325 750.5,-1325 750.5,-1190 833.5,-1190 833.5,-1325"/>
7
+ <polygon fill="none" stroke="black" points="758.5,-1194 758.5,-1321 770.5,-1321 770.5,-1194 758.5,-1194"/>
8
+ <text text-anchor="start" x="761.12" y="-1252.45" font-family="Times,serif" font-size="14.00" style="white-space: pre;">1</text>
9
+ <polygon fill="lightblue" stroke="none" points="770.5,-1216 770.5,-1321 825.5,-1321 825.5,-1216 770.5,-1216"/>
10
+ <polygon fill="none" stroke="black" points="770.5,-1216 770.5,-1321 825.5,-1321 825.5,-1216 770.5,-1216"/>
11
+ <text text-anchor="start" x="773.5" y="-1304.7" font-family="Times,serif" font-size="14.00" style="white-space: pre;">Ostrich</text>
12
+ <text text-anchor="start" x="770.5" y="-1288.2" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;"> Sparrow</text>
13
+ <text text-anchor="start" x="770.5" y="-1271.7" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;"> Eagle</text>
14
+ <text text-anchor="start" x="770.5" y="-1255.2" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;"> Lion</text>
15
+ <text text-anchor="start" x="770.5" y="-1238.7" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;"> Bonobo</text>
16
+ <text text-anchor="start" x="770.5" y="-1222.2" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;"> Human</text>
17
+ <polygon fill="white" stroke="none" points="770.5,-1194 770.5,-1216 825.5,-1216 825.5,-1194 770.5,-1194"/>
18
+ <polygon fill="none" stroke="black" points="770.5,-1194 770.5,-1216 825.5,-1216 825.5,-1194 770.5,-1194"/>
19
+ <text text-anchor="start" x="773.5" y="-1199.7" font-family="Times,serif" font-size="14.00" style="white-space: pre;">     </text>
20
+ </g>
21
+ <g id="node4" class="node" transform="matrix(1, 0, 0, 1, -238.714844, 1325)">
22
+ <title>cl2v</title>
23
+ <polygon fill="white" stroke="none" points="833,-1145 751,-1145 751,-1076 833,-1076 833,-1145"/>
24
+ <polygon fill="none" stroke="black" points="759,-1080 759,-1141 771,-1141 771,-1080 759,-1080"/>
25
+ <text text-anchor="start" x="761.62" y="-1105.45" font-family="Times,serif" font-size="14.00" style="white-space: pre;">2</text>
26
+ <polygon fill="lightblue" stroke="none" points="771,-1102 771,-1141 825,-1141 825,-1102 771,-1102"/>
27
+ <polygon fill="none" stroke="black" points="771,-1102 771,-1141 825,-1141 825,-1102 771,-1102"/>
28
+ <text text-anchor="start" x="772" y="-1124.7" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;"> Eagle</text>
29
+ <text text-anchor="start" x="772" y="-1108.2" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;"> Lion</text>
30
+ <polygon fill="pink" stroke="none" points="771,-1080 771,-1102 825,-1102 825,-1080 771,-1080"/>
31
+ <polygon fill="none" stroke="black" points="771,-1080 771,-1102 825,-1102 825,-1080 771,-1080"/>
32
+ <text text-anchor="start" x="774" y="-1085.7" font-family="Times,serif" font-size="14.00" style="white-space: pre;">preying*</text>
33
+ </g>
34
+ <polygon fill="white" stroke="none" points="606.285 294 512.285 294 512.285 379 606.285 379 606.285 294"/>
35
+ <polygon fill="none" stroke="black" points="520.285 375 520.285 298 532.285 298 532.285 375 520.285 375"/>
36
+ <text text-anchor="start" x="522.905" y="341.55" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;">3</text>
37
+ <polygon fill="lightblue" stroke="none" points="532.285 353 532.285 298 598.285 298 598.285 353 532.285 353"/>
38
+ <polygon fill="none" stroke="black" points="532.285 353 532.285 298 598.285 298 598.285 353 532.285 353"/>
39
+ <text text-anchor="start" x="533.285" y="314.3" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;"> Lion</text>
40
+ <text text-anchor="start" x="533.285" y="330.8" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;"> Bonobo</text>
41
+ <text text-anchor="start" x="533.285" y="347.3" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;"> Human</text>
42
+ <polygon fill="pink" stroke="none" points="532.285 375 532.285 353 598.285 353 598.285 375 532.285 375"/>
43
+ <polygon fill="none" stroke="black" points="532.285 375 532.285 353 598.285 353 598.285 375 532.285 375"/>
44
+ <text text-anchor="start" x="535.285" y="369.3" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;">mammal *</text>
45
+ <g id="node8" class="node" transform="matrix(1, 0, 0, 1, -238.714844, 1325)">
46
+ <title>cl4v</title>
47
+ <polygon fill="white" stroke="none" points="837.5,-901 750.5,-901 750.5,-832 837.5,-832 837.5,-901"/>
48
+ <polygon fill="none" stroke="black" points="758.5,-836 758.5,-897 770.5,-897 770.5,-836 758.5,-836"/>
49
+ <text text-anchor="start" x="761.12" y="-861.45" font-family="Times,serif" font-size="14.00" style="white-space: pre;">4</text>
50
+ <polygon fill="lightblue" stroke="none" points="770.5,-875 770.5,-897 829.5,-897 829.5,-875 770.5,-875"/>
51
+ <polygon fill="none" stroke="black" points="770.5,-875 770.5,-897 829.5,-897 829.5,-875 770.5,-875"/>
52
+ <text text-anchor="start" x="771.5" y="-880.7" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;"> Lion*</text>
53
+ <polygon fill="pink" stroke="none" points="770.5,-836 770.5,-875 829.5,-875 829.5,-836 770.5,-836"/>
54
+ <polygon fill="none" stroke="black" points="770.5,-836 770.5,-875 829.5,-875 829.5,-836 770.5,-836"/>
55
+ <text text-anchor="start" x="773.5" y="-858.7" font-family="Times,serif" font-size="14.00" style="white-space: pre;">mammal </text>
56
+ <text text-anchor="start" x="773.5" y="-842.2" font-family="Times,serif" font-size="14.00" style="white-space: pre;">preying</text>
57
+ </g>
58
+ <g id="node10" class="node" transform="matrix(1, 0, 0, 1, -238.714844, 1325)">
59
+ <title>cl5v</title>
60
+ <polygon fill="white" stroke="none" points="837.5,-787 750.5,-787 750.5,-701 837.5,-701 837.5,-787"/>
61
+ <polygon fill="none" stroke="black" points="758.5,-705 758.5,-783 770.5,-783 770.5,-705 758.5,-705"/>
62
+ <text text-anchor="start" x="761.12" y="-738.95" font-family="Times,serif" font-size="14.00" style="white-space: pre;">5</text>
63
+ <polygon fill="lightblue" stroke="none" points="770.5,-744 770.5,-783 829.5,-783 829.5,-744 770.5,-744"/>
64
+ <polygon fill="none" stroke="black" points="770.5,-744 770.5,-783 829.5,-783 829.5,-744 770.5,-744"/>
65
+ <text text-anchor="start" x="771.5" y="-766.7" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;"> Bonobo*</text>
66
+ <text text-anchor="start" x="771.5" y="-750.2" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;"> Human</text>
67
+ <polygon fill="pink" stroke="none" points="770.5,-705 770.5,-744 829.5,-744 829.5,-705 770.5,-705"/>
68
+ <polygon fill="none" stroke="black" points="770.5,-705 770.5,-744 829.5,-744 829.5,-705 770.5,-705"/>
69
+ <text text-anchor="start" x="773.5" y="-727.7" font-family="Times,serif" font-size="14.00" style="white-space: pre;">mammal </text>
70
+ <text text-anchor="start" x="773.5" y="-711.2" font-family="Times,serif" font-size="14.00" style="white-space: pre;">ape    *</text>
71
+ </g>
72
+ <g id="node12" class="node" transform="matrix(1, 0, 0, 1, -125.441696, 656)">
73
+ <title>cl6v</title>
74
+ <polygon fill="white" stroke="none" points="837.5,-656 750.5,-656 750.5,-571 837.5,-571 837.5,-656"/>
75
+ <polygon fill="none" stroke="black" points="758.5,-575 758.5,-652 770.5,-652 770.5,-575 758.5,-575"/>
76
+ <text text-anchor="start" x="761.12" y="-608.45" font-family="Times,serif" font-size="14.00" style="white-space: pre;">6</text>
77
+ <polygon fill="lightblue" stroke="none" points="770.5,-630 770.5,-652 829.5,-652 829.5,-630 770.5,-630"/>
78
+ <polygon fill="none" stroke="black" points="770.5,-630 770.5,-652 829.5,-652 829.5,-630 770.5,-630"/>
79
+ <text text-anchor="start" x="769.5" y="-635.7" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;"> Human*</text>
80
+ <polygon fill="pink" stroke="none" points="770.5,-575 770.5,-630 829.5,-630 829.5,-575 770.5,-575"/>
81
+ <polygon fill="none" stroke="black" points="770.5,-575 770.5,-630 829.5,-630 829.5,-575 770.5,-575"/>
82
+ <text text-anchor="start" x="773.5" y="-613.7" font-family="Times,serif" font-size="14.00" style="white-space: pre;">mammal </text>
83
+ <text text-anchor="start" x="773.5" y="-597.2" font-family="Times,serif" font-size="14.00" style="white-space: pre;">ape    </text>
84
+ <text text-anchor="start" x="773.5" y="-580.7" font-family="Times,serif" font-size="14.00" style="white-space: pre;">talking*</text>
85
+ </g>
86
+ <g id="node14" class="node" transform="matrix(1, 0, 0, 1, -125.441696, 656)">
87
+ <title>cl7v</title>
88
+ <polygon fill="white" stroke="none" points="833.5,-526 750.5,-526 750.5,-441 833.5,-441 833.5,-526"/>
89
+ <polygon fill="none" stroke="black" points="758.5,-445 758.5,-522 770.5,-522 770.5,-445 758.5,-445"/>
90
+ <text text-anchor="start" x="761.12" y="-478.45" font-family="Times,serif" font-size="14.00" style="white-space: pre;">7</text>
91
+ <polygon fill="lightblue" stroke="none" points="770.5,-467 770.5,-522 825.5,-522 825.5,-467 770.5,-467"/>
92
+ <polygon fill="none" stroke="black" points="770.5,-467 770.5,-522 825.5,-522 825.5,-467 770.5,-467"/>
93
+ <text text-anchor="start" x="773.5" y="-505.7" font-family="Times,serif" font-size="14.00" style="white-space: pre;">Ostrich*</text>
94
+ <text text-anchor="start" x="770.5" y="-489.2" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;"> Sparrow</text>
95
+ <text text-anchor="start" x="770.5" y="-472.7" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;"> Eagle</text>
96
+ <polygon fill="pink" stroke="none" points="770.5,-445 770.5,-467 825.5,-467 825.5,-445 770.5,-445"/>
97
+ <polygon fill="none" stroke="black" points="770.5,-445 770.5,-467 825.5,-467 825.5,-445 770.5,-445"/>
98
+ <text text-anchor="start" x="773.5" y="-450.7" font-family="Times,serif" font-size="14.00" style="white-space: pre;">bird   *</text>
99
+ </g>
100
+ <polygon fill="white" stroke="none" points="715.558 260 625.558 260 625.558 346 715.558 346 715.558 260"/>
101
+ <polygon fill="none" stroke="black" points="633.558 342 633.558 264 645.558 264 645.558 342 633.558 342"/>
102
+ <text text-anchor="start" x="636.178" y="308.05" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;">8</text>
103
+ <polygon fill="lightblue" stroke="none" points="645.558 303 645.558 264 707.558 264 707.558 303 645.558 303"/>
104
+ <polygon fill="none" stroke="black" points="645.558 303 645.558 264 707.558 264 707.558 303 645.558 303"/>
105
+ <text text-anchor="start" x="644.558" y="280.3" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;"> Sparrow*</text>
106
+ <text text-anchor="start" x="644.558" y="296.8" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;"> Eagle</text>
107
+ <polygon fill="pink" stroke="none" points="645.558 342 645.558 303 707.558 303 707.558 342 645.558 342"/>
108
+ <polygon fill="none" stroke="black" points="645.558 342 645.558 303 707.558 303 707.558 342 645.558 342"/>
109
+ <text text-anchor="start" x="648.558" y="319.3" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;">bird   </text>
110
+ <text text-anchor="start" x="648.558" y="335.8" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;">flying *</text>
111
+ <g id="node18" class="node" transform="matrix(1, 0, 0, 1, -125.441696, 656)">
112
+ <title>cl9v</title>
113
+ <polygon fill="white" stroke="none" points="825.5,-265 750.5,-265 750.5,-180 825.5,-180 825.5,-265"/>
114
+ <polygon fill="none" stroke="black" points="758.5,-184 758.5,-261 770.5,-261 770.5,-184 758.5,-184"/>
115
+ <text text-anchor="start" x="761.12" y="-217.45" font-family="Times,serif" font-size="14.00" style="white-space: pre;">9</text>
116
+ <polygon fill="lightblue" stroke="none" points="770.5,-239 770.5,-261 817.5,-261 817.5,-239 770.5,-239"/>
117
+ <polygon fill="none" stroke="black" points="770.5,-239 770.5,-261 817.5,-261 817.5,-239 770.5,-239"/>
118
+ <text text-anchor="start" x="769.5" y="-244.7" font-family="Times,serif" font-size="14.00" style="white-space: pre; font-size: 14px;"> Eagle*</text>
119
+ <polygon fill="pink" stroke="none" points="770.5,-184 770.5,-239 817.5,-239 817.5,-184 770.5,-184"/>
120
+ <polygon fill="none" stroke="black" points="770.5,-184 770.5,-239 817.5,-239 817.5,-184 770.5,-184"/>
121
+ <text text-anchor="start" x="773.5" y="-222.7" font-family="Times,serif" font-size="14.00" style="white-space: pre;">bird   </text>
122
+ <text text-anchor="start" x="773.5" y="-206.2" font-family="Times,serif" font-size="14.00" style="white-space: pre;">flying </text>
123
+ <text text-anchor="start" x="773.5" y="-189.7" font-family="Times,serif" font-size="14.00" style="white-space: pre;">preying</text>
124
+ </g>
125
+ <g id="node20" class="node" transform="matrix(1, 0, 0, 1, -125.441696, 656)">
126
+ <title>cl10v</title>
127
+ <polygon fill="white" stroke="none" points="845,-135 751,-135 751,0 845,0 845,-135"/>
128
+ <polygon fill="none" stroke="black" points="759,-4 759,-131 778,-131 778,-4 759,-4"/>
129
+ <text text-anchor="start" x="761.75" y="-62.45" font-family="Times,serif" font-size="14.00" style="white-space: pre;">10</text>
130
+ <polygon fill="white" stroke="none" points="778,-109 778,-131 837,-131 837,-109 778,-109"/>
131
+ <polygon fill="none" stroke="black" points="778,-109 778,-131 837,-131 837,-109 778,-109"/>
132
+ <text text-anchor="start" x="781" y="-114.7" font-family="Times,serif" font-size="14.00" style="white-space: pre;">     </text>
133
+ <polygon fill="pink" stroke="none" points="778,-4 778,-109 837,-109 837,-4 778,-4"/>
134
+ <polygon fill="none" stroke="black" points="778,-4 778,-109 837,-109 837,-4 778,-4"/>
135
+ <text text-anchor="start" x="781" y="-92.7" font-family="Times,serif" font-size="14.00" style="white-space: pre;">bird   </text>
136
+ <text text-anchor="start" x="781" y="-76.2" font-family="Times,serif" font-size="14.00" style="white-space: pre;">mammal </text>
137
+ <text text-anchor="start" x="781" y="-59.7" font-family="Times,serif" font-size="14.00" style="white-space: pre;">ape    </text>
138
+ <text text-anchor="start" x="781" y="-43.2" font-family="Times,serif" font-size="14.00" style="white-space: pre;">flying </text>
139
+ <text text-anchor="start" x="781" y="-26.7" font-family="Times,serif" font-size="14.00" style="white-space: pre;">preying</text>
140
+ <text text-anchor="start" x="781" y="-10.2" font-family="Times,serif" font-size="14.00" style="white-space: pre;">talking</text>
141
+ </g>
142
+ <g id="node21" class="node" transform="matrix(1, 0, 0, 1, 4, 1329)">
143
+ <title>c0</title>
144
+ <ellipse fill="lightgrey" stroke="black" cx="269" cy="-744" rx="18" ry="18"/>
145
+ <text text-anchor="middle" x="269" y="-738.95" font-family="Times,serif" font-size="14.00" style="white-space: pre;">1</text>
146
+ </g>
147
+ <g id="node22" class="node" transform="matrix(1, 0, 0, 1, 4, 1329)">
148
+ <title>c1</title>
149
+ <ellipse fill="lightgrey" stroke="black" cx="269" cy="-988.5" rx="18" ry="18"/>
150
+ <text text-anchor="middle" x="269" y="-983.45" font-family="Times,serif" font-size="14.00" style="white-space: pre;">2</text>
151
+ </g>
152
+ <g id="edge20" class="edge" transform="matrix(1, 0, 0, 1, 4, 1329)">
153
+ <title>c1--c0</title>
154
+ <path fill="none" stroke="#999999" d="M269,-970.12C269,-924.7 269,-807.55 269,-762.26"/>
155
+ </g>
156
+ <g id="node23" class="node" transform="matrix(1, 0, 0, 1, 4, 1329)">
157
+ <title>c2</title>
158
+ <ellipse fill="lightgrey" stroke="black" cx="136" cy="-866.5" rx="18" ry="18"/>
159
+ <text text-anchor="middle" x="136" y="-861.45" font-family="Times,serif" font-size="14.00" style="white-space: pre;">3</text>
160
+ </g>
161
+ <g id="edge21" class="edge" transform="matrix(1, 0, 0, 1, 4, 1329)">
162
+ <title>c2--c0</title>
163
+ <path fill="none" stroke="#999999" d="M149.24,-854.31C174.6,-830.95 229.79,-780.11 255.42,-756.51"/>
164
+ </g>
165
+ <g id="node24" class="node" transform="matrix(1, 0, 0, 1, 4, 1329)">
166
+ <title>c3</title>
167
+ <ellipse fill="lightgrey" stroke="black" cx="239" cy="-1110.5" rx="18" ry="18"/>
168
+ <text text-anchor="middle" x="239" y="-1105.45" font-family="Times,serif" font-size="14.00" style="white-space: pre;">4</text>
169
+ </g>
170
+ <g id="edge22" class="edge" transform="matrix(1, 0, 0, 1, 4, 1329)">
171
+ <title>c3--c1</title>
172
+ <path fill="none" stroke="#999999" d="M243.36,-1092.76C249.05,-1069.63 258.94,-1029.4 264.63,-1006.26"/>
173
+ </g>
174
+ <g id="edge23" class="edge" transform="matrix(1, 0, 0, 1, 4, 1329)">
175
+ <title>c3--c2</title>
176
+ <path fill="none" stroke="#999999" d="M231.92,-1093.73C213.1,-1049.15 162,-928.1 143.13,-883.39"/>
177
+ </g>
178
+ <g id="node25" class="node" transform="matrix(1, 0, 0, 1, 4, 1329)">
179
+ <title>c4</title>
180
+ <ellipse fill="lightgrey" stroke="black" cx="18" cy="-988.5" rx="18" ry="18"/>
181
+ <text text-anchor="middle" x="18" y="-983.45" font-family="Times,serif" font-size="14.00" style="white-space: pre;">5</text>
182
+ </g>
183
+ <g id="edge24" class="edge" transform="matrix(1, 0, 0, 1, 4, 1329)">
184
+ <title>c4--c2</title>
185
+ <path fill="none" stroke="#999999" d="M30.63,-975.44C53.34,-951.96 100.82,-902.88 123.46,-879.46"/>
186
+ </g>
187
+ <g id="node26" class="node" transform="matrix(1, 0, 0, 1, 4, 1329)">
188
+ <title>c5</title>
189
+ <ellipse fill="lightgrey" stroke="black" cx="33" cy="-1110.5" rx="18" ry="18"/>
190
+ <text text-anchor="middle" x="33" y="-1105.45" font-family="Times,serif" font-size="14.00" style="white-space: pre;">6</text>
191
+ </g>
192
+ <g id="edge25" class="edge" transform="matrix(1, 0, 0, 1, 4, 1329)">
193
+ <title>c5--c4</title>
194
+ <path fill="none" stroke="#999999" d="M30.75,-1092.24C27.91,-1069.1 23.04,-1029.49 20.21,-1006.49"/>
195
+ </g>
196
+ <g id="node27" class="node" transform="matrix(1, 0, 0, 1, 4, 1329)">
197
+ <title>c6</title>
198
+ <ellipse fill="lightgrey" stroke="black" cx="395" cy="-866.5" rx="18" ry="18"/>
199
+ <text text-anchor="middle" x="395" y="-861.45" font-family="Times,serif" font-size="14.00" style="white-space: pre;">7</text>
200
+ </g>
201
+ <g id="edge26" class="edge" transform="matrix(1, 0, 0, 1, 4, 1329)">
202
+ <title>c6--c0</title>
203
+ <path fill="none" stroke="#999999" d="M381.99,-853.85C357.85,-830.38 306.36,-780.32 282.13,-756.76"/>
204
+ </g>
205
+ <g id="node28" class="node" transform="matrix(1, 0, 0, 1, 4, 1329)">
206
+ <title>c7</title>
207
+ <ellipse fill="lightgrey" stroke="black" cx="461" cy="-988.5" rx="18" ry="18"/>
208
+ <text text-anchor="middle" x="461" y="-983.45" font-family="Times,serif" font-size="14.00" style="white-space: pre;">8</text>
209
+ </g>
210
+ <g id="edge27" class="edge" transform="matrix(1, 0, 0, 1, 4, 1329)">
211
+ <title>c7--c6</title>
212
+ <path fill="none" stroke="#999999" d="M452.24,-972.3C439.61,-948.97 416.44,-906.14 403.8,-882.77"/>
213
+ </g>
214
+ <g id="node29" class="node" transform="matrix(1, 0, 0, 1, 4, 1329)">
215
+ <title>c8</title>
216
+ <ellipse fill="lightgrey" stroke="black" cx="372" cy="-1110.5" rx="18" ry="18"/>
217
+ <text text-anchor="middle" x="372" y="-1105.45" font-family="Times,serif" font-size="14.00" style="white-space: pre;">9</text>
218
+ </g>
219
+ <g id="edge28" class="edge" transform="matrix(1, 0, 0, 1, 4, 1329)">
220
+ <title>c8--c1</title>
221
+ <path fill="none" stroke="#999999" d="M360.18,-1096.51C340.32,-1072.97 300.45,-1025.76 280.68,-1002.33"/>
222
+ </g>
223
+ <g id="edge29" class="edge" transform="matrix(1, 0, 0, 1, 4, 1329)">
224
+ <title>c8--c7</title>
225
+ <path fill="none" stroke="#999999" d="M382.56,-1096.03C399.6,-1072.67 432.97,-1026.92 450.18,-1003.34"/>
226
+ </g>
227
+ <g id="node30" class="node" transform="matrix(1, 0, 0, 1, 4, 1329)">
228
+ <title>c9</title>
229
+ <ellipse fill="lightgrey" stroke="black" cx="239" cy="-1257.5" rx="20.13" ry="20.13"/>
230
+ <text text-anchor="middle" x="239" y="-1252.45" font-family="Times,serif" font-size="14.00" style="white-space: pre;">10</text>
231
+ </g>
232
+ <g id="edge30" class="edge" transform="matrix(1, 0, 0, 1, 4, 1329)">
233
+ <title>c9--c3</title>
234
+ <path fill="none" stroke="#999999" d="M239,-1237.06C239,-1208.34 239,-1156.49 239,-1128.91"/>
235
+ </g>
236
+ <g id="edge31" class="edge" transform="matrix(1, 0, 0, 1, 4, 1329)">
237
+ <title>c9--c5</title>
238
+ <path fill="none" stroke="#999999" d="M222.49,-1245.72C183.35,-1217.79 85.38,-1147.88 47.9,-1121.14"/>
239
+ </g>
240
+ <g id="edge32" class="edge" transform="matrix(1, 0, 0, 1, 4, 1329)">
241
+ <title>c9--c8</title>
242
+ <path fill="none" stroke="#999999" d="M252.73,-1242.32C278.75,-1213.57 334.84,-1151.57 359.7,-1124.09"/>
243
+ </g>
244
+ </svg>
Binary file
data/test/rubyfca_test.rb CHANGED
@@ -1,7 +1,58 @@
1
- require 'test_helper'
1
+ # frozen_string_literal: true
2
2
 
3
- class RubyfcaTest < Test::Unit::TestCase
4
- should "be given some tests" do
5
- assert true
3
+ require "minitest/autorun"
4
+
5
+ class TestRubyFCA < Minitest::Test
6
+ BIN = File.expand_path("../bin", __dir__)
7
+ TEST_INPUT = File.expand_path("../test/test_input", __dir__)
8
+ TEST_EXPECTED = File.expand_path("../test/test_expected", __dir__)
9
+ TEST_OUTPUT = File.expand_path("../test/test_output", __dir__)
10
+
11
+ def test_csv_to_svg
12
+ input_file = "#{TEST_INPUT}/test_data.csv"
13
+ output_file = "#{TEST_OUTPUT}/test_result_01.svg"
14
+ expected_output = File.read("#{TEST_EXPECTED}/test_result_01.svg")
15
+
16
+ File.delete(output_file) if File.exist?(output_file)
17
+
18
+ `#{BIN}/rubyfca #{input_file} #{output_file} --coloring 1 --full --nodesep 0.8 --ranksep 0.3 --straight`
19
+
20
+ assert_equal expected_output, File.read(output_file) if File.exist?(output_file)
21
+ end
22
+
23
+ def test_cxt_to_svg
24
+ input_file = "#{TEST_INPUT}/test_data.cxt"
25
+ output_file = "#{TEST_OUTPUT}/test_result_02.svg"
26
+ expected_output = File.read("#{TEST_EXPECTED}/test_result_02.svg")
27
+
28
+ File.delete(output_file) if File.exist?(output_file)
29
+
30
+ `#{BIN}/rubyfca #{input_file} #{output_file} --coloring 2 --nodesep 0.5 --ranksep 0.3`
31
+
32
+ assert_equal expected_output, File.read(output_file) if File.exist?(output_file)
33
+ end
34
+
35
+ def test_xlsx_to_svg
36
+ input_file = "#{TEST_INPUT}/test_data_numbers.xlsx"
37
+ output_file = "#{TEST_OUTPUT}/test_result_03.svg"
38
+ expected_output = File.read("#{TEST_EXPECTED}/test_result_03.svg")
39
+
40
+ File.delete(output_file) if File.exist?(output_file)
41
+
42
+ `#{BIN}/rubyfca #{input_file} #{output_file} --circle --legend --coloring 1 --full --nodesep 0.8 --ranksep 0.3 --straight`
43
+
44
+ assert_equal expected_output, File.read(output_file) if File.exist?(output_file)
45
+ end
46
+
47
+ def test_numbers
48
+ input_file = "#{TEST_INPUT}/test_data_numbers.xlsx"
49
+ output_file = "#{TEST_OUTPUT}/test_result_04.svg"
50
+ expected_output = File.read("#{TEST_EXPECTED}/test_result_04.svg")
51
+
52
+ File.delete(output_file) if File.exist?(output_file)
53
+
54
+ `#{BIN}/rubyfca #{input_file} #{output_file} --coloring 1 --full --nodesep 0.8 --ranksep 0.3 --straight`
55
+
56
+ assert_equal expected_output, File.read(output_file) if File.exist?(output_file)
6
57
  end
7
58
  end
@@ -0,0 +1,202 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
3
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
4
+ <!-- Generated by graphviz version 8.0.5 (20230430.1635)
5
+ -->
6
+ <!-- Title: clattice Pages: 1 -->
7
+ <svg width="418pt" height="585pt"
8
+ viewBox="0.00 0.00 417.75 585.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
9
+ <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 581)">
10
+ <title>clattice</title>
11
+ <polygon fill="white" stroke="none" points="-4,4 -4,-581 413.75,-581 413.75,4 -4,4"/>
12
+ <!-- c0 -->
13
+ <g id="node1" class="node">
14
+ <title>c0</title>
15
+ <polygon fill="lightblue" stroke="none" points="234.87,-22.5 234.87,-127.5 290.37,-127.5 290.37,-22.5 234.87,-22.5"/>
16
+ <polygon fill="none" stroke="black" points="234.87,-22.5 234.87,-127.5 290.37,-127.5 290.37,-22.5 234.87,-22.5"/>
17
+ <text text-anchor="start" x="237.87" y="-111.2" font-family="Times,serif" font-size="14.00">Ostrich</text>
18
+ <text text-anchor="start" x="237.87" y="-94.7" font-family="Times,serif" font-size="14.00"> Sparrow</text>
19
+ <text text-anchor="start" x="237.87" y="-78.2" font-family="Times,serif" font-size="14.00"> Eagle</text>
20
+ <text text-anchor="start" x="237.87" y="-61.7" font-family="Times,serif" font-size="14.00"> Lion</text>
21
+ <text text-anchor="start" x="237.87" y="-45.2" font-family="Times,serif" font-size="14.00"> Bonobo</text>
22
+ <text text-anchor="start" x="237.87" y="-28.7" font-family="Times,serif" font-size="14.00"> Human</text>
23
+ <polygon fill="white" stroke="none" points="234.87,0 234.87,-22.5 290.37,-22.5 290.37,0 234.87,0"/>
24
+ <polygon fill="none" stroke="black" points="234.87,0 234.87,-22.5 290.37,-22.5 290.37,0 234.87,0"/>
25
+ <text text-anchor="start" x="237.87" y="-6.2" font-family="Times,serif" font-size="14.00"> &#160;&#160;&#160;&#160;</text>
26
+ </g>
27
+ <!-- c1 -->
28
+ <g id="node2" class="node">
29
+ <title>c1</title>
30
+ <polygon fill="lightblue" stroke="none" points="235.62,-280.25 235.62,-319.25 289.62,-319.25 289.62,-280.25 235.62,-280.25"/>
31
+ <polygon fill="none" stroke="black" points="235.62,-280.25 235.62,-319.25 289.62,-319.25 289.62,-280.25 235.62,-280.25"/>
32
+ <text text-anchor="start" x="238.62" y="-302.95" font-family="Times,serif" font-size="14.00"> Eagle</text>
33
+ <text text-anchor="start" x="238.62" y="-286.45" font-family="Times,serif" font-size="14.00"> Lion</text>
34
+ <polygon fill="pink" stroke="none" points="235.62,-257.75 235.62,-280.25 289.62,-280.25 289.62,-257.75 235.62,-257.75"/>
35
+ <polygon fill="none" stroke="black" points="235.62,-257.75 235.62,-280.25 289.62,-280.25 289.62,-257.75 235.62,-257.75"/>
36
+ <text text-anchor="start" x="238.62" y="-263.95" font-family="Times,serif" font-size="14.00">preying*</text>
37
+ </g>
38
+ <!-- c1&#45;&#45;c0 -->
39
+ <g id="edge1" class="edge">
40
+ <title>c1&#45;&#45;c0</title>
41
+ <path fill="none" stroke="#999999" d="M262.62,-258.19C262.62,-224.76 262.62,-170.03 262.62,-127.13"/>
42
+ </g>
43
+ <!-- c2 -->
44
+ <g id="node3" class="node">
45
+ <title>c2</title>
46
+ <polygon fill="lightblue" stroke="none" points="108.62,-172 108.62,-227.5 174.62,-227.5 174.62,-172 108.62,-172"/>
47
+ <polygon fill="none" stroke="black" points="108.62,-172 108.62,-227.5 174.62,-227.5 174.62,-172 108.62,-172"/>
48
+ <text text-anchor="start" x="111.62" y="-211.2" font-family="Times,serif" font-size="14.00"> Lion</text>
49
+ <text text-anchor="start" x="111.62" y="-194.7" font-family="Times,serif" font-size="14.00"> Bonobo</text>
50
+ <text text-anchor="start" x="111.62" y="-178.2" font-family="Times,serif" font-size="14.00"> Human</text>
51
+ <polygon fill="pink" stroke="none" points="108.62,-149.5 108.62,-172 174.62,-172 174.62,-149.5 108.62,-149.5"/>
52
+ <polygon fill="none" stroke="black" points="108.62,-149.5 108.62,-172 174.62,-172 174.62,-149.5 108.62,-149.5"/>
53
+ <text text-anchor="start" x="111.62" y="-155.7" font-family="Times,serif" font-size="14.00">mammal *</text>
54
+ </g>
55
+ <!-- c2&#45;&#45;c0 -->
56
+ <g id="edge2" class="edge">
57
+ <title>c2&#45;&#45;c0</title>
58
+ <path fill="none" stroke="#999999" d="M174.36,-154.74C193.4,-135.11 217.12,-110.66 235.17,-92.05"/>
59
+ </g>
60
+ <!-- c3 -->
61
+ <g id="node4" class="node">
62
+ <title>c3</title>
63
+ <polygon fill="lightblue" stroke="none" points="120,-396.75 120,-419.25 179.25,-419.25 179.25,-396.75 120,-396.75"/>
64
+ <polygon fill="none" stroke="black" points="120,-396.75 120,-419.25 179.25,-419.25 179.25,-396.75 120,-396.75"/>
65
+ <text text-anchor="start" x="123" y="-402.95" font-family="Times,serif" font-size="14.00"> Lion*</text>
66
+ <polygon fill="pink" stroke="none" points="120,-357.75 120,-396.75 179.25,-396.75 179.25,-357.75 120,-357.75"/>
67
+ <polygon fill="none" stroke="black" points="120,-357.75 120,-396.75 179.25,-396.75 179.25,-357.75 120,-357.75"/>
68
+ <text text-anchor="start" x="123" y="-380.45" font-family="Times,serif" font-size="14.00">mammal </text>
69
+ <text text-anchor="start" x="123" y="-363.95" font-family="Times,serif" font-size="14.00">preying</text>
70
+ </g>
71
+ <!-- c3&#45;&#45;c1 -->
72
+ <g id="edge3" class="edge">
73
+ <title>c3&#45;&#45;c1</title>
74
+ <path fill="none" stroke="#999999" d="M179.01,-362.49C196.54,-346.98 218.63,-327.43 235.7,-312.33"/>
75
+ </g>
76
+ <!-- c3&#45;&#45;c2 -->
77
+ <g id="edge4" class="edge">
78
+ <title>c3&#45;&#45;c2</title>
79
+ <path fill="none" stroke="#999999" d="M148.41,-358.12C147.01,-323.16 144.71,-265.64 143.18,-227.42"/>
80
+ </g>
81
+ <!-- c4 -->
82
+ <g id="node5" class="node">
83
+ <title>c4</title>
84
+ <polygon fill="lightblue" stroke="none" points="0,-288.5 0,-327.5 59.25,-327.5 59.25,-288.5 0,-288.5"/>
85
+ <polygon fill="none" stroke="black" points="0,-288.5 0,-327.5 59.25,-327.5 59.25,-288.5 0,-288.5"/>
86
+ <text text-anchor="start" x="3" y="-311.2" font-family="Times,serif" font-size="14.00"> Bonobo*</text>
87
+ <text text-anchor="start" x="3" y="-294.7" font-family="Times,serif" font-size="14.00"> Human</text>
88
+ <polygon fill="pink" stroke="none" points="0,-249.5 0,-288.5 59.25,-288.5 59.25,-249.5 0,-249.5"/>
89
+ <polygon fill="none" stroke="black" points="0,-249.5 0,-288.5 59.25,-288.5 59.25,-249.5 0,-249.5"/>
90
+ <text text-anchor="start" x="3" y="-272.2" font-family="Times,serif" font-size="14.00">mammal </text>
91
+ <text text-anchor="start" x="3" y="-255.7" font-family="Times,serif" font-size="14.00">ape    *</text>
92
+ </g>
93
+ <!-- c4&#45;&#45;c2 -->
94
+ <g id="edge5" class="edge">
95
+ <title>c4&#45;&#45;c2</title>
96
+ <path fill="none" stroke="#999999" d="M59.05,-262.23C74.35,-248.57 93.08,-231.84 108.84,-217.77"/>
97
+ </g>
98
+ <!-- c5 -->
99
+ <g id="node6" class="node">
100
+ <title>c5</title>
101
+ <polygon fill="lightblue" stroke="none" points="3,-405 3,-427.5 62.25,-427.5 62.25,-405 3,-405"/>
102
+ <polygon fill="none" stroke="black" points="3,-405 3,-427.5 62.25,-427.5 62.25,-405 3,-405"/>
103
+ <text text-anchor="start" x="6" y="-411.2" font-family="Times,serif" font-size="14.00"> Human*</text>
104
+ <polygon fill="pink" stroke="none" points="3,-349.5 3,-405 62.25,-405 62.25,-349.5 3,-349.5"/>
105
+ <polygon fill="none" stroke="black" points="3,-349.5 3,-405 62.25,-405 62.25,-349.5 3,-349.5"/>
106
+ <text text-anchor="start" x="6" y="-388.7" font-family="Times,serif" font-size="14.00">mammal </text>
107
+ <text text-anchor="start" x="6" y="-372.2" font-family="Times,serif" font-size="14.00">ape    </text>
108
+ <text text-anchor="start" x="6" y="-355.7" font-family="Times,serif" font-size="14.00">talking*</text>
109
+ </g>
110
+ <!-- c5&#45;&#45;c4 -->
111
+ <g id="edge6" class="edge">
112
+ <title>c5&#45;&#45;c4</title>
113
+ <path fill="none" stroke="#999999" d="M31.46,-349.55C31.24,-342.2 31.01,-334.52 30.79,-327.18"/>
114
+ </g>
115
+ <!-- c6 -->
116
+ <g id="node7" class="node">
117
+ <title>c6</title>
118
+ <polygon fill="lightblue" stroke="none" points="350.87,-172 350.87,-227.5 406.37,-227.5 406.37,-172 350.87,-172"/>
119
+ <polygon fill="none" stroke="black" points="350.87,-172 350.87,-227.5 406.37,-227.5 406.37,-172 350.87,-172"/>
120
+ <text text-anchor="start" x="353.87" y="-211.2" font-family="Times,serif" font-size="14.00">Ostrich*</text>
121
+ <text text-anchor="start" x="353.87" y="-194.7" font-family="Times,serif" font-size="14.00"> Sparrow</text>
122
+ <text text-anchor="start" x="353.87" y="-178.2" font-family="Times,serif" font-size="14.00"> Eagle</text>
123
+ <polygon fill="pink" stroke="none" points="350.87,-149.5 350.87,-172 406.37,-172 406.37,-149.5 350.87,-149.5"/>
124
+ <polygon fill="none" stroke="black" points="350.87,-149.5 350.87,-172 406.37,-172 406.37,-149.5 350.87,-149.5"/>
125
+ <text text-anchor="start" x="353.87" y="-155.7" font-family="Times,serif" font-size="14.00">bird   *</text>
126
+ </g>
127
+ <!-- c6&#45;&#45;c0 -->
128
+ <g id="edge7" class="edge">
129
+ <title>c6&#45;&#45;c0</title>
130
+ <path fill="none" stroke="#999999" d="M351.13,-158.94C332.77,-139.19 308.71,-113.32 290.32,-93.53"/>
131
+ </g>
132
+ <!-- c7 -->
133
+ <g id="node8" class="node">
134
+ <title>c7</title>
135
+ <polygon fill="lightblue" stroke="none" points="347.5,-288.5 347.5,-327.5 409.75,-327.5 409.75,-288.5 347.5,-288.5"/>
136
+ <polygon fill="none" stroke="black" points="347.5,-288.5 347.5,-327.5 409.75,-327.5 409.75,-288.5 347.5,-288.5"/>
137
+ <text text-anchor="start" x="350.5" y="-311.2" font-family="Times,serif" font-size="14.00"> Sparrow*</text>
138
+ <text text-anchor="start" x="350.5" y="-294.7" font-family="Times,serif" font-size="14.00"> Eagle</text>
139
+ <polygon fill="pink" stroke="none" points="347.5,-249.5 347.5,-288.5 409.75,-288.5 409.75,-249.5 347.5,-249.5"/>
140
+ <polygon fill="none" stroke="black" points="347.5,-249.5 347.5,-288.5 409.75,-288.5 409.75,-249.5 347.5,-249.5"/>
141
+ <text text-anchor="start" x="350.5" y="-272.2" font-family="Times,serif" font-size="14.00">bird   </text>
142
+ <text text-anchor="start" x="350.5" y="-255.7" font-family="Times,serif" font-size="14.00">flying *</text>
143
+ </g>
144
+ <!-- c7&#45;&#45;c6 -->
145
+ <g id="edge8" class="edge">
146
+ <title>c7&#45;&#45;c6</title>
147
+ <path fill="none" stroke="#999999" d="M378.62,-249.55C378.62,-242.2 378.62,-234.52 378.62,-227.18"/>
148
+ </g>
149
+ <!-- c8 -->
150
+ <g id="node9" class="node">
151
+ <title>c8</title>
152
+ <polygon fill="lightblue" stroke="none" points="239,-405 239,-427.5 286.25,-427.5 286.25,-405 239,-405"/>
153
+ <polygon fill="none" stroke="black" points="239,-405 239,-427.5 286.25,-427.5 286.25,-405 239,-405"/>
154
+ <text text-anchor="start" x="242" y="-411.2" font-family="Times,serif" font-size="14.00"> Eagle*</text>
155
+ <polygon fill="pink" stroke="none" points="239,-349.5 239,-405 286.25,-405 286.25,-349.5 239,-349.5"/>
156
+ <polygon fill="none" stroke="black" points="239,-349.5 239,-405 286.25,-405 286.25,-349.5 239,-349.5"/>
157
+ <text text-anchor="start" x="242" y="-388.7" font-family="Times,serif" font-size="14.00">bird   </text>
158
+ <text text-anchor="start" x="242" y="-372.2" font-family="Times,serif" font-size="14.00">flying </text>
159
+ <text text-anchor="start" x="242" y="-355.7" font-family="Times,serif" font-size="14.00">preying</text>
160
+ </g>
161
+ <!-- c8&#45;&#45;c1 -->
162
+ <g id="edge9" class="edge">
163
+ <title>c8&#45;&#45;c1</title>
164
+ <path fill="none" stroke="#999999" d="M262.62,-349.55C262.62,-339.46 262.62,-328.74 262.62,-319.14"/>
165
+ </g>
166
+ <!-- c8&#45;&#45;c7 -->
167
+ <g id="edge10" class="edge">
168
+ <title>c8&#45;&#45;c7</title>
169
+ <path fill="none" stroke="#999999" d="M286.09,-368.26C303.84,-352.97 328.36,-331.83 347.7,-315.16"/>
170
+ </g>
171
+ <!-- c9 -->
172
+ <g id="node10" class="node">
173
+ <title>c9</title>
174
+ <polygon fill="white" stroke="none" points="120,-554.5 120,-577 179.25,-577 179.25,-554.5 120,-554.5"/>
175
+ <polygon fill="none" stroke="black" points="120,-554.5 120,-577 179.25,-577 179.25,-554.5 120,-554.5"/>
176
+ <text text-anchor="start" x="123" y="-560.7" font-family="Times,serif" font-size="14.00"> &#160;&#160;&#160;&#160;</text>
177
+ <polygon fill="pink" stroke="none" points="120,-449.5 120,-554.5 179.25,-554.5 179.25,-449.5 120,-449.5"/>
178
+ <polygon fill="none" stroke="black" points="120,-449.5 120,-554.5 179.25,-554.5 179.25,-449.5 120,-449.5"/>
179
+ <text text-anchor="start" x="123" y="-538.2" font-family="Times,serif" font-size="14.00">bird   </text>
180
+ <text text-anchor="start" x="123" y="-521.7" font-family="Times,serif" font-size="14.00">mammal </text>
181
+ <text text-anchor="start" x="123" y="-505.2" font-family="Times,serif" font-size="14.00">ape    </text>
182
+ <text text-anchor="start" x="123" y="-488.7" font-family="Times,serif" font-size="14.00">flying </text>
183
+ <text text-anchor="start" x="123" y="-472.2" font-family="Times,serif" font-size="14.00">preying</text>
184
+ <text text-anchor="start" x="123" y="-455.7" font-family="Times,serif" font-size="14.00">talking</text>
185
+ </g>
186
+ <!-- c9&#45;&#45;c3 -->
187
+ <g id="edge11" class="edge">
188
+ <title>c9&#45;&#45;c3</title>
189
+ <path fill="none" stroke="#999999" d="M149.62,-449.78C149.62,-439.06 149.62,-428.39 149.62,-419.03"/>
190
+ </g>
191
+ <!-- c9&#45;&#45;c5 -->
192
+ <g id="edge12" class="edge">
193
+ <title>c9&#45;&#45;c5</title>
194
+ <path fill="none" stroke="#999999" d="M120.1,-481.77C102.36,-462.86 79.87,-438.88 62.14,-419.97"/>
195
+ </g>
196
+ <!-- c9&#45;&#45;c8 -->
197
+ <g id="edge13" class="edge">
198
+ <title>c9&#45;&#45;c8</title>
199
+ <path fill="none" stroke="#999999" d="M179.01,-480.8C197.72,-460.15 221.61,-433.77 239.06,-414.51"/>
200
+ </g>
201
+ </g>
202
+ </svg>