]> gitweb.michael.orlitzky.com - spline3.git/blob - src/Tests/Face.hs
Re-enable all of the tests for (2.6) and make them pass by switchint the third and...
[spline3.git] / src / Tests / Face.hs
1 module Tests.Face
2 where
3
4
5
6
7
8 -- -- | Given in Sorokina and Zeilfelder, p. 79.
9 -- prop_c0102_identity1 :: Cube -> Bool
10 -- prop_c0102_identity1 cube =
11 -- c t0' 0 1 0 2 ~= (c t0' 0 0 1 2 + c t3' 0 0 1 2) / 2
12 -- where
13 -- t0 = tetrahedron0 (face0 cube)
14 -- t3 = tetrahedron3 (face0 cube)
15 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
16 -- t3' = Tetrahedron cube (v3 t3) (v2 t3) (v1 t3) (v0 t3)
17
18
19 -- -- | Given in Sorokina and Zeilfelder, p. 79.
20 -- prop_c0201_identity1 :: Cube -> Bool
21 -- prop_c0201_identity1 cube =
22 -- c t0' 0 2 0 1 ~= (c t0' 0 1 1 1 + c t3' 0 1 1 1) / 2
23 -- where
24 -- t0 = tetrahedron0 (face0 cube)
25 -- t3 = tetrahedron3 (face0 cube)
26 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
27 -- t3' = Tetrahedron cube (v3 t3) (v2 t3) (v1 t3) (v0 t3)
28
29
30 -- -- | Given in Sorokina and Zeilfelder, p. 79.
31 -- prop_c0300_identity2 :: Cube -> Bool
32 -- prop_c0300_identity2 cube =
33 -- c t0' 3 0 0 0 ~= (c t0' 0 2 1 0 + c t3' 0 2 1 0) / 2
34 -- where
35 -- t0 = tetrahedron0 (face0 cube)
36 -- t3 = tetrahedron3 (face0 cube)
37 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
38 -- t3' = Tetrahedron cube (v3 t3) (v2 t3) (v1 t3) (v0 t3)
39
40 -- -- | Given in Sorokina and Zeilfelder, p. 79.
41 -- prop_c1101_identity :: Cube -> Bool
42 -- prop_c1101_identity cube =
43 -- c t0' 1 1 0 1 ~= (c t0' 1 1 0 1 + c t3' 1 1 0 1) / 2
44 -- where
45 -- t0 = tetrahedron0 (face0 cube)
46 -- t3 = tetrahedron3 (face0 cube)
47 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
48 -- t3' = Tetrahedron cube (v3 t3) (v2 t3) (v1 t3) (v0 t3)
49
50
51 -- -- | Given in Sorokina and Zeilfelder, p. 79.
52 -- prop_c1200_identity2 :: Cube -> Bool
53 -- prop_c1200_identity2 cube =
54 -- c t0' 1 1 1 0 ~= (c t0' 1 1 1 0 + c t3' 1 1 1 0) / 2
55 -- where
56 -- t0 = tetrahedron0 (face0 cube)
57 -- t3 = tetrahedron3 (face0 cube)
58 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
59 -- t3' = Tetrahedron cube (v3 t3) (v2 t3) (v1 t3) (v0 t3)
60
61
62 -- -- | Given in Sorokina and Zeilfelder, p. 79.
63 -- prop_c2100_identity2 :: Cube -> Bool
64 -- prop_c2100_identity2 cube =
65 -- c t0' 2 1 0 0 ~= (c t0' 2 0 1 0 + c t3' 2 0 1 0) / 2
66 -- where
67 -- t0 = tetrahedron0 (face0 cube)
68 -- t3 = tetrahedron3 (face0 cube)
69 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
70 -- t3' = Tetrahedron cube (v3 t3) (v2 t3) (v1 t3) (v0 t3)
71
72
73 -- -- | Given in Sorokina and Zeilfelder, p. 79.
74 -- prop_c3000_identity :: Cube -> Bool
75 -- prop_c3000_identity cube =
76 -- 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)
77 -- where
78 -- t0 = tetrahedron0 (face0 cube)
79 -- t2 = tetrahedron2 (face5 cube)
80 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
81 -- t2' = Tetrahedron cube (v3 t2) (v2 t2) (v1 t2) (v0 t2)
82
83
84 -- -- | Given in Sorokina and Zeilfelder, p. 79.
85 -- prop_c2010_identity :: Cube -> Bool
86 -- prop_c2010_identity cube =
87 -- 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)
88 -- where
89 -- t0 = tetrahedron0 (face0 cube)
90 -- t2 = tetrahedron2 (face5 cube)
91 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
92 -- t2' = Tetrahedron cube (v3 t2) (v2 t2) (v1 t2) (v0 t2)
93
94
95 -- -- | Given in Sorokina and Zeilfelder, p. 79.
96 -- prop_c2001_identity :: Cube -> Bool
97 -- prop_c2001_identity cube =
98 -- 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)
99 -- where
100 -- t0 = tetrahedron0 (face0 cube)
101 -- t2 = tetrahedron2 (face5 cube)
102 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
103 -- t2' = Tetrahedron cube (v3 t2) (v2 t2) (v1 t2) (v0 t2)
104
105 -- -- | Given in Sorokina and Zeilfelder, p. 79.
106 -- prop_c1020_identity :: Cube -> Bool
107 -- prop_c1020_identity cube =
108 -- 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)
109 -- where
110 -- t0 = tetrahedron0 (face0 cube)
111 -- t2 = tetrahedron2 (face5 cube)
112 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
113 -- t2' = Tetrahedron cube (v3 t2) (v2 t2) (v1 t2) (v0 t2)
114
115
116 -- -- | Given in Sorokina and Zeilfelder, p. 79.
117 -- prop_c1002_identity :: Cube -> Bool
118 -- prop_c1002_identity cube =
119 -- 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)
120 -- where
121 -- t0 = tetrahedron0 (face0 cube)
122 -- t2 = tetrahedron2 (face5 cube)
123 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
124 -- t2' = Tetrahedron cube (v3 t2) (v2 t2) (v1 t2) (v0 t2)
125
126
127 -- -- | Given in Sorokina and Zeilfelder, p. 79.
128 -- prop_c1011_identity :: Cube -> Bool
129 -- prop_c1011_identity cube =
130 -- 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)
131 -- where
132 -- t0 = tetrahedron0 (face0 cube)
133 -- t2 = tetrahedron2 (face5 cube)
134 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
135 -- t2' = Tetrahedron cube (v3 t2) (v2 t2) (v1 t2) (v0 t2)
136
137
138 -- -- | Given in Sorokina and Zeilfelder, p. 80.
139 -- prop_c0120_identity2 :: Cube -> Bool
140 -- prop_c0120_identity2 cube =
141 -- c t0' 0 1 2 0 ~= (c t0' 1 0 2 0 + c t1' 1 0 2 0) / 2
142 -- where
143 -- t0 = tetrahedron0 (face0 cube)
144 -- t1 = tetrahedron0 (face2 (top cube))
145 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
146 -- t1' = Tetrahedron cube (v3 t1) (v2 t1) (v0 t1) (v1 t1)
147
148
149 -- -- | Given in Sorokina and Zeilfelder, p. 80.
150 -- prop_c0102_identity2 :: Cube -> Bool
151 -- prop_c0102_identity2 cube =
152 -- c t0' 0 1 0 2 ~= (c t0' 1 0 0 2 + c t1' 1 0 0 2) / 2
153 -- where
154 -- t0 = tetrahedron0 (face0 cube)
155 -- t1 = tetrahedron0 (face2 (top cube))
156 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
157 -- t1' = Tetrahedron cube (v3 t1) (v2 t1) (v0 t1) (v1 t1)
158
159
160 -- -- | Given in Sorokina and Zeilfelder, p. 80.
161 -- prop_c0111_identity :: Cube -> Bool
162 -- prop_c0111_identity cube =
163 -- c t0' 0 1 1 1 ~= (c t0' 1 0 1 1 + c t1' 1 0 1 1) / 2
164 -- where
165 -- t0 = tetrahedron0 (face0 cube)
166 -- t1 = tetrahedron0 (face2 (top cube))
167 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
168 -- t1' = Tetrahedron cube (v3 t1) (v2 t1) (v0 t1) (v1 t1)
169
170
171 -- -- | Given in Sorokina and Zeilfelder, p. 80.
172 -- prop_c0210_identity2 :: Cube -> Bool
173 -- prop_c0210_identity2 cube =
174 -- c t0 0 2 1 0 ~= (c t0 1 1 1 0 + c t1 1 1 1 0) / 2
175 -- where
176 -- t0 = tetrahedron0 (face0 cube)
177 -- t1 = tetrahedron0 (face2 (top cube))
178 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
179 -- t1' = Tetrahedron cube (v3 t1) (v2 t1) (v0 t1) (v1 t1)
180
181
182 -- -- | Given in Sorokina and Zeilfelder, p. 80.
183 -- prop_c0201_identity2 :: Cube -> Bool
184 -- prop_c0201_identity2 cube =
185 -- c t0 0 2 0 1 ~= (c t0 1 1 0 1 + c t1 1 1 0 1) / 2
186 -- where
187 -- t0 = tetrahedron0 (face0 cube)
188 -- t1 = tetrahedron0 (face2 (top cube))
189 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
190 -- t1' = Tetrahedron cube (v3 t1) (v2 t1) (v0 t1) (v1 t1)
191
192
193 -- -- | Given in Sorokina and Zeilfelder, p. 80.
194 -- prop_c0300_identity3 :: Cube -> Bool
195 -- prop_c0300_identity3 cube =
196 -- c t0 0 3 0 0 ~= (c t0 1 2 0 0 + c t1 1 2 0 0) / 2
197 -- where
198 -- t0 = tetrahedron0 (face0 cube)
199 -- t1 = tetrahedron0 (face2 (top cube))
200 -- t0' = Tetrahedron cube (v3 t0) (v2 t0) (v1 t0) (v0 t0)
201 -- t1' = Tetrahedron cube (v3 t1) (v2 t1) (v0 t1) (v1 t1)