Mercurial > octave
changeset 24267:ba51a6fd6a18
scripts/specfun/perms.m: add tests for non numeric data (bug #52431)
author | Carnë Draug <carandraug@octave.org> |
---|---|
date | Fri, 17 Nov 2017 16:01:59 +0000 |
parents | c372b091f622 |
children | 94c4ebecca6e |
files | scripts/specfun/perms.m |
diffstat | 1 files changed, 20 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/scripts/specfun/perms.m Thu Nov 16 18:12:23 2017 -0800 +++ b/scripts/specfun/perms.m Fri Nov 17 16:01:59 2017 +0000 @@ -119,4 +119,23 @@ %!error perms () %!error perms (1, 2) -%!error <V must be a numeric> perms ({1}) + +## Should work for any array type, such as cells and structs, and not +## only for numeric data. +%!test <52431> +%! assert (perms ({1}), {1}) +%! assert (perms ({}), cell (1, 0)) +%! assert (perms ({0.1, "foo"}), +%! {"foo", 0.1; 0.1, "foo"}) +%! assert (perms ({"foo", 0.1}), +%! {0.1, "foo"; "foo", 0.1}) +%! assert (perms ({"foo"; 0.1}), +%! {0.1, "foo"; "foo", 0.1}) +%! assert (perms ({0.1; "foo"}), +%! {"foo", 0.1; 0.1, "foo"}) +%! +%! assert (perms (struct ()), struct ()) +%! assert (perms (struct ("foo", {1, 2})), +%! struct ("foo", {2, 1; 1, 2})) +%! assert (perms (struct ("foo", {1, 2}, "bar", {3, 4})), +%! struct ("foo", {2, 1; 1, 2}, "bar", {4, 3; 3, 4}))