1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-08-11 17:24:20 +02:00

use built-in assert

This commit is contained in:
Justin Lin
2019-06-11 15:15:52 +08:00
parent 627909fc9e
commit 2e2079a323

View File

@@ -1,26 +1,3 @@
module fail(title, message) {
echo(
str(
"<b>",
"<span style='color: red'>",
"FAIL: ", title,
"</span>",
"</b>"
)
);
if(message != undef) {
echo(
str(
"<b>",
"<span style='color: red'> ",
message,
"</span>",
"</b>"
)
);
}
}
function round_n(number, float_digits = 4) = function round_n(number, float_digits = 4) =
let(n = pow(10, float_digits)) let(n = pow(10, float_digits))
round(number * n) / n; round(number * n) / n;
@@ -39,53 +16,40 @@ module assertEqualPoint(expected, actual, epsilon = 0.0001) {
leng_expected = len(expected); leng_expected = len(expected);
leng_actual = len(actual); leng_actual = len(actual);
if(leng_expected != leng_actual) { assert(
fail( leng_expected == leng_actual,
"Point", str("Point: expected length: ", leng_expected, ", but: ", leng_actual)
str("expected length: ", leng_expected,
", but: ", leng_actual)
); );
} else {
v_diff = expected - actual; v_diff = expected - actual;
v3d = len(v_diff) == 2 ? [v_diff[0], v_diff[1], 0] : v_diff; v3d = len(v_diff) == 2 ? [v_diff[0], v_diff[1], 0] : v_diff;
if(abs(v3d[0]) > epsilon && abs(v3d[1]) > epsilon && abs(v3d[2]) > epsilon) { assert(
fail( abs(v3d[0]) <= epsilon && abs(v3d[1]) <= epsilon && abs(v3d[2]) <= epsilon,
"Point", str("Point: expected: ", expected, ", but: ", actual)
str("expected: ", expected,
", but: ", actual)
); );
} }
}
}
module assertEqualPoints(expected, actual, epsilon = 0.0001) { module assertEqualPoints(expected, actual, epsilon = 0.0001) {
leng_expected = len(expected); leng_expected = len(expected);
leng_actual = len(actual); leng_actual = len(actual);
if(leng_expected != leng_actual) { assert(
fail( leng_expected == leng_actual,
"Points", str("Points: expected length: ", leng_expected, ", but: ", leng_actual)
str("expected length: ", leng_expected,
", but: ", leng_actual)
); );
} else {
for(i = [0:len(actual) - 1]) { for(i = [0:len(actual) - 1]) {
assertEqualPoint(expected[i], actual[i], epsilon); assertEqualPoint(expected[i], actual[i], epsilon);
} }
} }
}
module assertEqualNum(expected, actual, epsilon = 0.0001) { module assertEqualNum(expected, actual, epsilon = 0.0001) {
if(abs(expected - actual) > epsilon) { assert(
fail( abs(expected - actual) <= epsilon,
"Equality", str("expected: ", expected, ", but: ", actual)
str("expected: ", expected,
", but: ", actual)
); );
} }
}
function mul_round_vector(vector, n) = function mul_round_vector(vector, n) =
let(vt = vector * n) let(vt = vector * n)