From cc5e9a95ef133b199b42a0cb00877f115bad9d64 Mon Sep 17 00:00:00 2001 From: John Kerl Date: Mon, 19 Dec 2016 08:10:51 -0500 Subject: [PATCH] is-type predicate UT cases --- c/containers/xvfuncs.h | 2 +- c/reg_test/expected/out | 144 ++++++++++++++++++++++++++++++++++++++++ c/reg_test/run | 19 ++++++ c/todo.txt | 1 + 4 files changed, 165 insertions(+), 1 deletion(-) diff --git a/c/containers/xvfuncs.h b/c/containers/xvfuncs.h index 4375c22b9..7eafee758 100644 --- a/c/containers/xvfuncs.h +++ b/c/containers/xvfuncs.h @@ -59,7 +59,7 @@ static inline boxed_xval_t b_x_ismap_xfunc(boxed_xval_t* pbxval1) { static inline boxed_xval_t b_x_isnotmap_xfunc(boxed_xval_t* pbxval1) { return box_ephemeral_val( mv_from_bool( - pbxval1->xval.is_terminal && mv_is_present(&pbxval1->xval.terminal_mlrval) + pbxval1->xval.is_terminal ) ); } diff --git a/c/reg_test/expected/out b/c/reg_test/expected/out index 736b45c00..f8a1dd779 100644 --- a/c/reg_test/expected/out +++ b/c/reg_test/expected/out @@ -18063,6 +18063,150 @@ b 5 - - true b - 6 - true b - - - true +mlr --opprint put $f=ismap($x) ./reg_test/input/nullvals.dkvp +a x y z f +b 1 2 - false +b 3 4 - false +b 5 - - false +b - 6 - false +b - - - false + +mlr --opprint put $f=ismap($y) ./reg_test/input/nullvals.dkvp +a x y z f +b 1 2 - false +b 3 4 - false +b 5 - - false +b - 6 - false +b - - - false + +mlr --opprint put $f=ismap($z) ./reg_test/input/nullvals.dkvp +a x y z f +b 1 2 - false +b 3 4 - false +b 5 - - false +b - 6 - false +b - - - false + +mlr --opprint put $f=ismap($nosuch) ./reg_test/input/nullvals.dkvp +a x y z f +b 1 2 - false +b 3 4 - false +b 5 - - false +b - 6 - false +b - - - false + +mlr --opprint put $f=ismap(@nosuch) ./reg_test/input/nullvals.dkvp +a x y z f +b 1 2 - false +b 3 4 - false +b 5 - - false +b - 6 - false +b - - - false + +mlr --opprint put $f=ismap($*) ./reg_test/input/nullvals.dkvp +a x y z f +b 1 2 - true +b 3 4 - true +b 5 - - true +b - 6 - true +b - - - true + +mlr --opprint put $f=ismap({1:2}) ./reg_test/input/nullvals.dkvp +a x y z f +b 1 2 - true +b 3 4 - true +b 5 - - true +b - 6 - true +b - - - true + +mlr --opprint put $f=ismap({}) ./reg_test/input/nullvals.dkvp +a x y z f +b 1 2 - true +b 3 4 - true +b 5 - - true +b - 6 - true +b - - - true + +mlr --opprint put @somesuch=1;$f=ismap(@somesuch) ./reg_test/input/nullvals.dkvp +a x y z f +b 1 2 - false +b 3 4 - false +b 5 - - false +b - 6 - false +b - - - false + +mlr --opprint put $f=isnotmap($x) ./reg_test/input/nullvals.dkvp +a x y z f +b 1 2 - true +b 3 4 - true +b 5 - - true +b - 6 - true +b - - - true + +mlr --opprint put $f=isnotmap($y) ./reg_test/input/nullvals.dkvp +a x y z f +b 1 2 - true +b 3 4 - true +b 5 - - true +b - 6 - true +b - - - true + +mlr --opprint put $f=isnotmap($z) ./reg_test/input/nullvals.dkvp +a x y z f +b 1 2 - true +b 3 4 - true +b 5 - - true +b - 6 - true +b - - - true + +mlr --opprint put $f=isnotmap($nosuch) ./reg_test/input/nullvals.dkvp +a x y z f +b 1 2 - true +b 3 4 - true +b 5 - - true +b - 6 - true +b - - - true + +mlr --opprint put $f=isnotmap(@nosuch) ./reg_test/input/nullvals.dkvp +a x y z f +b 1 2 - true +b 3 4 - true +b 5 - - true +b - 6 - true +b - - - true + +mlr --opprint put $f=isnotmap($*) ./reg_test/input/nullvals.dkvp +a x y z f +b 1 2 - false +b 3 4 - false +b 5 - - false +b - 6 - false +b - - - false + +mlr --opprint put $f=isnotmap({1:2}) ./reg_test/input/nullvals.dkvp +a x y z f +b 1 2 - false +b 3 4 - false +b 5 - - false +b - 6 - false +b - - - false + +mlr --opprint put $f=isnotmap({}) ./reg_test/input/nullvals.dkvp +a x y z f +b 1 2 - false +b 3 4 - false +b 5 - - false +b - 6 - false +b - - - false + +mlr --opprint put @somesuch=1;$f=isnotmap(@somesuch) ./reg_test/input/nullvals.dkvp +a x y z f +b 1 2 - true +b 3 4 - true +b 5 - - true +b - 6 - true +b - - - true + mlr --opprint put $f=isemptymap($x) ./reg_test/input/nullvals.dkvp a x y z f b 1 2 - false diff --git a/c/reg_test/run b/c/reg_test/run index 5cdba8c38..a25be0f6e 100755 --- a/c/reg_test/run +++ b/c/reg_test/run @@ -1217,6 +1217,25 @@ run_mlr --opprint put '$f=isnotempty($*)' $indir/nullvals. run_mlr --opprint put '$f=isnotempty({1:2})' $indir/nullvals.dkvp run_mlr --opprint put '@somesuch=1;$f=isnotempty(@somesuch)' $indir/nullvals.dkvp +run_mlr --opprint put '$f=ismap($x)' $indir/nullvals.dkvp +run_mlr --opprint put '$f=ismap($y)' $indir/nullvals.dkvp +run_mlr --opprint put '$f=ismap($z)' $indir/nullvals.dkvp +run_mlr --opprint put '$f=ismap($nosuch)' $indir/nullvals.dkvp +run_mlr --opprint put '$f=ismap(@nosuch)' $indir/nullvals.dkvp +run_mlr --opprint put '$f=ismap($*)' $indir/nullvals.dkvp +run_mlr --opprint put '$f=ismap({1:2})' $indir/nullvals.dkvp +run_mlr --opprint put '$f=ismap({})' $indir/nullvals.dkvp +run_mlr --opprint put '@somesuch=1;$f=ismap(@somesuch)' $indir/nullvals.dkvp +run_mlr --opprint put '$f=isnotmap($x)' $indir/nullvals.dkvp +run_mlr --opprint put '$f=isnotmap($y)' $indir/nullvals.dkvp +run_mlr --opprint put '$f=isnotmap($z)' $indir/nullvals.dkvp +run_mlr --opprint put '$f=isnotmap($nosuch)' $indir/nullvals.dkvp +run_mlr --opprint put '$f=isnotmap(@nosuch)' $indir/nullvals.dkvp +run_mlr --opprint put '$f=isnotmap($*)' $indir/nullvals.dkvp +run_mlr --opprint put '$f=isnotmap({1:2})' $indir/nullvals.dkvp +run_mlr --opprint put '$f=isnotmap({})' $indir/nullvals.dkvp +run_mlr --opprint put '@somesuch=1;$f=isnotmap(@somesuch)' $indir/nullvals.dkvp + run_mlr --opprint put '$f=isemptymap($x)' $indir/nullvals.dkvp run_mlr --opprint put '$f=isemptymap($y)' $indir/nullvals.dkvp run_mlr --opprint put '$f=isemptymap($z)' $indir/nullvals.dkvp diff --git a/c/todo.txt b/c/todo.txt index d3fb0be96..77e5ad885 100644 --- a/c/todo.txt +++ b/c/todo.txt @@ -31,6 +31,7 @@ OTHER: MAPVAR CHECKLIST: ! UT cases detailed below + -> ismap(absent) & isnotmap(absent) both false ?!? ! memmgt for ephemeral boxed xvals