]> gitweb.michael.orlitzky.com - spline3.git/blob - src/Tests/Face.hs
Try to re-enable some more tests; fail miserably.
[spline3.git] / src / Tests / Face.hs
1 module Tests.Face
2 where
3
4 -- -- | Given in Sorokina and Zeilfelder, p. 79.
5 -- prop_c0210_identity1 :: Cube -> Bool
6 -- prop_c0210_identity1 cube =
7 -- c t0' 0 2 1 0 ~= (c t0' 0 1 1 1 + c t1' 0 1 1 1) / 2
8 -- where
9 -- t0 = tetrahedron0 (face0 cube)
10 -- t1 = tetrahedron1 (face0 cube)
11 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
12 -- t1' = Tetrahedron cube (v3 t1) (v2 t1) (v0 t1) (v1 t1)
13
14
15 -- -- | Given in Sorokina and Zeilfelder, p. 79.
16 -- prop_c0300_identity1 :: Cube -> Bool
17 -- prop_c0300_identity1 cube =
18 -- c t0' 0 3 0 0 ~= (c t0' 0 2 0 1 + c t1' 0 2 0 1) / 2
19 -- where
20 -- t0 = tetrahedron0 (face0 cube)
21 -- t1 = tetrahedron1 (face0 cube)
22 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
23 -- t1' = Tetrahedron cube (v3 t1) (v2 t1) (v0 t1) (v1 t1)
24
25 -- -- | Given in Sorokina and Zeilfelder, p. 79.
26 -- prop_c1110_identity :: Cube -> Bool
27 -- prop_c1110_identity cube =
28 -- c t0' 1 1 1 0 ~= (c t0' 1 0 1 1 + c t1' 1 0 1 1) / 2
29 -- where
30 -- t0 = tetrahedron0 (face0 cube)
31 -- t1 = tetrahedron1 (face0 cube)
32 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
33 -- t1' = Tetrahedron cube (v3 t1) (v2 t1) (v0 t1) (v1 t1)
34
35
36 -- -- | Given in Sorokina and Zeilfelder, p. 79.
37 -- prop_c1200_identity1 :: Cube -> Bool
38 -- prop_c1200_identity1 cube =
39 -- c t0' 1 2 0 0 ~= (c t0' 1 1 0 1 + c t1' 1 1 0 1) / 2
40 -- where
41 -- t0 = tetrahedron0 (face0 cube)
42 -- t1 = tetrahedron1 (face0 cube)
43 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
44 -- t1' = Tetrahedron cube (v3 t1) (v2 t1) (v0 t1) (v1 t1)
45
46
47 -- -- | Given in Sorokina and Zeilfelder, p. 79.
48 -- prop_c2100_identity1 :: Cube -> Bool
49 -- prop_c2100_identity1 cube =
50 -- c t0' 2 1 0 0 ~= (c t0' 2 0 0 1 + c t1' 2 0 0 1) / 2
51 -- where
52 -- t0 = tetrahedron0 (face0 cube)
53 -- t1 = tetrahedron1 (face0 cube)
54 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
55 -- t1' = Tetrahedron cube (v3 t1) (v2 t1) (v0 t1) (v1 t1)
56
57
58 -- -- | Given in Sorokina and Zeilfelder, p. 79.
59 -- prop_c0102_identity1 :: Cube -> Bool
60 -- prop_c0102_identity1 cube =
61 -- c t0' 0 1 0 2 ~= (c t0' 0 0 1 2 + c t3' 0 0 1 2) / 2
62 -- where
63 -- t0 = tetrahedron0 (face0 cube)
64 -- t3 = tetrahedron3 (face0 cube)
65 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
66 -- t3' = Tetrahedron cube (v3 t3) (v2 t3) (v1 t3) (v0 t3)
67
68
69 -- -- | Given in Sorokina and Zeilfelder, p. 79.
70 -- prop_c0201_identity1 :: Cube -> Bool
71 -- prop_c0201_identity1 cube =
72 -- c t0' 0 2 0 1 ~= (c t0' 0 1 1 1 + c t3' 0 1 1 1) / 2
73 -- where
74 -- t0 = tetrahedron0 (face0 cube)
75 -- t3 = tetrahedron3 (face0 cube)
76 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
77 -- t3' = Tetrahedron cube (v3 t3) (v2 t3) (v1 t3) (v0 t3)
78
79
80 -- -- | Given in Sorokina and Zeilfelder, p. 79.
81 -- prop_c0300_identity2 :: Cube -> Bool
82 -- prop_c0300_identity2 cube =
83 -- c t0' 3 0 0 0 ~= (c t0' 0 2 1 0 + c t3' 0 2 1 0) / 2
84 -- where
85 -- t0 = tetrahedron0 (face0 cube)
86 -- t3 = tetrahedron3 (face0 cube)
87 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
88 -- t3' = Tetrahedron cube (v3 t3) (v2 t3) (v1 t3) (v0 t3)
89
90 -- -- | Given in Sorokina and Zeilfelder, p. 79.
91 -- prop_c1101_identity :: Cube -> Bool
92 -- prop_c1101_identity cube =
93 -- c t0' 1 1 0 1 ~= (c t0' 1 1 0 1 + c t3' 1 1 0 1) / 2
94 -- where
95 -- t0 = tetrahedron0 (face0 cube)
96 -- t3 = tetrahedron3 (face0 cube)
97 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
98 -- t3' = Tetrahedron cube (v3 t3) (v2 t3) (v1 t3) (v0 t3)
99
100
101 -- -- | Given in Sorokina and Zeilfelder, p. 79.
102 -- prop_c1200_identity2 :: Cube -> Bool
103 -- prop_c1200_identity2 cube =
104 -- c t0' 1 1 1 0 ~= (c t0' 1 1 1 0 + c t3' 1 1 1 0) / 2
105 -- where
106 -- t0 = tetrahedron0 (face0 cube)
107 -- t3 = tetrahedron3 (face0 cube)
108 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
109 -- t3' = Tetrahedron cube (v3 t3) (v2 t3) (v1 t3) (v0 t3)
110
111
112 -- -- | Given in Sorokina and Zeilfelder, p. 79.
113 -- prop_c2100_identity2 :: Cube -> Bool
114 -- prop_c2100_identity2 cube =
115 -- c t0' 2 1 0 0 ~= (c t0' 2 0 1 0 + c t3' 2 0 1 0) / 2
116 -- where
117 -- t0 = tetrahedron0 (face0 cube)
118 -- t3 = tetrahedron3 (face0 cube)
119 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
120 -- t3' = Tetrahedron cube (v3 t3) (v2 t3) (v1 t3) (v0 t3)
121
122
123 -- -- | Given in Sorokina and Zeilfelder, p. 79.
124 -- prop_c3000_identity :: Cube -> Bool
125 -- prop_c3000_identity cube =
126 -- c t0' 3 0 0 0 ~= c t0' 2 1 0 0 + c t2' 2 1 0 0 - ((c t0' 2 0 1 0 + c t0' 2 0 0 1)/ 2)
127 -- where
128 -- t0 = tetrahedron0 (face0 cube)
129 -- t2 = tetrahedron2 (face5 cube)
130 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
131 -- t2' = Tetrahedron cube (v3 t2) (v2 t2) (v1 t2) (v0 t2)
132
133
134 -- -- | Given in Sorokina and Zeilfelder, p. 79.
135 -- prop_c2010_identity :: Cube -> Bool
136 -- prop_c2010_identity cube =
137 -- c t0' 2 0 1 0 ~= c t0' 1 1 1 0 + c t2' 1 1 1 0 - ((c t0' 1 0 2 0 + c t0' 1 0 1 1)/ 2)
138 -- where
139 -- t0 = tetrahedron0 (face0 cube)
140 -- t2 = tetrahedron2 (face5 cube)
141 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
142 -- t2' = Tetrahedron cube (v3 t2) (v2 t2) (v1 t2) (v0 t2)
143
144
145 -- -- | Given in Sorokina and Zeilfelder, p. 79.
146 -- prop_c2001_identity :: Cube -> Bool
147 -- prop_c2001_identity cube =
148 -- c t0' 2 0 0 1 ~= c t0' 1 1 0 1 + c t2' 1 1 0 1 - ((c t0' 1 0 0 2 + c t0' 1 0 1 1)/ 2)
149 -- where
150 -- t0 = tetrahedron0 (face0 cube)
151 -- t2 = tetrahedron2 (face5 cube)
152 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
153 -- t2' = Tetrahedron cube (v3 t2) (v2 t2) (v1 t2) (v0 t2)
154
155 -- -- | Given in Sorokina and Zeilfelder, p. 79.
156 -- prop_c1020_identity :: Cube -> Bool
157 -- prop_c1020_identity cube =
158 -- c t0' 1 0 2 0 ~= c t0' 0 1 2 0 + c t2' 0 1 2 0 - ((c t0' 0 0 3 0 + c t0' 0 0 2 1)/ 2)
159 -- where
160 -- t0 = tetrahedron0 (face0 cube)
161 -- t2 = tetrahedron2 (face5 cube)
162 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
163 -- t2' = Tetrahedron cube (v3 t2) (v2 t2) (v1 t2) (v0 t2)
164
165
166 -- -- | Given in Sorokina and Zeilfelder, p. 79.
167 -- prop_c1002_identity :: Cube -> Bool
168 -- prop_c1002_identity cube =
169 -- c t0' 1 0 0 2 ~= c t0' 0 1 0 2 + c t2' 0 1 0 2 - ((c t0' 0 0 0 3 + c t0' 0 0 1 2)/ 2)
170 -- where
171 -- t0 = tetrahedron0 (face0 cube)
172 -- t2 = tetrahedron2 (face5 cube)
173 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
174 -- t2' = Tetrahedron cube (v3 t2) (v2 t2) (v1 t2) (v0 t2)
175
176
177 -- -- | Given in Sorokina and Zeilfelder, p. 79.
178 -- prop_c1011_identity :: Cube -> Bool
179 -- prop_c1011_identity cube =
180 -- c t0' 1 0 1 1 ~= c t0' 0 1 1 1 + c t2' 0 1 1 1 - ((c t0' 0 0 1 2 + c t0' 0 0 2 1)/ 2)
181 -- where
182 -- t0 = tetrahedron0 (face0 cube)
183 -- t2 = tetrahedron2 (face5 cube)
184 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
185 -- t2' = Tetrahedron cube (v3 t2) (v2 t2) (v1 t2) (v0 t2)
186
187
188 -- -- | Given in Sorokina and Zeilfelder, p. 80.
189 -- prop_c0120_identity2 :: Cube -> Bool
190 -- prop_c0120_identity2 cube =
191 -- c t0' 0 1 2 0 ~= (c t0' 1 0 2 0 + c t1' 1 0 2 0) / 2
192 -- where
193 -- t0 = tetrahedron0 (face0 cube)
194 -- t1 = tetrahedron0 (face2 (top cube))
195 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
196 -- t1' = Tetrahedron cube (v3 t1) (v2 t1) (v0 t1) (v1 t1)
197
198
199 -- -- | Given in Sorokina and Zeilfelder, p. 80.
200 -- prop_c0102_identity2 :: Cube -> Bool
201 -- prop_c0102_identity2 cube =
202 -- c t0' 0 1 0 2 ~= (c t0' 1 0 0 2 + c t1' 1 0 0 2) / 2
203 -- where
204 -- t0 = tetrahedron0 (face0 cube)
205 -- t1 = tetrahedron0 (face2 (top cube))
206 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
207 -- t1' = Tetrahedron cube (v3 t1) (v2 t1) (v0 t1) (v1 t1)
208
209
210 -- -- | Given in Sorokina and Zeilfelder, p. 80.
211 -- prop_c0111_identity :: Cube -> Bool
212 -- prop_c0111_identity cube =
213 -- c t0' 0 1 1 1 ~= (c t0' 1 0 1 1 + c t1' 1 0 1 1) / 2
214 -- where
215 -- t0 = tetrahedron0 (face0 cube)
216 -- t1 = tetrahedron0 (face2 (top cube))
217 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
218 -- t1' = Tetrahedron cube (v3 t1) (v2 t1) (v0 t1) (v1 t1)
219
220
221 -- -- | Given in Sorokina and Zeilfelder, p. 80.
222 -- prop_c0210_identity2 :: Cube -> Bool
223 -- prop_c0210_identity2 cube =
224 -- c t0 0 2 1 0 ~= (c t0 1 1 1 0 + c t1 1 1 1 0) / 2
225 -- where
226 -- t0 = tetrahedron0 (face0 cube)
227 -- t1 = tetrahedron0 (face2 (top cube))
228 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
229 -- t1' = Tetrahedron cube (v3 t1) (v2 t1) (v0 t1) (v1 t1)
230
231
232 -- -- | Given in Sorokina and Zeilfelder, p. 80.
233 -- prop_c0201_identity2 :: Cube -> Bool
234 -- prop_c0201_identity2 cube =
235 -- c t0 0 2 0 1 ~= (c t0 1 1 0 1 + c t1 1 1 0 1) / 2
236 -- where
237 -- t0 = tetrahedron0 (face0 cube)
238 -- t1 = tetrahedron0 (face2 (top cube))
239 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
240 -- t1' = Tetrahedron cube (v3 t1) (v2 t1) (v0 t1) (v1 t1)
241
242
243 -- -- | Given in Sorokina and Zeilfelder, p. 80.
244 -- prop_c0300_identity3 :: Cube -> Bool
245 -- prop_c0300_identity3 cube =
246 -- c t0 0 3 0 0 ~= (c t0 1 2 0 0 + c t1 1 2 0 0) / 2
247 -- where
248 -- t0 = tetrahedron0 (face0 cube)
249 -- t1 = tetrahedron0 (face2 (top cube))
250 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
251 -- t1' = Tetrahedron cube (v3 t1) (v2 t1) (v0 t1) (v1 t1)