mirror of
https://github.com/BelfrySCAD/BOSL2.git
synced 2024-12-29 16:29:40 +00:00
Merge pull request #599 from revarbat/revarbat_dev
Added group_data() and all_integer() regressions.
This commit is contained in:
commit
50faec64fb
4 changed files with 31 additions and 1 deletions
|
@ -577,6 +577,7 @@ module no_module() {
|
|||
|
||||
|
||||
function _valstr(x) =
|
||||
is_string(x)? str("\"",str_replace_char(x, "\"", "\\\""),"\"") :
|
||||
is_list(x)? str("[",str_join([for (xx=x) _valstr(xx)],","),"]") :
|
||||
is_num(x) && x==floor(x)? fmt_int(x) :
|
||||
is_finite(x)? fmt_float(x,12) : x;
|
||||
|
|
|
@ -734,7 +734,7 @@ function str_pad(str,length,char=" ",left=false) =
|
|||
// can be any string.
|
||||
function str_replace_char(str,char,replace) =
|
||||
assert(is_str(str))
|
||||
assert(is_str(char) && len(char)==1, "Search pattern 'char' must be a a single character string")
|
||||
assert(is_str(char) && len(char)==1, "Search pattern 'char' must be a single character string")
|
||||
assert(is_str(replace))
|
||||
str_join([for(c=str) c==char ? replace : c]);
|
||||
|
||||
|
|
|
@ -589,6 +589,15 @@ module test_array_group() {
|
|||
test_array_group();
|
||||
|
||||
|
||||
module test_group_data() {
|
||||
assert_equal(group_data([1,2,0], ["A","B","C"]), [["C"],["A"],["B"]]);
|
||||
assert_equal(group_data([1,3,0], ["A","B","C"]), [["C"],["A"],[],["B"]]);
|
||||
assert_equal(group_data([5,3,1], ["A","B","C"]), [[],["C"],[],["B"],[],["A"]]);
|
||||
assert_equal(group_data([1,3,1], ["A","B","C"]), [[],["A","C"],[],["B"]]);
|
||||
}
|
||||
test_group_data();
|
||||
|
||||
|
||||
module test_flatten() {
|
||||
assert(flatten([[1,2,3], [4,5,[6,7,8]]]) == [1,2,3,4,5,[6,7,8]]);
|
||||
assert(flatten([]) == []);
|
||||
|
|
|
@ -227,6 +227,26 @@ module test_all_nonnegative() {
|
|||
test_all_nonnegative();
|
||||
|
||||
|
||||
module test_all_integer() {
|
||||
assert(!all_integer(undef));
|
||||
assert(!all_integer(true));
|
||||
assert(!all_integer(false));
|
||||
assert(!all_integer(4.3));
|
||||
assert(!all_integer("foo"));
|
||||
assert(!all_integer([]));
|
||||
assert(!all_integer([3,4.1,5,7]));
|
||||
assert(!all_integer([[1,2,3],[4,5,6],[7,8]]));
|
||||
assert(all_integer(-4));
|
||||
assert(all_integer(0));
|
||||
assert(all_integer(5));
|
||||
assert(all_integer([-3]));
|
||||
assert(all_integer([0]));
|
||||
assert(all_integer([3]));
|
||||
assert(all_integer([2,-4,0,5,7,9876543210]));
|
||||
}
|
||||
test_all_integer();
|
||||
|
||||
|
||||
module test_approx() {
|
||||
assert_equal(approx(PI, 3.141592653589793236), true);
|
||||
assert_equal(approx(PI, 3.1415926), false);
|
||||
|
|
Loading…
Reference in a new issue