X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FTests%2FCube.hs;h=e9e21d6fad3f5fd389050ce135b1d54d631155ff;hb=9849853e69c46b46996e8c775d15661b2aba27a8;hp=0a1cc504179e9e0c7a79dae01c8ced961ac8b434;hpb=86d39fb9ddd83414f4b896bea89404e9786ff0d0;p=spline3.git diff --git a/src/Tests/Cube.hs b/src/Tests/Cube.hs index 0a1cc50..e9e21d6 100644 --- a/src/Tests/Cube.hs +++ b/src/Tests/Cube.hs @@ -8,7 +8,6 @@ import Comparisons import Cube hiding (i, j, k) import FunctionValues import Misc (all_equal, disjoint) -import Tests.FunctionValues () import Tetrahedron (b0, b1, b2, b3, c, fv, v0, v1, v2, v3, volume) @@ -399,38 +398,28 @@ prop_c_tilde_2100_rotation_correct cube = (1/192)*(FD + RD + LD + BD) --- | We know what (c t6 2 1 0 0) should be from Sorokina and Zeilfelder, p. 87. --- This test checks the actual value based on the FunctionValues of the cube. +-- | We know what (c t6 2 1 0 0) should be from Sorokina and +-- Zeilfelder, p. 87. This test checks the actual value based on +-- the FunctionValues of the cube. +-- +-- If 'prop_c_tilde_2100_rotation_correct' passes, then this test is +-- even meaningful! prop_c_tilde_2100_correct :: Cube -> Bool prop_c_tilde_2100_correct cube = - c t6 2 1 0 0 == (3/8)*int - + (1/12)*(f + r + l + b) - + (1/64)*(ft + rt + lt + bt) - + (7/48)*t + (1/48)*d + (1/96)*(fr + fl + br + bl) - + (1/192)*(fd + rd + ld + bd) + c t6 2 1 0 0 == expected where t0 = tetrahedron0 cube t6 = tetrahedron6 cube fvs = Tetrahedron.fv t0 - int = interior fvs - f = front fvs - r = right fvs - l = left fvs - b = back fvs - ft = front_top fvs - rt = right_top fvs - lt = left_top fvs - bt = back_top fvs - t = top fvs - d = down fvs - fr = front_right fvs - fl = front_left fvs - br = back_right fvs - bl = back_left fvs - fd = front_down fvs - rd = right_down fvs - ld = left_down fvs - bd = back_down fvs + expected = eval fvs $ + (3/8)*I + + (1/12)*(F + R + L + B) + + (1/64)*(FT + RT + LT + BT) + + (7/48)*T + + (1/48)*D + + (1/96)*(FR + FL + BR + BL) + + (1/192)*(FD + RD + LD + BD) + -- Tests to check that the correct edges are incidental. prop_t0_shares_edge_with_t1 :: Cube -> Bool