From 6b64ca01abbacdae256dc8c530e9e0e91f0af32a Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Tue, 11 Jun 2019 14:32:21 +0800 Subject: [PATCH] refactor to use assertEqualNum --- src/unittest.scad | 41 +++------ test/test_archimedean_spiral.scad | 4 +- test/test_archimedean_spiral_extrude.scad | 107 +--------------------- test/test_bend.scad | 2 +- test/test_ellipse_extrude.scad | 4 +- test/test_golden_spiral.scad | 2 +- test/test_hexagons.scad | 4 +- test/test_hull_polyline2d.scad | 2 +- test/test_hull_polyline3d.scad | 4 +- test/test_line2d.scad | 24 ++--- test/test_line3d.scad | 30 +++--- test/test_parse_number.scad | 4 +- test/test_polyline2d.scad | 2 +- test/test_polyline3d.scad | 2 +- test/test_split_str.scad | 2 +- test/test_sub_str.scad | 4 +- 16 files changed, 63 insertions(+), 175 deletions(-) diff --git a/src/unittest.scad b/src/unittest.scad index f58bc1d4..342a57d5 100644 --- a/src/unittest.scad +++ b/src/unittest.scad @@ -35,7 +35,7 @@ function round_pts(points, float_digits = 4) = let(n = pow(10, float_digits)) [for(pt = points) mul_round_pt(pt, n) / n]; -module assertEqualPoint(expected, actual, float_digits = 4) { +module assertEqualPoint(expected, actual, epsilon = 0.0001) { leng_expected = len(expected); leng_actual = len(actual); @@ -46,27 +46,19 @@ module assertEqualPoint(expected, actual, float_digits = 4) { ", but: ", leng_actual) ); } else { - n = pow(10, float_digits); - - shifted_expected = mul_round_pt( - expected, n - ); - - shifted_actual = mul_round_pt( - actual, n - ); - - if(shifted_expected != shifted_actual) { - fail( - "Point", - str("expected: ", shifted_expected / n, - ", but: ", shifted_actual / n) - ); + for(elem = (expected - actual)) { + if(abs(elem) > epsilon) { + fail( + "Point", + str("expected: ", expected, + ", but: ", actual) + ); + } } } } -module assertEqualPoints(expected, actual, float_digits = 4) { +module assertEqualPoints(expected, actual, epsilon = 0.0001) { leng_expected = len(expected); leng_actual = len(actual); @@ -78,20 +70,17 @@ module assertEqualPoints(expected, actual, float_digits = 4) { ); } else { for(i = [0:len(actual) - 1]) { - assertEqualPoint(expected[i], actual[i], float_digits); + assertEqualPoint(expected[i], actual[i], epsilon); } } } -module assertEqual(expected, actual, float_digits = 4) { - r_expected = is_num(expected) ? round_n(expected, float_digits) : expected; - r_actual = is_num(actual) ? round_n(actual, float_digits) : actual; - - if(r_expected != r_actual) { +module assertEqualNum(expected, actual, epsilon = 0.0001) { + if(abs(expected - actual) > epsilon) { fail( "Equality", - str("expected: ", r_expected, - ", but: ", r_actual) + str("expected: ", expected, + ", but: ", actual) ); } } diff --git a/test/test_archimedean_spiral.scad b/test/test_archimedean_spiral.scad index bb37fd13..a557674d 100644 --- a/test/test_archimedean_spiral.scad +++ b/test/test_archimedean_spiral.scad @@ -14,7 +14,7 @@ module test_archimedean_spiral() { expected_points = [[-5, 0], [-3.3333, -5.7735], [1.9153, -7.6542], [6.9287, -5.6121], [9.7591, -1.1017], [9.7906, 4.1666], [7.2895, 8.7588], [3.0136, 11.7181], [-2.0901, 12.5895], [-7.0994, 11.3524], [-11.25, 8.3116], [-14.0047, 3.9802], [-15.0734, -1.03], [-14.3991, -6.0996], [-12.1214, -10.6703], [-8.5301, -14.2915], [-4.013, -16.6466], [0.9931, -17.5619], [6.0464, -17.0006], [10.7367, -15.0488], [14.7127, -11.8925], [17.7005, -7.7927], [19.5144, -3.0584], [20.0591, 1.9792], [19.327, 6.9904], [17.3894, 11.6667], [14.385, 15.7377], [10.5054, 18.9824], [5.9805, 21.2371], [1.0622, 22.3994], [-3.9897, 22.4281], [-8.9216, 21.3404], [-13.4974, 19.2066], [-17.5086, 16.1426], [-20.7812, 12.3017], [-23.1817, 7.8645], [-24.6193, 3.0301], [-25.0472, -1.9943], [-24.4614, -7.0016], [-22.8983, -11.7935], [-20.4309, -16.1876], [-17.1632, -20.0228], [-13.2255, -23.1648], [-8.7672, -25.5085], [-3.9513, -26.9808], [1.0527, -27.5407], [6.0742, -27.1795], [10.9476, -25.9189], [15.5171, -23.8091], [19.6415, -20.9256], [23.1974, -17.3655], [26.0825, -13.2437], [28.2172, -8.6885], [29.5463, -3.8373], [30.0392, 1.168], [29.6895, 6.1848], [28.5147, 11.0741], [26.5539, 15.704], [23.8664, 19.9529], [20.5291, 23.7124], [16.6337, 26.8894], [12.2839, 29.4078], [7.5924, 31.21], [2.6774, 32.2573], [-2.3402, 32.5302], [-7.3397, 32.0283], [-12.2036, 30.7692], [-16.8203, 28.7878], [-21.0862, 26.1347], [-24.9077, 22.8745], [-28.2033, 19.084], [-30.9046, 14.8497], [-32.9575, 10.2661], [-34.3228, 5.4333], [-34.9764, 0.4543], [-34.9096, -4.5667], [-34.1286, -9.5267], [-32.6536, -14.326], [-30.5187, -18.8701], [-27.77, -23.0711], [-24.4648, -26.8496], [-20.67, -30.1356], [-16.4604, -32.8699], [-11.9176, -35.0046], [-7.1276, -36.5038], [-2.1794, -37.3437], [2.8365, -37.513], [7.83, -37.0127], [12.713, -35.8552], [17.4007, -34.0647], [21.8134, -31.6755], [25.8769, -28.7318], [29.5245, -25.2864], [32.6974, -21.3997], [35.3456, -17.1384], [37.4285, -12.5742], [38.9152, -7.7828], [39.7851, -2.8422], [40.0275, 2.1685], [39.6416, 7.1699]]; - expected_angles = [180, 240, 285, 321, 354, 384, 411, 436, 460, 483, 504, 525, 544, 563, 582, 600, 617, 634, 650, 666, 682, 697, 712, 726, 740, 754, 768, 782, 795, 808, 821, 833, 846, 858, 870, 882, 893, 905, 916, 928, 939, 950, 961, 972, 982, 993, 1003, 1013, 1024, 1034, 1044, 1054, 1063, 1073, 1083, 1092, 1102, 1111, 1120, 1130, 1139, 1148, 1157, 1166, 1175, 1183, 1192, 1201, 1209, 1218, 1226, 1235, 1243, 1252, 1260, 1268, 1276, 1284, 1292, 1300, 1308, 1316, 1324, 1332, 1339, 1347, 1355, 1362, 1370, 1378, 1385, 1393, 1400, 1407, 1415, 1422, 1429, 1436, 1444, 1451]; + expected_angles = [181, 241, 285, 321, 354, 384, 411, 436, 460, 483, 504, 525, 544, 563, 582, 600, 617, 634, 650, 666, 682, 697, 712, 726, 740, 754, 768, 782, 795, 808, 821, 833, 846, 858, 870, 882, 893, 905, 916, 928, 939, 950, 961, 972, 982, 993, 1003, 1013, 1024, 1034, 1044, 1054, 1063, 1073, 1083, 1092, 1102, 1111, 1120, 1130, 1139, 1148, 1157, 1166, 1175, 1183, 1192, 1201, 1209, 1218, 1226, 1235, 1243, 1252, 1260, 1268, 1276, 1284, 1292, 1300, 1308, 1316, 1324, 1332, 1339, 1347, 1355, 1362, 1370, 1378, 1385, 1393, 1400, 1407, 1415, 1422, 1429, 1436, 1444, 1451]; actual_points = [for(pa = points_angles) pa[0]]; // ceil for annoying float errors when echoing...XD @@ -23,7 +23,7 @@ module test_archimedean_spiral() { assertEqualPoints(expected_points, actual_points); for(i = [0:0]) { - assertEqual(expected_angles[i], actual_angles[i]); + assertEqualNum(expected_angles[i], actual_angles[i]); } } diff --git a/test/test_archimedean_spiral_extrude.scad b/test/test_archimedean_spiral_extrude.scad index 96de41f9..8e2c0424 100644 --- a/test/test_archimedean_spiral_extrude.scad +++ b/test/test_archimedean_spiral_extrude.scad @@ -11,111 +11,10 @@ module test_archimedean_spiral_extrude_slide() { include ; module test_archimedean_spiral_extrude(sections) { - expected = [ - [[-12.5, 0, 0], [-12.5, 0, 4], [-11.5, 0, 4], [-11.5, 0, 2], [-3.5, 0, 2], [-3.5, 0, 4], [-2.5, 0, 4], [-2.5, 0, 0]] - , [[-10.984, -8.877, 0], [-10.984, -8.877, 4.162], [-10.206, -8.248, 4.162], [-10.206, -8.248, 2.081], [-3.984, -3.22, 2.081], [-3.984, -3.22, 4.162], [-3.206, -2.591, 4.162], [-3.206, -2.591, 0]] - , [[-5.092, -14.585, 0], [-5.092, -14.585, 4.323], [-4.763, -13.64, 4.323], [-4.763, -13.64, 2.162], [-2.126, -6.088, 2.162], [-2.126, -6.088, 4.323], [-1.796, -5.143, 4.323], [-1.796, -5.143, 0]] - , [[2.437, -16.422, 0], [2.437, -16.422, 4.485], [2.29, -15.433, 4.485], [2.29, -15.433, 2.242], [1.116, -7.519, 2.242], [1.116, -7.519, 4.485], [0.969, -6.53, 4.485], [0.969, -6.53, 0]] - , [[9.691, -14.738, 0], [9.691, -14.738, 4.646], [9.142, -13.902, 4.646], [9.142, -13.902, 2.323], [4.746, -7.218, 2.323], [4.746, -7.218, 4.646], [4.197, -6.382, 4.646], [4.197, -6.382, 0]] - , [[15.438, -10.356, 0], [15.438, -10.356, 4.808], [14.607, -9.799, 4.808], [14.607, -9.799, 2.404], [7.964, -5.342, 2.404], [7.964, -5.342, 4.808], [7.133, -4.785, 4.808], [7.133, -4.785, 0]] - , [[19, -4.265, 0], [19, -4.265, 4.97], [18.024, -4.046, 4.97], [18.024, -4.046, 2.485], [10.219, -2.294, 2.485], [10.219, -2.294, 4.97], [9.243, -2.075, 4.97], [9.243, -2.075, 0]] - , [[20.14, 2.559, 0], [20.14, 2.559, 5.131], [19.148, 2.433, 5.131], [19.148, 2.433, 2.566], [11.212, 1.425, 2.566], [11.212, 1.425, 5.131], [10.22, 1.299, 5.131], [10.22, 1.299, 0]] - , [[18.944, 9.259, 0], [18.944, 9.259, 5.293], [18.045, 8.82, 5.293], [18.045, 8.82, 2.646], [10.858, 5.307, 2.646], [10.858, 5.307, 5.293], [9.959, 4.868, 5.293], [9.959, 4.868, 0]] - , [[15.722, 15.146, 0], [15.722, 15.146, 5.455], [15.002, 14.452, 5.455], [15.002, 14.452, 2.727], [9.24, 8.902, 2.727], [9.24, 8.902, 5.455], [8.52, 8.208, 5.455], [8.52, 8.208, 0]] - , [[10.924, 19.719, 0], [10.924, 19.719, 5.616], [10.439, 18.844, 5.616], [10.439, 18.844, 2.808], [6.562, 11.846, 2.808], [6.562, 11.846, 5.616], [6.078, 10.971, 5.616], [6.078, 10.971, 0]] - , [[5.066, 22.666, 0], [5.066, 22.666, 5.778], [4.848, 21.69, 5.778], [4.848, 21.69, 2.889], [3.103, 13.883, 2.889], [3.103, 13.883, 5.778], [2.885, 12.907, 5.778], [2.885, 12.907, 0]] - , [[-1.321, 23.846, 0], [-1.321, 23.846, 5.939], [-1.265, 22.847, 5.939], [-1.265, 22.847, 2.97], [-0.823, 14.859, 2.97], [-0.823, 14.859, 5.939], [-0.768, 13.861, 5.939], [-0.768, 13.861, 0]] - , [[-7.733, 23.265, 0], [-7.733, 23.265, 6.101], [-7.418, 22.316, 6.101], [-7.418, 22.316, 3.051], [-4.894, 14.724, 3.051], [-4.894, 14.724, 6.101], [-4.579, 13.775, 6.101], [-4.579, 13.775, 0]] - , [[-13.726, 21.05, 0], [-13.726, 21.05, 6.263], [-13.179, 20.212, 6.263], [-13.179, 20.212, 3.131], [-8.81, 13.511, 3.131], [-8.81, 13.511, 6.263], [-8.264, 12.673, 6.263], [-8.264, 12.673, 0]] - , [[-18.928, 17.42, 0], [-18.928, 17.42, 6.424], [-18.192, 16.743, 6.424], [-18.192, 16.743, 3.212], [-12.306, 11.325, 3.212], [-12.306, 11.325, 6.424], [-11.57, 10.648, 6.424], [-11.57, 10.648, 0]] - , [[-23.055, 12.658, 0], [-23.055, 12.658, 6.586], [-22.179, 12.176, 6.586], [-22.179, 12.176, 3.293], [-15.166, 8.326, 3.293], [-15.166, 8.326, 6.586], [-14.289, 7.845, 6.586], [-14.289, 7.845, 0]] - , [[-25.912, 7.083, 0], [-25.912, 7.083, 6.747], [-24.948, 6.819, 6.747], [-24.948, 6.819, 3.374], [-17.231, 4.71, 3.374], [-17.231, 4.71, 6.747], [-16.266, 4.446, 6.747], [-16.266, 4.446, 0]] - , [[-27.391, 1.031, 0], [-27.391, 1.031, 6.909], [-26.392, 0.993, 6.909], [-26.392, 0.993, 3.455], [-18.397, 0.692, 3.455], [-18.397, 0.692, 6.909], [-17.398, 0.655, 6.909], [-17.398, 0.655, 0]] - , [[-27.462, -5.166, 0], [-27.462, -5.166, 7.071], [-26.479, -4.982, 7.071], [-26.479, -4.982, 3.535], [-18.617, -3.502, 3.535], [-18.617, -3.502, 7.071], [-17.635, -3.318, 7.071], [-17.635, -3.318, 0]] - , [[-26.17, -11.198, 0], [-26.17, -11.198, 7.232], [-25.251, -10.804, 7.232], [-25.251, -10.804, 3.616], [-17.896, -7.657, 3.616], [-17.896, -7.657, 7.232], [-16.976, -7.264, 7.232], [-16.976, -7.264, 0]] - , [[-23.619, -16.783, 0], [-23.619, -16.783, 7.394], [-22.804, -16.204, 7.394], [-22.804, -16.204, 3.697], [-16.283, -11.57, 3.697], [-16.283, -11.57, 7.394], [-15.468, -10.991, 7.394], [-15.468, -10.991, 0]] - , [[-19.962, -21.684, 0], [-19.962, -21.684, 7.556], [-19.285, -20.949, 7.556], [-19.285, -20.949, 3.778], [-13.867, -15.063, 3.778], [-13.867, -15.063, 7.556], [-13.189, -14.327, 7.556], [-13.189, -14.327, 0]] - , [[-15.39, -25.708, 0], [-15.39, -25.708, 7.717], [-14.876, -24.85, 7.717], [-14.876, -24.85, 3.859], [-10.767, -17.986, 3.859], [-10.767, -17.986, 7.717], [-10.253, -17.128, 7.717], [-10.253, -17.128, 0]] - , [[-10.116, -28.711, 0], [-10.116, -28.711, 7.879], [-9.784, -27.768, 7.879], [-9.784, -27.768, 3.939], [-7.126, -20.223, 3.939], [-7.126, -20.223, 7.879], [-6.793, -19.279, 7.879], [-6.793, -19.279, 0]] - , [[-4.372, -30.6, 0], [-4.372, -30.6, 8.04], [-4.231, -29.61, 8.04], [-4.231, -29.61, 4.02], [-3.099, -21.691, 4.02], [-3.099, -21.691, 8.04], [-2.958, -20.701, 8.04], [-2.958, -20.701, 0]] - , [[1.61, -31.331, 0], [1.61, -31.331, 8.202], [1.559, -30.333, 8.202], [1.559, -30.333, 4.101], [1.148, -22.343, 4.101], [1.148, -22.343, 8.202], [1.097, -21.344, 8.202], [1.097, -21.344, 0]] - , [[7.603, -30.904, 0], [7.603, -30.904, 8.364], [7.364, -29.933, 8.364], [7.364, -29.933, 4.182], [5.453, -22.165, 4.182], [5.453, -22.165, 8.364], [5.214, -21.194, 8.364], [5.214, -21.194, 0]] - , [[13.391, -29.362, 0], [13.391, -29.362, 8.525], [12.976, -28.452, 8.525], [12.976, -28.452, 4.263], [9.656, -21.174, 4.263], [9.656, -21.174, 8.525], [9.241, -20.264, 8.525], [9.241, -20.264, 0]] - , [[18.778, -26.783, 0], [18.778, -26.783, 8.687], [18.204, -25.964, 8.687], [18.204, -25.964, 4.343], [13.611, -19.414, 4.343], [13.611, -19.414, 8.687], [13.037, -18.595, 8.687], [13.037, -18.595, 0]] - , [[23.592, -23.275, 0], [23.592, -23.275, 8.848], [22.881, -22.573, 8.848], [22.881, -22.573, 4.424], [17.186, -16.954, 4.424], [17.186, -16.954, 8.848], [16.474, -16.252, 8.848], [16.474, -16.252, 0]] - , [[27.689, -18.973, 0], [27.689, -18.973, 9.01], [26.865, -18.407, 9.01], [26.865, -18.407, 4.505], [20.265, -13.886, 4.505], [20.265, -13.886, 9.01], [19.44, -13.32, 9.01], [19.44, -13.32, 0]] - , [[30.955, -14.027, 0], [30.955, -14.027, 9.172], [30.044, -13.614, 9.172], [30.044, -13.614, 4.586], [22.757, -10.312, 4.586], [22.757, -10.312, 9.172], [21.846, -9.899, 9.172], [21.846, -9.899, 0]] - , [[33.304, -8.601, 0], [33.304, -8.601, 9.333], [32.336, -8.351, 9.333], [32.336, -8.351, 4.667], [24.59, -6.351, 4.667], [24.59, -6.351, 9.333], [23.622, -6.101, 9.333], [23.622, -6.101, 0]] - , [[34.685, -2.866, 0], [34.685, -2.866, 9.495], [33.688, -2.784, 9.495], [33.688, -2.784, 4.747], [25.716, -2.125, 4.747], [25.716, -2.125, 9.495], [24.719, -2.043, 9.495], [24.719, -2.043, 0]] - , [[35.076, 3.007, 0], [35.076, 3.007, 9.657], [34.079, 2.921, 9.657], [34.079, 2.921, 4.828], [26.108, 2.238, 4.828], [26.108, 2.238, 9.657], [25.112, 2.153, 9.657], [25.112, 2.153, 0]] - , [[34.482, 8.85, 0], [34.482, 8.85, 9.818], [33.514, 8.602, 9.818], [33.514, 8.602, 4.909], [25.765, 6.613, 4.909], [25.765, 6.613, 9.818], [24.796, 6.364, 9.818], [24.796, 6.364, 0]] - , [[32.938, 14.505, 0], [32.938, 14.505, 9.98], [32.023, 14.102, 9.98], [32.023, 14.102, 4.99], [24.701, 10.878, 4.99], [24.701, 10.878, 9.98], [23.786, 10.475, 9.98], [23.786, 10.475, 0]] - , [[30.5, 19.823, 0], [30.5, 19.823, 10.141], [29.661, 19.279, 10.141], [29.661, 19.279, 5.071], [22.954, 14.919, 5.071], [22.954, 14.919, 10.141], [22.115, 14.374, 10.141], [22.115, 14.374, 0]] - , [[27.246, 24.672, 0], [27.246, 24.672, 10.303], [26.505, 24.001, 10.303], [26.505, 24.001, 5.152], [20.575, 18.631, 5.152], [20.575, 18.631, 10.303], [19.833, 17.96, 10.303], [19.833, 17.96, 0]] - , [[23.271, 28.936, 0], [23.271, 28.936, 10.465], [22.645, 28.157, 10.465], [22.645, 28.157, 5.232], [17.631, 21.923, 5.232], [17.631, 21.923, 10.465], [17.004, 21.144, 10.465], [17.004, 21.144, 0]] - , [[18.686, 32.518, 0], [18.686, 32.518, 10.626], [18.188, 31.651, 10.626], [18.188, 31.651, 5.313], [14.202, 24.715, 5.313], [14.202, 24.715, 10.626], [13.704, 23.848, 10.626], [13.704, 23.848, 0]] - , [[13.61, 35.343, 0], [13.61, 35.343, 10.788], [13.25, 34.409, 10.788], [13.25, 34.409, 5.394], [10.376, 26.944, 5.394], [10.376, 26.944, 10.788], [10.016, 26.011, 10.788], [10.016, 26.011, 0]] - , [[8.17, 37.353, 0], [8.17, 37.353, 10.949], [7.956, 36.376, 10.949], [7.956, 36.376, 5.475], [6.247, 28.561, 5.475], [6.247, 28.561, 10.949], [6.033, 27.584, 10.949], [6.033, 27.584, 0]] - , [[2.497, 38.515, 0], [2.497, 38.515, 11.111], [2.433, 37.517, 11.111], [2.433, 37.517, 5.556], [1.915, 29.533, 5.556], [1.915, 29.533, 11.111], [1.85, 28.536, 11.111], [1.85, 28.536, 0]] - , [[-3.277, 38.813, 0], [-3.277, 38.813, 11.273], [-3.192, 37.817, 11.273], [-3.192, 37.817, 5.636], [-2.519, 29.845, 5.636], [-2.519, 29.845, 11.273], [-2.435, 28.848, 11.273], [-2.435, 28.848, 0]] - , [[-9.022, 38.253, 0], [-9.022, 38.253, 11.434], [-8.793, 37.28, 11.434], [-8.793, 37.28, 5.717], [-6.956, 29.494, 5.717], [-6.956, 29.494, 11.434], [-6.727, 28.52, 11.434], [-6.727, 28.52, 0]] - , [[-14.616, 36.859, 0], [-14.616, 36.859, 11.596], [-14.247, 35.93, 11.596], [-14.247, 35.93, 5.798], [-11.298, 28.493, 5.798], [-11.298, 28.493, 11.596], [-10.93, 27.563, 11.596], [-10.93, 27.563, 0]] - , [[-19.94, 34.671, 0], [-19.94, 34.671, 11.758], [-19.442, 33.804, 11.758], [-19.442, 33.804, 5.879], [-15.453, 26.869, 5.879], [-15.453, 26.869, 11.758], [-14.955, 26.002, 11.758], [-14.955, 26.002, 0]] - , [[-24.888, 31.744, 0], [-24.888, 31.744, 11.919], [-24.271, 30.957, 11.919], [-24.271, 30.957, 5.96], [-19.335, 24.661, 5.96], [-19.335, 24.661, 11.919], [-18.718, 23.874, 11.919], [-18.718, 23.874, 0]] - , [[-29.363, 28.148, 0], [-29.363, 28.148, 12.081], [-28.642, 27.456, 12.081], [-28.642, 27.456, 6.04], [-22.866, 21.919, 6.04], [-22.866, 21.919, 12.081], [-22.145, 21.227, 12.081], [-22.145, 21.227, 0]] - , [[-33.282, 23.961, 0], [-33.282, 23.961, 12.242], [-32.471, 23.377, 12.242], [-32.471, 23.377, 6.121], [-25.978, 18.703, 6.121], [-25.978, 18.703, 12.242], [-25.167, 18.119, 12.242], [-25.167, 18.119, 0]] - , [[-36.574, 19.275, 0], [-36.574, 19.275, 12.404], [-35.689, 18.809, 12.404], [-35.689, 18.809, 6.202], [-28.612, 15.079, 6.202], [-28.612, 15.079, 12.404], [-27.727, 14.613, 12.404], [-27.727, 14.613, 0]] - , [[-39.182, 14.185, 0], [-39.182, 14.185, 12.566], [-38.242, 13.844, 12.566], [-38.242, 13.844, 6.283], [-30.72, 11.121, 6.283], [-30.72, 11.121, 12.566], [-29.779, 10.781, 12.566], [-29.779, 10.781, 0]] - , [[-41.066, 8.791, 0], [-41.066, 8.791, 12.727], [-40.088, 8.582, 12.727], [-40.088, 8.582, 6.364], [-32.266, 6.907, 6.364], [-32.266, 6.907, 12.727], [-31.288, 6.698, 12.727], [-31.288, 6.698, 0]] - , [[-42.198, 3.198, 0], [-42.198, 3.198, 12.889], [-41.201, 3.122, 12.889], [-41.201, 3.122, 6.444], [-33.224, 2.518, 6.444], [-33.224, 2.518, 12.889], [-32.227, 2.442, 12.889], [-32.227, 2.442, 0]] - , [[-42.567, -2.491, 0], [-42.567, -2.491, 13.051], [-41.568, -2.432, 13.051], [-41.568, -2.432, 6.525], [-33.582, -1.965, 6.525], [-33.582, -1.965, 13.051], [-32.584, -1.906, 13.051], [-32.584, -1.906, 0]] - , [[-42.173, -8.171, 0], [-42.173, -8.171, 13.212], [-41.191, -7.981, 13.212], [-41.191, -7.981, 6.606], [-33.337, -6.459, 6.606], [-33.337, -6.459, 13.212], [-32.355, -6.269, 13.212], [-32.355, -6.269, 0]] - , [[-41.031, -13.743, 0], [-41.031, -13.743, 13.374], [-40.083, -13.426, 13.374], [-40.083, -13.426, 6.687], [-32.497, -10.885, 6.687], [-32.497, -10.885, 13.374], [-31.549, -10.567, 13.374], [-31.549, -10.567, 0]] - , [[-39.17, -19.112, 0], [-39.17, -19.112, 13.535], [-38.271, -18.673, 13.535], [-38.271, -18.673, 6.768], [-31.081, -15.165, 6.768], [-31.081, -15.165, 13.535], [-30.183, -14.727, 13.535], [-30.183, -14.727, 0]] - , [[-36.628, -24.187, 0], [-36.628, -24.187, 13.697], [-35.793, -23.636, 13.697], [-35.793, -23.636, 6.848], [-29.118, -19.228, 6.848], [-29.118, -19.228, 13.697], [-28.283, -18.677, 13.697], [-28.283, -18.677, 0]] - , [[-33.455, -28.887, 0], [-33.455, -28.887, 13.859], [-32.698, -28.234, 13.859], [-32.698, -28.234, 6.929], [-26.643, -23.005, 6.929], [-26.643, -23.005, 13.859], [-25.886, -22.352, 13.859], [-25.886, -22.352, 0]] - , [[-29.709, -33.138, 0], [-29.709, -33.138, 14.02], [-29.041, -32.393, 14.02], [-29.041, -32.393, 7.01], [-23.701, -26.436, 7.01], [-23.701, -26.436, 14.02], [-23.033, -25.692, 14.02], [-23.033, -25.692, 0]] - , [[-25.457, -36.874, 0], [-25.457, -36.874, 14.182], [-24.889, -36.051, 14.182], [-24.889, -36.051, 7.091], [-20.344, -29.467, 7.091], [-20.344, -29.467, 14.182], [-19.776, -28.644, 14.182], [-19.776, -28.644, 0]] - , [[-20.772, -40.04, 0], [-20.772, -40.04, 14.343], [-20.311, -39.153, 14.343], [-20.311, -39.153, 7.172], [-16.627, -32.051, 7.172], [-16.627, -32.051, 14.343], [-16.167, -31.164, 14.343], [-16.167, -31.164, 0]] - , [[-15.732, -42.593, 0], [-15.732, -42.593, 14.505], [-15.385, -41.655, 14.505], [-15.385, -41.655, 7.253], [-12.614, -34.15, 7.253], [-12.614, -34.15, 14.505], [-12.267, -33.212, 14.505], [-12.267, -33.212, 0]] - , [[-10.418, -44.498, 0], [-10.418, -44.498, 14.667], [-10.19, -43.524, 14.667], [-10.19, -43.524, 7.333], [-8.366, -35.735, 7.333], [-8.366, -35.735, 14.667], [-8.139, -34.761, 14.667], [-8.139, -34.761, 0]] - , [[-4.915, -45.731, 0], [-4.915, -45.731, 14.828], [-4.808, -44.737, 14.828], [-4.808, -44.737, 7.414], [-3.953, -36.783, 7.414], [-3.953, -36.783, 14.828], [-3.846, -35.788, 14.828], [-3.846, -35.788, 0]] - , [[0.693, -46.281, 0], [0.693, -46.281, 14.99], [0.678, -45.281, 14.99], [0.678, -45.281, 7.495], [0.559, -37.282, 7.495], [0.559, -37.282, 14.99], [0.544, -36.282, 14.99], [0.544, -36.282, 0]] - , [[6.322, -46.144, 0], [6.322, -46.144, 15.152], [6.187, -45.153, 15.152], [6.187, -45.153, 7.576], [5.101, -37.227, 7.576], [5.101, -37.227, 15.152], [4.965, -36.237, 15.152], [4.965, -36.237, 0]] - , [[11.889, -45.329, 0], [11.889, -45.329, 15.313], [11.635, -44.362, 15.313], [11.635, -44.362, 7.657], [9.606, -36.624, 7.657], [9.606, -36.624, 15.313], [9.352, -35.656, 15.313], [9.352, -35.656, 0]] - , [[17.313, -43.854, 0], [17.313, -43.854, 15.475], [16.946, -42.924, 15.475], [16.946, -42.924, 7.737], [14.008, -35.483, 7.737], [14.008, -35.483, 15.475], [13.641, -34.552, 15.475], [13.641, -34.552, 0]] - , [[22.519, -41.744, 0], [22.519, -41.744, 15.636], [22.044, -40.864, 15.636], [22.044, -40.864, 7.818], [18.246, -33.823, 7.818], [18.246, -33.823, 15.636], [17.771, -32.943, 15.636], [17.771, -32.943, 0]] - , [[27.435, -39.036, 0], [27.435, -39.036, 15.798], [26.86, -38.218, 15.798], [26.86, -38.218, 7.899], [22.26, -31.673, 7.899], [22.26, -31.673, 15.798], [21.685, -30.854, 15.798], [21.685, -30.854, 0]] - , [[31.995, -35.771, 0], [31.995, -35.771, 15.96], [31.329, -35.025, 15.96], [31.329, -35.025, 7.98], [25.995, -29.063, 7.98], [25.995, -29.063, 15.96], [25.329, -28.317, 15.96], [25.329, -28.317, 0]] - , [[36.14, -31.998, 0], [36.14, -31.998, 16.121], [35.391, -31.335, 16.121], [35.391, -31.335, 8.061], [29.402, -26.032, 8.061], [29.402, -26.032, 16.121], [28.653, -25.369, 16.121], [28.653, -25.369, 0]] - , [[39.817, -27.773, 0], [39.817, -27.773, 16.283], [38.996, -27.201, 16.283], [38.996, -27.201, 8.141], [32.435, -22.624, 8.141], [32.435, -22.624, 16.283], [31.615, -22.052, 16.283], [31.615, -22.052, 0]] - , [[42.979, -23.156, 0], [42.979, -23.156, 16.444], [42.099, -22.682, 16.444], [42.099, -22.682, 8.222], [35.056, -18.887, 8.222], [35.056, -18.887, 16.444], [34.176, -18.413, 16.444], [34.176, -18.413, 0]] - , [[45.59, -18.21, 0], [45.59, -18.21, 16.606], [44.662, -17.839, 16.606], [44.662, -17.839, 8.303], [37.232, -14.872, 8.303], [37.232, -14.872, 16.606], [36.304, -14.501, 16.606], [36.304, -14.501, 0]] - , [[47.62, -13.003, 0], [47.62, -13.003, 16.768], [46.656, -12.74, 16.768], [46.656, -12.74, 8.384], [38.938, -10.632, 8.384], [38.938, -10.632, 16.768], [37.973, -10.369, 16.768], [37.973, -10.369, 0]] - , [[49.047, -7.603, 0], [49.047, -7.603, 16.929], [48.059, -7.45, 16.929], [48.059, -7.45, 8.465], [40.153, -6.225, 8.465], [40.153, -6.225, 16.929], [39.165, -6.071, 16.929], [39.165, -6.071, 0]] - , [[49.857, -2.081, 0], [49.857, -2.081, 17.091], [48.858, -2.039, 17.091], [48.858, -2.039, 8.545], [40.865, -1.706, 8.545], [40.865, -1.706, 17.091], [39.866, -1.664, 17.091], [39.866, -1.664, 0]] - , [[50.045, 3.494, 0], [50.045, 3.494, 17.253], [49.047, 3.424, 17.253], [49.047, 3.424, 8.626], [41.066, 2.867, 8.626], [41.066, 2.867, 17.253], [40.069, 2.797, 17.253], [40.069, 2.797, 0]] - , [[49.612, 9.051, 0], [49.612, 9.051, 17.414], [48.628, 8.872, 17.414], [48.628, 8.872, 8.707], [40.758, 7.436, 8.707], [40.758, 7.436, 17.414], [39.774, 7.257, 17.414], [39.774, 7.257, 0]] - , [[48.569, 14.524, 0], [48.569, 14.524, 17.576], [47.611, 14.237, 17.576], [47.611, 14.237, 8.788], [39.946, 11.945, 8.788], [39.946, 11.945, 17.576], [38.988, 11.659, 17.576], [38.988, 11.659, 0]] - , [[46.932, 19.845, 0], [46.932, 19.845, 17.737], [46.011, 19.456, 17.737], [46.011, 19.456, 8.869], [38.642, 16.34, 8.869], [38.642, 16.34, 17.737], [37.721, 15.951, 17.737], [37.721, 15.951, 0]] - , [[44.725, 24.953, 0], [44.725, 24.953, 17.899], [43.852, 24.466, 17.899], [43.852, 24.466, 8.949], [36.865, 20.568, 8.949], [36.865, 20.568, 17.899], [35.992, 20.081, 17.899], [35.992, 20.081, 0]] - , [[41.978, 29.788, 0], [41.978, 29.788, 18.061], [41.163, 29.21, 18.061], [41.163, 29.21, 9.03], [34.638, 24.58, 9.03], [34.638, 24.58, 18.061], [33.823, 24.001, 18.061], [33.823, 24.001, 0]] - , [[38.727, 34.296, 0], [38.727, 34.296, 18.222], [37.979, 33.633, 18.222], [37.979, 33.633, 9.111], [31.99, 28.329, 9.111], [31.99, 28.329, 18.222], [31.241, 27.666, 18.222], [31.241, 27.666, 0]] - , [[35.013, 38.427, 0], [35.013, 38.427, 18.384], [34.34, 37.687, 18.384], [34.34, 37.687, 9.192], [28.952, 31.774, 9.192], [28.952, 31.774, 18.384], [28.278, 31.035, 18.384], [28.278, 31.035, 0]] - , [[30.882, 42.135, 0], [30.882, 42.135, 18.545], [30.291, 41.328, 18.545], [30.291, 41.328, 9.273], [25.562, 34.876, 9.273], [25.562, 34.876, 18.545], [24.97, 34.069, 18.545], [24.97, 34.069, 0]] - , [[26.383, 45.381, 0], [26.383, 45.381, 18.707], [25.88, 44.517, 18.707], [25.88, 44.517, 9.354], [21.859, 37.6, 9.354], [21.859, 37.6, 18.707], [21.357, 36.736, 18.707], [21.357, 36.736, 0]] - , [[21.568, 48.133, 0], [21.568, 48.133, 18.869], [21.159, 47.22, 18.869], [21.159, 47.22, 9.434], [17.888, 39.92, 9.434], [17.888, 39.92, 18.869], [17.479, 39.007, 18.869], [17.479, 39.007, 0]] - , [[16.494, 50.362, 0], [16.494, 50.362, 19.03], [16.183, 49.412, 19.03], [16.183, 49.412, 9.515], [13.693, 41.809, 9.515], [13.693, 41.809, 19.03], [13.382, 40.859, 19.03], [13.382, 40.859, 0]] - , [[11.217, 52.048, 0], [11.217, 52.048, 19.192], [11.007, 51.071, 19.192], [11.007, 51.071, 9.596], [9.321, 43.25, 9.596], [9.321, 43.25, 19.192], [9.111, 42.273, 19.192], [9.111, 42.273, 0]] - , [[5.797, 53.176, 0], [5.797, 53.176, 19.354], [5.689, 52.182, 19.354], [5.689, 52.182, 9.677], [4.822, 44.229, 9.677], [4.822, 44.229, 19.354], [4.713, 43.235, 19.354], [4.713, 43.235, 0]] - , [[0.292, 53.736, 0], [0.292, 53.736, 19.515], [0.286, 52.736, 19.515], [0.286, 52.736, 9.758], [0.243, 44.736, 9.758], [0.243, 44.736, 19.515], [0.237, 43.736, 19.515], [0.237, 43.736, 0]] - , [[-5.239, 53.727, 0], [-5.239, 53.727, 19.677], [-5.142, 52.732, 19.677], [-5.142, 52.732, 9.838], [-4.366, 44.77, 9.838], [-4.366, 44.77, 19.677], [-4.269, 43.774, 19.677], [-4.269, 43.774, 0]] - , [[-10.737, 53.152, 0], [-10.737, 53.152, 19.838], [-10.539, 52.172, 19.838], [-10.539, 52.172, 9.919], [-8.955, 44.33, 9.919], [-8.955, 44.33, 19.838], [-8.757, 43.35, 19.838], [-8.757, 43.35, 0]] - , [[-16.146, 52.02, 0], [-16.146, 52.02, 20], [-15.849, 51.065, 20], [-15.849, 51.065, 10], [-13.478, 43.425, 10], [-13.478, 43.425, 20], [-13.182, 42.47, 20], [-13.182, 42.47, 0]] - ]; - + expected = [[[-12.5, -0.0000140415, 0], [-12.5, -0.0000140415, 4], [-11.5, -0.0000129182, 4], [-11.5, -0.0000129182, 2], [-3.5, -3.93162e-6, 2], [-3.5, -3.93162e-6, 4], [-2.5, -2.8083e-6, 4], [-2.5, -2.8083e-6, 0]], [[-10.9842, -8.87663, 0], [-10.9842, -8.87663, 4.16162], [-10.2065, -8.24809, 4.16162], [-10.2065, -8.24809, 2.08081], [-3.98424, -3.21976, 2.08081], [-3.98424, -3.21976, 4.16162], [-3.20646, -2.59122, 4.16162], [-3.20646, -2.59122, 0]], [[-5.09238, -14.5846, 0], [-5.09238, -14.5846, 4.32323], [-4.76273, -13.6404, 4.32323], [-4.76273, -13.6404, 2.16162], [-2.12557, -6.08761, 2.16162], [-2.12557, -6.08761, 4.32323], [-1.79592, -5.14351, 4.32323], [-1.79592, -5.14351, 0]], [[2.43691, -16.4219, 0], [2.43691, -16.4219, 4.48485], [2.29013, -15.4327, 4.48485], [2.29013, -15.4327, 2.24242], [1.11583, -7.51935, 2.24242], [1.11583, -7.51935, 4.48485], [0.969043, -6.53019, 4.48485], [0.969043, -6.53019, 0]], [[9.69147, -14.7377, 0], [9.69147, -14.7377, 4.64646], [9.14202, -13.9021, 4.64646], [9.14202, -13.9021, 2.32323], [4.74648, -7.2179, 2.32323], [4.74648, -7.2179, 4.64646], [4.19703, -6.38237, 4.64646], [4.19703, -6.38237, 0]], [[15.4378, -10.3557, 0], [15.4378, -10.3557, 4.80808], [14.6073, -9.79865, 4.80808], [14.6073, -9.79865, 2.40404], [7.96364, -5.34204, 2.40404], [7.96364, -5.34204, 4.80808], [7.13318, -4.78496, 4.80808], [7.13318, -4.78496, 0]], [[19, -4.26514, 0], [19, -4.26514, 4.9697], [18.0243, -4.04611, 4.9697], [18.0243, -4.04611, 2.48485], [10.2185, -2.29386, 2.48485], [10.2185, -2.29386, 4.9697], [9.24281, -2.07483, 4.9697], [9.24281, -2.07483, 0]], [[20.1398, 2.55924, 0], [20.1398, 2.55924, 5.13131], [19.1478, 2.43318, 5.13131], [19.1478, 2.43318, 2.56566], [11.2116, 1.4247, 2.56566], [11.2116, 1.4247, 5.13131], [10.2196, 1.29864, 5.13131], [10.2196, 1.29864, 0]], [[18.9436, 9.25917, 0], [18.9436, 9.25917, 5.29293], [18.0452, 8.82004, 5.29293], [18.0452, 8.82004, 2.64646], [10.8578, 5.30701, 2.64646], [10.8578, 5.30701, 5.29293], [9.95934, 4.86789, 5.29293], [9.95934, 4.86789, 0]], [[15.7218, 15.1457, 0], [15.7218, 15.1457, 5.45455], [15.0017, 14.4519, 5.45455], [15.0017, 14.4519, 2.72727], [9.24022, 8.9016, 2.72727], [9.24022, 8.9016, 5.45455], [8.52004, 8.20782, 5.45455], [8.52004, 8.20782, 0]], [[10.9234, 19.7189, 0], [10.9234, 19.7189, 5.61616], [10.4388, 18.8441, 5.61616], [10.4388, 18.8441, 2.80808], [6.56225, 11.8461, 2.80808], [6.56225, 11.8461, 5.61616], [6.07768, 10.9714, 5.61616], [6.07768, 10.9714, 0]], [[5.06562, 22.6659, 0], [5.06562, 22.6659, 5.77778], [4.84751, 21.69, 5.77778], [4.84751, 21.69, 2.88889], [3.10263, 13.8826, 2.88889], [3.10263, 13.8826, 5.77778], [2.88452, 12.9067, 5.77778], [2.88452, 12.9067, 0]], [[-1.32091, 23.8455, 0], [-1.32091, 23.8455, 5.93939], [-1.2656, 22.8471, 5.93939], [-1.2656, 22.8471, 2.9697], [-0.823122, 14.8593, 2.9697], [-0.823122, 14.8593, 5.93939], [-0.767813, 13.8609, 5.93939], [-0.767813, 13.8609, 0]], [[-7.73333, 23.2645, 0], [-7.73333, 23.2645, 6.10101], [-7.41789, 22.3155, 6.10101], [-7.41789, 22.3155, 3.05051], [-4.89439, 14.724, 3.05051], [-4.89439, 14.724, 6.10101], [-4.57895, 13.775, 6.10101], [-4.57895, 13.775, 0]], [[-13.7257, 21.0498, 0], [-13.7257, 21.0498, 6.26263], [-13.1795, 20.2121, 6.26263], [-13.1795, 20.2121, 3.13131], [-8.80993, 13.5109, 3.13131], [-8.80993, 13.5109, 6.26263], [-8.26373, 12.6732, 6.26263], [-8.26373, 12.6732, 0]], [[-18.9279, 17.42, 0], [-18.9279, 17.42, 6.42424], [-18.1921, 16.7428, 6.42424], [-18.1921, 16.7428, 3.21212], [-12.3056, 11.3253, 3.21212], [-12.3056, 11.3253, 6.42424], [-11.5698, 10.6481, 6.42424], [-11.5698, 10.6481, 0]], [[-23.0553, 12.6576, 0], [-23.0553, 12.6576, 6.58586], [-22.1787, 12.1763, 6.58586], [-22.1787, 12.1763, 3.29293], [-15.1661, 8.32631, 3.29293], [-15.1661, 8.32631, 6.58586], [-14.2895, 7.84506, 6.58586], [-14.2895, 7.84506, 0]], [[-25.9125, 7.08267, 0], [-25.9125, 7.08267, 6.74747], [-24.9479, 6.81901, 6.74747], [-24.9479, 6.81901, 3.37374], [-17.231, 4.70974, 3.37374], [-17.231, 4.70974, 6.74747], [-16.2663, 4.44608, 6.74747], [-16.2663, 4.44608, 0]], [[-27.3908, 1.03079, 0], [-27.3908, 1.03079, 6.90909], [-26.3915, 0.993185, 6.90909], [-26.3915, 0.993185, 3.45455], [-18.3972, 0.692336, 3.45455], [-18.3972, 0.692336, 6.90909], [-17.3979, 0.65473, 6.90909], [-17.3979, 0.65473, 0]], [[-27.4622, -5.16665, 0], [-27.4622, -5.16665, 7.07071], [-26.4794, -4.98175, 7.07071], [-26.4794, -4.98175, 3.53535], [-18.6173, -3.50261, 3.53535], [-18.6173, -3.50261, 7.07071], [-17.6346, -3.31771, 7.07071], [-17.6346, -3.31771, 0]], [[-26.1701, -11.198, 0], [-26.1701, -11.198, 7.23232], [-25.2507, -10.8046, 7.23232], [-25.2507, -10.8046, 3.61616], [-17.8958, -7.65749, 3.61616], [-17.8958, -7.65749, 7.23232], [-16.9764, -7.26409, 7.23232], [-16.9764, -7.26409, 0]], [[-23.6189, -16.7836, 0], [-23.6189, -16.7836, 7.39394], [-22.8038, -16.2044, 7.39394], [-22.8038, -16.2044, 3.69697], [-16.2826, -11.5704, 3.69697], [-16.2826, -11.5704, 7.39394], [-15.4674, -10.9912, 7.39394], [-15.4674, -10.9912, 0]], [[-19.9619, -21.6845, 0], [-19.9619, -21.6845, 7.55556], [-19.2847, -20.9488, 7.55556], [-19.2847, -20.9488, 3.77778], [-13.8664, -15.063, 3.77778], [-13.8664, -15.063, 7.55556], [-13.1891, -14.3273, 7.55556], [-13.1891, -14.3273, 0]], [[-15.3893, -25.7081, 0], [-15.3893, -25.7081, 7.71717], [-14.8757, -24.8501, 7.71717], [-14.8757, -24.8501, 3.85859], [-10.7667, -17.986, 3.85859], [-10.7667, -17.986, 7.71717], [-10.2531, -17.128, 7.71717], [-10.2531, -17.128, 0]], [[-10.1162, -28.7112, 0], [-10.1162, -28.7112, 7.87879], [-9.78392, -27.768, 7.87879], [-9.78392, -27.768, 3.93939], [-7.12536, -20.2227, 3.93939], [-7.12536, -20.2227, 7.87879], [-6.79304, -19.2795, 7.87879], [-6.79304, -19.2795, 0]], [[-4.372, -30.6005, 0], [-4.372, -30.6005, 8.0404], [-4.23057, -29.6105, 8.0404], [-4.23057, -29.6105, 4.0202], [-3.09907, -21.6909, 4.0202], [-3.09907, -21.6909, 8.0404], [-2.95763, -20.701, 8.0404], [-2.95763, -20.701, 0]], [[1.6104, -31.3312, 0], [1.6104, -31.3312, 8.20202], [1.55907, -30.3325, 8.20202], [1.55907, -30.3325, 4.10101], [1.14842, -22.3431, 4.10101], [1.14842, -22.3431, 8.20202], [1.09709, -21.3444, 8.20202], [1.09709, -21.3444, 0]], [[7.60312, -30.9044, 0], [7.60312, -30.9044, 8.36364], [7.36422, -29.9333, 8.36364], [7.36422, -29.9333, 4.18182], [5.45304, -22.165, 4.18182], [5.45304, -22.165, 8.36364], [5.21414, -21.1939, 8.36364], [5.21414, -21.1939, 0]], [[13.3911, -29.362, 0], [13.3911, -29.362, 8.52525], [12.9761, -28.4522, 8.52525], [12.9761, -28.4522, 4.26263], [9.65651, -21.1734, 4.26263], [9.65651, -21.1734, 8.52525], [9.24156, -20.2636, 8.52525], [9.24156, -20.2636, 0]], [[18.7782, -26.7826, 0], [18.7782, -26.7826, 8.68687], [18.2042, -25.9638, 8.68687], [18.2042, -25.9638, 4.34343], [13.6115, -19.4135, 4.34343], [13.6115, -19.4135, 8.68687], [13.0374, -18.5947, 8.68687], [13.0374, -18.5947, 0]], [[23.5926, -23.275, 0], [23.5926, -23.275, 8.84848], [22.8807, -22.5727, 8.84848], [22.8807, -22.5727, 4.42424], [17.1857, -16.9543, 4.42424], [17.1857, -16.9543, 8.84848], [16.4738, -16.252, 8.84848], [16.4738, -16.252, 0]], [[27.6896, -18.9724, 0], [27.6896, -18.9724, 9.0101], [26.8647, -18.4072, 9.0101], [26.8647, -18.4072, 4.50505], [20.2652, -13.8854, 4.50505], [20.2652, -13.8854, 9.0101], [19.4403, -13.3201, 9.0101], [19.4403, -13.3201, 0]], [[30.9547, -14.0265, 0], [30.9547, -14.0265, 9.17172], [30.0438, -13.6137, 9.17172], [30.0438, -13.6137, 4.58586], [22.757, -10.3119, 4.58586], [22.757, -10.3119, 9.17172], [21.8461, -9.89912, 9.17172], [21.8461, -9.89912, 0]], [[33.304, -8.60086, 0], [33.304, -8.60086, 9.33333], [32.3357, -8.35081, 9.33333], [32.3357, -8.35081, 4.66667], [24.5899, -6.35041, 4.66667], [24.5899, -6.35041, 9.33333], [23.6216, -6.10036, 9.33333], [23.6216, -6.10036, 0]], [[34.685, -2.86586, 0], [34.685, -2.86586, 9.49495], [33.6884, -2.78351, 9.49495], [33.6884, -2.78351, 4.74747], [25.7156, -2.12475, 4.74747], [25.7156, -2.12475, 9.49495], [24.7189, -2.04241, 9.49495], [24.7189, -2.04241, 0]], [[35.0755, 3.00723, 0], [35.0755, 3.00723, 9.65657], [34.0791, 2.92181, 9.65657], [34.0791, 2.92181, 4.82828], [26.1084, 2.23843, 4.82828], [26.1084, 2.23843, 9.65657], [25.112, 2.153, 9.65657], [25.112, 2.153, 0]], [[34.482, 8.85087, 0], [34.482, 8.85087, 9.81818], [33.5134, 8.60225, 9.81818], [33.5134, 8.60225, 4.90909], [25.7646, 6.61328, 4.90909], [25.7646, 6.61328, 9.81818], [24.796, 6.36466, 9.81818], [24.796, 6.36466, 0]], [[32.9377, 14.5056, 0], [32.9377, 14.5056, 9.9798], [32.0225, 14.1026, 9.9798], [32.0225, 14.1026, 4.9899], [24.7011, 10.8782, 4.9899], [24.7011, 10.8782, 9.9798], [23.7859, 10.4752, 9.9798], [23.7859, 10.4752, 0]], [[30.4996, 19.8238, 0], [30.4996, 19.8238, 10.1414], [29.6611, 19.2789, 10.1414], [29.6611, 19.2789, 5.07071], [22.9535, 14.9191, 5.07071], [22.9535, 14.9191, 10.1414], [22.115, 14.3741, 10.1414], [22.115, 14.3741, 0]], [[27.2456, 24.6727, 0], [27.2456, 24.6727, 10.303], [26.5043, 24.0014, 10.303], [26.5043, 24.0014, 5.15152], [20.5744, 18.6315, 5.15152], [20.5744, 18.6315, 10.303], [19.8332, 17.9602, 10.303], [19.8332, 17.9602, 0]], [[23.2711, 28.9365, 0], [23.2711, 28.9365, 10.4646], [22.6444, 28.1572, 10.4646], [22.6444, 28.1572, 5.23232], [17.6308, 21.9231, 5.23232], [17.6308, 21.9231, 10.4646], [17.0041, 21.1438, 10.4646], [17.0041, 21.1438, 0]], [[18.6857, 32.5186, 0], [18.6857, 32.5186, 10.6263], [18.1875, 31.6516, 10.6263], [18.1875, 31.6516, 5.31313], [14.2017, 24.7152, 5.31313], [14.2017, 24.7152, 10.6263], [13.7035, 23.8481, 10.6263], [13.7035, 23.8481, 0]], [[13.6094, 35.3427, 0], [13.6094, 35.3427, 10.7879], [13.2501, 34.4095, 10.7879], [13.2501, 34.4095, 5.39394], [10.3753, 26.9439, 5.39394], [10.3753, 26.9439, 10.7879], [10.0159, 26.0107, 10.7879], [10.0159, 26.0107, 0]], [[8.16947, 37.353, 0], [8.16947, 37.353, 10.9495], [7.95581, 36.3761, 10.9495], [7.95581, 36.3761, 5.47475], [6.24653, 28.5608, 5.47475], [6.24653, 28.5608, 10.9495], [6.03287, 27.5839, 10.9495], [6.03287, 27.5839, 0]], [[2.49682, 38.5146, 0], [2.49682, 38.5146, 11.1111], [2.43213, 37.5167, 11.1111], [2.43213, 37.5167, 5.55556], [1.91459, 29.5334, 5.55556], [1.91459, 29.5334, 11.1111], [1.8499, 28.5355, 11.1111], [1.8499, 28.5355, 0]], [[-3.27697, 38.813, 0], [-3.27697, 38.813, 11.2727], [-3.19284, 37.8165, 11.2727], [-3.19284, 37.8165, 5.63636], [-2.5198, 29.8449, 5.63636], [-2.5198, 29.8449, 11.2727], [-2.43567, 28.8484, 11.2727], [-2.43567, 28.8484, 0]], [[-9.02272, 38.2533, 0], [-9.02272, 38.2533, 11.4343], [-8.79315, 37.28, 11.4343], [-8.79315, 37.28, 5.71717], [-6.95661, 29.4937, 5.71717], [-6.95661, 29.4937, 11.4343], [-6.72704, 28.5204, 11.4343], [-6.72704, 28.5204, 0]], [[-14.6162, 36.859, 0], [-14.6162, 36.859, 11.596], [-14.2476, 35.9294, 11.596], [-14.2476, 35.9294, 5.79798], [-11.2987, 28.4928, 5.79798], [-11.2987, 28.4928, 11.596], [-10.93, 27.5632, 11.596], [-10.93, 27.5632, 0]], [[-19.9407, 34.6706, 0], [-19.9407, 34.6706, 11.7576], [-19.4421, 33.8038, 11.7576], [-19.4421, 33.8038, 5.87879], [-15.4536, 26.869, 5.87879], [-15.4536, 26.869, 11.7576], [-14.955, 26.0021, 11.7576], [-14.955, 26.0021, 0]], [[-24.8886, 31.7437, 0], [-24.8886, 31.7437, 11.9192], [-24.2716, 30.9567, 11.9192], [-24.2716, 30.9567, 5.9596], [-19.3355, 24.6611, 5.9596], [-19.3355, 24.6611, 11.9192], [-18.7185, 23.8742, 11.9192], [-18.7185, 23.8742, 0]], [[-29.3638, 28.1471, 0], [-29.3638, 28.1471, 12.0808], [-28.6419, 27.4551, 12.0808], [-28.6419, 27.4551, 6.0404], [-22.8667, 21.9192, 6.0404], [-22.8667, 21.9192, 12.0808], [-22.1448, 21.2272, 12.0808], [-22.1448, 21.2272, 0]], [[-33.2824, 23.9611, 0], [-33.2824, 23.9611, 12.2424], [-32.4708, 23.3768, 12.2424], [-32.4708, 23.3768, 6.12121], [-25.9783, 18.7026, 6.12121], [-25.9783, 18.7026, 12.2424], [-25.1668, 18.1184, 12.2424], [-25.1668, 18.1184, 0]], [[-36.574, 19.2747, 0], [-36.574, 19.2747, 12.404], [-35.6893, 18.8084, 12.404], [-35.6893, 18.8084, 6.20202], [-28.612, 15.0787, 6.20202], [-28.612, 15.0787, 12.404], [-27.7273, 14.6124, 12.404], [-27.7273, 14.6124, 0]], [[-39.1825, 14.1842, 0], [-39.1825, 14.1842, 12.5657], [-38.2422, 13.8438, 12.5657], [-38.2422, 13.8438, 6.28283], [-30.7199, 11.1207, 6.28283], [-30.7199, 11.1207, 12.5657], [-29.7796, 10.7803, 12.5657], [-29.7796, 10.7803, 0]], [[-41.0663, 8.79046, 0], [-41.0663, 8.79046, 12.7273], [-40.0884, 8.58115, 12.7273], [-40.0884, 8.58115, 6.36364], [-32.2656, 6.90664, 6.36364], [-32.2656, 6.90664, 12.7273], [-31.2878, 6.69732, 12.7273], [-31.2878, 6.69732, 0]], [[-42.1985, 3.19725, 0], [-42.1985, 3.19725, 12.8889], [-41.2014, 3.1217, 12.8889], [-41.2014, 3.1217, 6.44444], [-33.2242, 2.51729, 6.44444], [-33.2242, 2.51729, 12.8889], [-32.2271, 2.44174, 12.8889], [-32.2271, 2.44174, 0]], [[-42.5667, -2.49114, 0], [-42.5667, -2.49114, 13.0505], [-41.5684, -2.43272, 13.0505], [-41.5684, -2.43272, 6.52525], [-33.5821, -1.96533, 6.52525], [-33.5821, -1.96533, 13.0505], [-32.5838, -1.90691, 13.0505], [-32.5838, -1.90691, 0]], [[-42.1725, -8.17157, 0], [-42.1725, -8.17157, 13.2121], [-41.1908, -7.98134, 13.2121], [-41.1908, -7.98134, 6.60606], [-33.3369, -6.45952, 6.60606], [-33.3369, -6.45952, 13.2121], [-32.3551, -6.2693, 13.2121], [-32.3551, -6.2693, 0]], [[-41.0309, -13.7439, 0], [-41.0309, -13.7439, 13.3737], [-40.0827, -13.4263, 13.3737], [-40.0827, -13.4263, 6.68687], [-32.497, -10.8853, 6.68687], [-32.497, -10.8853, 13.3737], [-31.5488, -10.5677, 13.3737], [-31.5488, -10.5677, 0]], [[-39.1695, -19.1125, 0], [-39.1695, -19.1125, 13.5354], [-38.2708, -18.674, 13.5354], [-38.2708, -18.674, 6.76768], [-31.0811, -15.1658, 6.76768], [-31.0811, -15.1658, 13.5354], [-30.1824, -14.7273, 13.5354], [-30.1824, -14.7273, 0]], [[-36.6274, -24.1879, 0], [-36.6274, -24.1879, 13.697], [-35.793, -23.6368, 13.697], [-35.793, -23.6368, 6.84848], [-29.1173, -19.2283, 6.84848], [-29.1173, -19.2283, 13.697], [-28.2828, -18.6773, 13.697], [-28.2828, -18.6773, 0]], [[-33.4541, -28.8877, 0], [-33.4541, -28.8877, 13.8586], [-32.6973, -28.2341, 13.8586], [-32.6973, -28.2341, 6.92929], [-26.6423, -23.0056, 6.92929], [-26.6423, -23.0056, 13.8586], [-25.8854, -22.3521, 13.8586], [-25.8854, -22.3521, 0]], [[-29.7083, -33.138, 0], [-29.7083, -33.138, 14.0202], [-29.0408, -32.3934, 14.0202], [-29.0408, -32.3934, 7.0101], [-23.7006, -26.4367, 7.0101], [-23.7006, -26.4367, 14.0202], [-23.033, -25.6921, 14.0202], [-23.033, -25.6921, 0]], [[-25.4564, -36.8739, 0], [-25.4564, -36.8739, 14.1818], [-24.8883, -36.0509, 14.1818], [-24.8883, -36.0509, 7.09091], [-20.3432, -29.4674, 7.09091], [-20.3432, -29.4674, 14.1818], [-19.7751, -28.6445, 14.1818], [-19.7751, -28.6445, 0]], [[-20.7714, -40.0405, 0], [-20.7714, -40.0405, 14.3434], [-20.3109, -39.1528, 14.3434], [-20.3109, -39.1528, 7.17172], [-16.627, -32.0515, 7.17172], [-16.627, -32.0515, 14.3434], [-16.1665, -31.1638, 14.3434], [-16.1665, -31.1638, 0]], [[-15.7312, -42.5931, 0], [-15.7312, -42.5931, 14.5051], [-15.3847, -41.6551, 14.5051], [-15.3847, -41.6551, 7.25253], [-12.6131, -34.1506, 7.25253], [-12.6131, -34.1506, 14.5051], [-12.2666, -33.2125, 14.5051], [-12.2666, -33.2125, 0]], [[-10.4175, -44.4978, 0], [-10.4175, -44.4978, 14.6667], [-10.1896, -43.5241, 14.6667], [-10.1896, -43.5241, 7.33333], [-8.36597, -35.7347, 7.33333], [-8.36597, -35.7347, 14.6667], [-8.13802, -34.7611, 14.6667], [-8.13802, -34.7611, 0]], [[-4.91415, -45.7312, 0], [-4.91415, -45.7312, 14.8283], [-4.80731, -44.7369, 14.8283], [-4.80731, -44.7369, 7.41414], [-3.95257, -36.7827, 7.41414], [-3.95257, -36.7827, 14.8283], [-3.84573, -35.7884, 14.8283], [-3.84573, -35.7884, 0]], [[0.694121, -46.2806, 0], [0.694121, -46.2806, 14.9899], [0.679124, -45.2807, 14.9899], [0.679124, -45.2807, 7.49495], [0.559153, -37.2816, 7.49495], [0.559153, -37.2816, 14.9899], [0.544157, -36.2817, 14.9899], [0.544157, -36.2817, 0]], [[6.32293, -46.1439, 0], [6.32293, -46.1439, 15.1515], [6.18717, -45.1532, 15.1515], [6.18717, -45.1532, 7.57576], [5.10111, -37.2272, 7.57576], [5.10111, -37.2272, 15.1515], [4.96535, -36.2365, 15.1515], [4.96535, -36.2365, 0]], [[11.8895, -45.329, 0], [11.8895, -45.329, 15.3131], [11.6358, -44.3618, 15.3131], [11.6358, -44.3618, 7.65657], [9.60611, -36.6235, 7.65657], [9.60611, -36.6235, 15.3131], [9.3524, -35.6562, 15.3131], [9.3524, -35.6562, 0]], [[17.3139, -43.8535, 0], [17.3139, -43.8535, 15.4747], [16.9466, -42.9234, 15.4747], [16.9466, -42.9234, 7.73737], [14.0088, -35.4824, 7.73737], [14.0088, -35.4824, 15.4747], [13.6416, -34.5522, 15.4747], [13.6416, -34.5522, 0]], [[22.5198, -41.744, 0], [22.5198, -41.744, 15.6364], [22.045, -40.8639, 15.6364], [22.045, -40.8639, 7.81818], [18.2467, -33.8231, 7.81818], [18.2467, -33.8231, 15.6364], [17.7719, -32.943, 15.6364], [17.7719, -32.943, 0]], [[27.4358, -39.0354, 0], [27.4358, -39.0354, 15.798], [26.8608, -38.2173, 15.798], [26.8608, -38.2173, 7.89899], [22.2606, -31.6722, 7.89899], [22.2606, -31.6722, 15.798], [21.6856, -30.854, 15.798], [21.6856, -30.854, 0]], [[31.996, -35.7702, 0], [31.996, -35.7702, 15.9596], [31.3293, -35.0249, 15.9596], [31.3293, -35.0249, 7.9798], [25.9957, -29.0622, 7.9798], [25.9957, -29.0622, 15.9596], [25.329, -28.3168, 15.9596], [25.329, -28.3168, 0]], [[36.1406, -31.9976, 0], [36.1406, -31.9976, 16.1212], [35.3919, -31.3347, 16.1212], [35.3919, -31.3347, 8.06061], [29.4021, -26.0316, 8.06061], [29.4021, -26.0316, 16.1212], [28.6534, -25.3687, 16.1212], [28.6534, -25.3687, 0]], [[39.817, -27.7727, 0], [39.817, -27.7727, 16.2828], [38.9968, -27.2006, 16.2828], [38.9968, -27.2006, 8.14141], [32.4353, -22.6239, 8.14141], [32.4353, -22.6239, 16.2828], [31.6151, -22.0518, 16.2828], [31.6151, -22.0518, 0]], [[42.9796, -23.1554, 0], [42.9796, -23.1554, 16.4444], [42.0992, -22.6811, 16.4444], [42.0992, -22.6811, 8.22222], [35.0563, -18.8867, 8.22222], [35.0563, -18.8867, 16.4444], [34.1759, -18.4124, 16.4444], [34.1759, -18.4124, 0]], [[45.5907, -18.2096, 0], [45.5907, -18.2096, 16.6061], [44.662, -17.8387, 16.6061], [44.662, -17.8387, 8.30303], [37.2327, -14.8713, 8.30303], [37.2327, -14.8713, 16.6061], [36.3041, -14.5004, 16.6061], [36.3041, -14.5004, 0]], [[47.6205, -13.0024, 0], [47.6205, -13.0024, 16.7677], [46.6558, -12.739, 16.7677], [46.6558, -12.739, 8.38384], [38.9383, -10.6318, 8.38384], [38.9383, -10.6318, 16.7677], [37.9736, -10.3684, 16.7677], [37.9736, -10.3684, 0]], [[49.0472, -7.60249, 0], [49.0472, -7.60249, 16.9293], [48.059, -7.44932, 16.9293], [48.059, -7.44932, 8.46465], [40.1534, -6.22392, 8.46465], [40.1534, -6.22392, 16.9293], [39.1652, -6.07075, 16.9293], [39.1652, -6.07075, 0]], [[49.8571, -2.08005, 0], [49.8571, -2.08005, 17.0909], [48.8579, -2.03837, 17.0909], [48.8579, -2.03837, 8.54545], [40.8649, -1.7049, 8.54545], [40.8649, -1.7049, 17.0909], [39.8658, -1.66321, 17.0909], [39.8658, -1.66321, 0]], [[50.0446, 3.49472, 0], [50.0446, 3.49472, 17.2525], [49.047, 3.42506, 17.2525], [49.047, 3.42506, 8.62626], [41.0664, 2.86776, 8.62626], [41.0664, 2.86776, 17.2525], [40.0688, 2.79809, 17.2525], [40.0688, 2.79809, 0]], [[49.6118, 9.05229, 0], [49.6118, 9.05229, 17.4141], [48.628, 8.87279, 17.4141], [48.628, 8.87279, 8.70707], [40.7579, 7.4368, 8.70707], [40.7579, 7.4368, 17.4141], [39.7742, 7.2573, 17.4141], [39.7742, 7.2573, 0]], [[48.5684, 14.5247, 0], [48.5684, 14.5247, 17.5758], [47.6103, 14.2381, 17.5758], [47.6103, 14.2381, 8.78788], [39.9457, 11.946, 8.78788], [39.9457, 11.946, 17.5758], [38.9876, 11.6595, 17.5758], [38.9876, 11.6595, 0]], [[46.9314, 19.8461, 0], [46.9314, 19.8461, 17.7374], [46.0103, 19.4566, 17.7374], [46.0103, 19.4566, 8.86869], [38.6421, 16.3408, 8.86869], [38.6421, 16.3408, 17.7374], [37.721, 15.9513, 17.7374], [37.721, 15.9513, 0]], [[44.7244, 24.9539, 0], [44.7244, 24.9539, 17.899], [43.8512, 24.4667, 17.899], [43.8512, 24.4667, 8.94949], [36.865, 20.5688, 8.94949], [36.865, 20.5688, 17.899], [35.9917, 20.0815, 17.899], [35.9917, 20.0815, 0]], [[41.9776, 29.7891, 0], [41.9776, 29.7891, 18.0606], [41.1621, 29.2103, 18.0606], [41.1621, 29.2103, 9.0303], [34.6379, 24.5805, 9.0303], [34.6379, 24.5805, 18.0606], [33.8224, 24.0018, 18.0606], [33.8224, 24.0018, 0]], [[38.7267, 34.2968, 0], [38.7267, 34.2968, 18.2222], [37.9781, 33.6338, 18.2222], [37.9781, 33.6338, 9.11111], [31.9891, 28.3299, 9.11111], [31.9891, 28.3299, 18.2222], [31.2404, 27.6669, 18.2222], [31.2404, 27.6669, 0]], [[35.0127, 38.4271, 0], [35.0127, 38.4271, 18.3838], [34.3392, 37.6879, 18.3838], [34.3392, 37.6879, 9.19192], [28.9512, 31.7744, 9.19192], [28.9512, 31.7744, 18.3838], [28.2777, 31.0353, 18.3838], [28.2777, 31.0353, 0]], [[30.8813, 42.1351, 0], [30.8813, 42.1351, 18.5455], [30.2902, 41.3285, 18.5455], [30.2902, 41.3285, 9.27273], [25.561, 34.876, 9.27273], [25.561, 34.876, 18.5455], [24.9699, 34.0694, 18.5455], [24.9699, 34.0694, 0]], [[26.382, 45.3816, 0], [26.382, 45.3816, 18.7071], [25.8794, 44.5171, 18.7071], [25.8794, 44.5171, 9.35354], [21.8587, 37.6009, 9.35354], [21.8587, 37.6009, 18.7071], [21.3561, 36.7363, 18.7071], [21.3561, 36.7363, 0]], [[21.5675, 48.1332, 0], [21.5675, 48.1332, 18.8687], [21.1586, 47.2206, 18.8687], [21.1586, 47.2206, 9.43434], [17.8873, 39.92, 9.43434], [17.8873, 39.92, 18.8687], [17.4784, 39.0075, 18.8687], [17.4784, 39.0075, 0]], [[16.4932, 50.3625, 0], [16.4932, 50.3625, 19.0303], [16.182, 49.4122, 19.0303], [16.182, 49.4122, 9.51515], [13.6922, 41.8095, 9.51515], [13.6922, 41.8095, 19.0303], [13.381, 40.8592, 19.0303], [13.381, 40.8592, 0]], [[11.2166, 52.0484, 0], [11.2166, 52.0484, 19.1919], [11.0059, 51.0708, 19.1919], [11.0059, 51.0708, 9.59596], [9.32057, 43.2504, 9.59596], [9.32057, 43.2504, 19.1919], [9.1099, 42.2728, 19.1919], [9.1099, 42.2728, 0]], [[5.79603, 53.1759, 0], [5.79603, 53.1759, 19.3535], [5.68767, 52.1817, 19.3535], [5.68767, 52.1817, 9.67677], [4.82083, 44.2288, 9.67677], [4.82083, 44.2288, 19.3535], [4.71247, 43.2347, 19.3535], [4.71247, 43.2347, 0]], [[0.290748, 53.7363, 0], [0.290748, 53.7363, 19.5152], [0.285338, 52.7363, 19.5152], [0.285338, 52.7363, 9.75758], [0.242053, 44.7364, 9.75758], [0.242053, 44.7364, 19.5152], [0.236643, 43.7364, 19.5152], [0.236643, 43.7364, 0]], [[-5.24019, 53.7272, 0], [-5.24019, 53.7272, 19.6768], [-5.14311, 52.7319, 19.6768], [-5.14311, 52.7319, 9.83838], [-4.36653, 44.7697, 9.83838], [-4.36653, 44.7697, 19.6768], [-4.26946, 43.7744, 19.6768], [-4.26946, 43.7744, 0]], [[-10.7384, 53.152, 0], [-10.7384, 53.152, 19.8384], [-10.5404, 52.1718, 19.8384], [-10.5404, 52.1718, 9.91919], [-8.95611, 44.3302, 9.91919], [-8.95611, 44.3302, 19.8384], [-8.75808, 43.35, 19.8384], [-8.75808, 43.35, 0]], [[-16.1467, 52.0202, 0], [-16.1467, 52.0202, 20], [-15.8503, 51.0651, 20], [-15.8503, 51.0651, 10], [-13.4788, 43.4247, 10], [-13.4788, 43.4247, 20], [-13.1823, 42.4697, 20], [-13.1823, 42.4697, 0]]]; + for(i = [0:len(expected) - 1]) { - assertEqualPoints(expected[i], sections[i], float_digits = 3); + assertEqualPoints(expected[i], sections[i], float_digits = 5); } } diff --git a/test/test_bend.scad b/test/test_bend.scad index 7301f40c..8603174c 100644 --- a/test/test_bend.scad +++ b/test/test_bend.scad @@ -13,7 +13,7 @@ module test_bend() { expected_angle = 11.25; assertEqualPoints(expected_points, points); - assertEqual(expected_angle, angle); + assertEqualNum(expected_angle, angle); } bend(size = [x, y, z], angle = 270) diff --git a/test/test_ellipse_extrude.scad b/test/test_ellipse_extrude.scad index 8655c3c0..3b4573a1 100644 --- a/test/test_ellipse_extrude.scad +++ b/test/test_ellipse_extrude.scad @@ -13,11 +13,11 @@ module test_ellipse_extrude() { expected_zs = [0, 0.392295, 0.782172, 1.16723, 1.54508, 1.91342, 2.26995, 2.61249, 2.93893, 3.24724, 3.53553, 3.80203, 4.04508, 4.2632, 4.45503, 4.6194, 4.75528, 4.86185, 4.93844, 4.98459, 5]; for(i = [0:len(expected_fs) - 1]) { - assertEqual(expected_fs[i], child_fs[i]); + assertEqualNum(expected_fs[i], child_fs[i]); } for(i = [0:len(expected_zs) - 1]) { - assertEqual(expected_zs[i], pre_zs[i]); + assertEqualNum(expected_zs[i], pre_zs[i]); } diff --git a/test/test_golden_spiral.scad b/test/test_golden_spiral.scad index de2963c9..a57c5fde 100644 --- a/test/test_golden_spiral.scad +++ b/test/test_golden_spiral.scad @@ -23,7 +23,7 @@ module test_golden_spiral() { assertEqualPoints(expected_pts, actual_pts); for(i = [0:len(expected_angles) - 1]) { - assertEqual( + assertEqualNum( expected_angles[i], actual_angles[i] ); diff --git a/test/test_hexagons.scad b/test/test_hexagons.scad index ed599162..2650d48d 100644 --- a/test/test_hexagons.scad +++ b/test/test_hexagons.scad @@ -10,7 +10,7 @@ module test_hexagons_lv2() { include ; module test_each_hexagon(hex_r, pts_all_lines) { - assertEqual(19, hex_r); + assertEqualNum(19, hex_r); expects = [ [[-34.641, 0], [0, 0], [34.641, 0]], @@ -40,7 +40,7 @@ module test_hexagons_lv3() { include ; module test_each_hexagon(hex_r, pts_all_lines) { - assertEqual(19, hex_r); + assertEqualNum(19, hex_r); expects = [ [[-69.282, 0], [-34.641, 0], [0, 0], [34.641, 0], [69.282, 0]], diff --git a/test/test_hull_polyline2d.scad b/test/test_hull_polyline2d.scad index f2e9b074..961d9f49 100644 --- a/test/test_hull_polyline2d.scad +++ b/test/test_hull_polyline2d.scad @@ -12,7 +12,7 @@ module test_hull_polyline2d() { module test_line_segment(index, point1, point2, radius) { assertEqualPoint(points[index - 1], point1); assertEqualPoint(points[index], point2); - assertEqual(line_width, radius * 2); + assertEqualNum(line_width, radius * 2); } hull_polyline2d( diff --git a/test/test_hull_polyline3d.scad b/test/test_hull_polyline3d.scad index 95811be6..8c6337c0 100644 --- a/test/test_hull_polyline3d.scad +++ b/test/test_hull_polyline3d.scad @@ -17,7 +17,7 @@ module test_hull_polyline3d() { module test_line_segment(index, point1, point2, radius) { assertEqualPoint(points[index - 1], point1); assertEqualPoint(points[index], point2); - assertEqual(thickness, radius * 2); + assertEqualNum(thickness, radius * 2); } hull_polyline3d( @@ -47,7 +47,7 @@ module test_hull_polyline3d_helix() { module test_line_segment(index, point1, point2, radius) { assertEqualPoint(points[index - 1], point1); assertEqualPoint(points[index], point2); - assertEqual(thickness, radius * 2); + assertEqualNum(thickness, radius * 2); } for(i = [0:7]) { diff --git a/test/test_line2d.scad b/test/test_line2d.scad index c70cdf17..a5e70b3b 100644 --- a/test/test_line2d.scad +++ b/test/test_line2d.scad @@ -19,10 +19,10 @@ module test_line2d() { } module test_line2d_line(angle, length, width, frags) { - assertEqual(0, angle); - assertEqual(5, length); - assertEqual(1, width); - assertEqual(24, frags); + assertEqualNum(0, angle); + assertEqualNum(5, length); + assertEqualNum(1, width); + assertEqualNum(24, frags); } line2d(p1 = p1, p2 = p2, width = width); @@ -41,10 +41,10 @@ module test_line2d() { } module test_line2d_line(angle, length, width, frags) { - assertEqual(0, angle); - assertEqual(5, length); - assertEqual(1, width); - assertEqual(24, frags); + assertEqualNum(0, angle); + assertEqualNum(5, length); + assertEqualNum(1, width); + assertEqualNum(24, frags); } line2d(p1 = p1, p2 = p2, width = width, @@ -64,10 +64,10 @@ module test_line2d() { } module test_line2d_line(angle, length, width, frags) { - assertEqual(0, angle); - assertEqual(5, length); - assertEqual(1, width); - assertEqual(24, frags); + assertEqualNum(0, angle); + assertEqualNum(5, length); + assertEqualNum(1, width); + assertEqualNum(24, frags); } line2d(p1 = p1, p2 = p2, width = width, diff --git a/test/test_line3d.scad b/test/test_line3d.scad index 91f296e3..53ccd07d 100644 --- a/test/test_line3d.scad +++ b/test/test_line3d.scad @@ -13,17 +13,17 @@ module test_line3d() { module test_line3d_butt(p, r, frags, length, angles) { assertEqualPoint(p1, p); - assertEqual(thickness / 2, r); - assertEqual(fn, frags); - assertEqual(14.2829, length); + assertEqualNum(thickness / 2, r); + assertEqualNum(fn, frags); + assertEqualNum(14.2829, length); assertEqualPoint([0, 45.5618, 11.3099], angles); } module test_line3d_cap(p, r, frags, cap_leng, angles) { assert(p == p1 || p == p2); - assertEqual(thickness / 2, r); - assertEqual(fn, frags); - assertEqual(0.3536, cap_leng); + assertEqualNum(thickness / 2, r); + assertEqualNum(fn, frags); + assertEqualNum(0.3536, cap_leng); assertEqualPoint([0, 45.5618, 11.3099], angles); } @@ -43,9 +43,9 @@ module test_line3d() { module test_line3d_butt(p, r, frags, length, angles) { assertEqualPoint(p1, p); - assertEqual(thickness / 2, r); - assertEqual(fn, frags); - assertEqual(14.2829, length); + assertEqualNum(thickness / 2, r); + assertEqualNum(fn, frags); + assertEqualNum(14.2829, length); assertEqualPoint([0, 45.5618, 11.3099], angles); } @@ -70,17 +70,17 @@ module test_line3d() { module test_line3d_butt(p, r, frags, length, angles) { assertEqualPoint(p1, p); - assertEqual(thickness / 2, r); - assertEqual(fn, frags); - assertEqual(14.2829, length); + assertEqualNum(thickness / 2, r); + assertEqualNum(fn, frags); + assertEqualNum(14.2829, length); assertEqualPoint([0, 45.5618, 11.3099], angles); } module test_line3d_cap(p, r, frags, cap_leng, angles) { assert(p == p1 || p == p2); - assertEqual(thickness / 2, r); - assertEqual(fn, frags); - assertEqual(0.5043, cap_leng); + assertEqualNum(thickness / 2, r); + assertEqualNum(fn, frags); + assertEqualNum(0.5043, cap_leng); assertEqualPoint([0, 45.5618, 11.3099], angles); } diff --git a/test/test_parse_number.scad b/test/test_parse_number.scad index e07e4b95..98ea21fc 100644 --- a/test/test_parse_number.scad +++ b/test/test_parse_number.scad @@ -6,8 +6,8 @@ module test_parse_number() { include ; include ; - assertEqual(11, parse_number("10") + 1); - assertEqual(-0.1, parse_number("-1.1") + 1); + assertEqualNum(11, parse_number("10") + 1); + assertEqualNum(-0.1, parse_number("-1.1") + 1); } test_parse_number(); diff --git a/test/test_polyline2d.scad b/test/test_polyline2d.scad index fc0bc635..508a7fd6 100644 --- a/test/test_polyline2d.scad +++ b/test/test_polyline2d.scad @@ -11,7 +11,7 @@ module test_polyline2d() { module assertCorrectSegment(index, point1, point2, width) { assertEqualPoint(points[index - 1], point1); assertEqualPoint(points[index], point2); - assertEqual(line_width, width); + assertEqualNum(line_width, width); } module assertCorrectCaps(startStyle, endStyle, index, p1Style, p2Style) { diff --git a/test/test_polyline3d.scad b/test/test_polyline3d.scad index a455e80b..71c43f72 100644 --- a/test/test_polyline3d.scad +++ b/test/test_polyline3d.scad @@ -17,7 +17,7 @@ module test_polyline3d() { module assertCorrectSegment(expected, actual, thickness) { assertEqualPoint(expected[0], actual[0]); assertEqualPoint(expected[1], actual[1]); - assertEqual(line_thickness, thickness); + assertEqualNum(line_thickness, thickness); } module assertCorrectCaps(leng_pts, startStyle, endStyle, index, p1Style, p2Style) { diff --git a/test/test_split_str.scad b/test/test_split_str.scad index eea83793..5ffd78db 100644 --- a/test/test_split_str.scad +++ b/test/test_split_str.scad @@ -5,7 +5,7 @@ module test_split_str() { include ; include ; - assertEqual(["hello", "world"], split_str("hello,world", ",")); + assert(["hello", "world"] == split_str("hello,world", ",")); } test_split_str(); \ No newline at end of file diff --git a/test/test_sub_str.scad b/test/test_sub_str.scad index 61a5e8cb..f9121552 100644 --- a/test/test_sub_str.scad +++ b/test/test_sub_str.scad @@ -4,8 +4,8 @@ module test_sub_str() { include ; include ; - assertEqual("hello", sub_str("helloworld", 0, 5)); - assertEqual("world", sub_str("helloworld", 5)); + assert("hello" == sub_str("helloworld", 0, 5)); + assert("world" == sub_str("helloworld", 5)); } test_sub_str(); \ No newline at end of file