diff options
author | Arne Juul <arnej@verizonmedia.com> | 2021-01-18 11:13:09 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2021-01-18 14:22:11 +0000 |
commit | 0d4ba8f7fa4585955cbdbaa29f90158ba075c710 (patch) | |
tree | 15561dc4067fa7a7b46477bc3d80e934b51c10e5 /eval | |
parent | 46fa3514c7149a59b9bbbb633632c29ff4d0f3f6 (diff) |
add more unit tests
Diffstat (limited to 'eval')
-rw-r--r-- | eval/src/tests/instruction/fast_rename_optimizer/fast_rename_optimizer_test.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/eval/src/tests/instruction/fast_rename_optimizer/fast_rename_optimizer_test.cpp b/eval/src/tests/instruction/fast_rename_optimizer/fast_rename_optimizer_test.cpp index 4d95c1869a2..dc90a5e54a1 100644 --- a/eval/src/tests/instruction/fast_rename_optimizer/fast_rename_optimizer_test.cpp +++ b/eval/src/tests/instruction/fast_rename_optimizer/fast_rename_optimizer_test.cpp @@ -23,6 +23,8 @@ EvalFixture::ParamRepo make_params() { .add("x5f", spec(float_cells({x(5)}), N())) .add("x_m", spec({x({"a", "b", "c"})}, N())) .add("xy_mm", spec({x({"a", "b", "c"}),y({"d","e"})}, N())) + .add("x5y3z_m", spec({x(5),y(3),z({"a","b"})}, N())) + .add("x5yz_m", spec({x(5),y({"a","b"}),z({"d","e"})}, N())) .add("x5y3", spec({x(5),y(3)}, N())); } EvalFixture::ParamRepo param_repo = make_params(); @@ -66,6 +68,19 @@ TEST("require that non-dense renames may be optimized") { TEST_DO(verify_optimized("rename(xy_mm,(x,y),(y,z))")); TEST_DO(verify_not_optimized("rename(xy_mm,(x,y),(b,a))")); TEST_DO(verify_not_optimized("rename(xy_mm,(x,y),(y,x))")); + + TEST_DO(verify_optimized("rename(x5y3z_m,(z),(a))")); + TEST_DO(verify_optimized("rename(x5y3z_m,(x,y,z),(b,c,a))")); + TEST_DO(verify_optimized("rename(x5y3z_m,(z),(a))")); + TEST_DO(verify_optimized("rename(x5y3z_m,(x,y,z),(b,c,a))")); + TEST_DO(verify_not_optimized("rename(x5y3z_m,(y),(a))")); + TEST_DO(verify_not_optimized("rename(x5y3z_m,(x,z),(z,x))")); + + TEST_DO(verify_optimized("rename(x5yz_m,(x,y),(y,x))")); + TEST_DO(verify_optimized("rename(x5yz_m,(x,y,z),(c,a,b))")); + TEST_DO(verify_optimized("rename(x5yz_m,(y,z),(a,b))")); + TEST_DO(verify_not_optimized("rename(x5yz_m,(z),(a))")); + TEST_DO(verify_not_optimized("rename(x5yz_m,(y,z),(z,y))")); } TEST("require that chained optimized renames are compacted into a single operation") { |