1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
From 94e70d8962b62c0aa45c2a863e9514bfa0ea202d Mon Sep 17 00:00:00 2001
From: Timo Paulssen <[email protected]>
Date: Fri, 5 Apr 2013 18:58:58 +0200
Subject: [PATCH] start reflecting hyperop recursion specchange.
---
S03-metaops/hyper.t | 72 ++++++++++++++++++---------------------------------
1 file changed, 25 insertions(+), 47 deletions(-)
diff --git a/S03-metaops/hyper.t b/S03-metaops/hyper.t
index 248f087..c0f90d8 100644
--- a/S03-metaops/hyper.t
+++ b/S03-metaops/hyper.t
@@ -265,72 +265,50 @@ my @e;
is(~@r, ~@e, "hyper-method-call on list of user-defined objects");
};
-{ # distribution for unary prefix
+{ # unary prefix: map semantics rather than recursive semantics
my @r;
@r = -« ([1, 2], [3, [4, 5]]);
- my @e = ([-1, -2], [-3, [-4, -5]]);
- is(~@r, ~@e, "distribution for unary prefix");
- is_deeply(@r, @e, "distribution for unary prefix, deep comparison");
-
- @r = -<< ([1, 2], [3, [4, 5]]);
- @e = ([-1, -2], [-3, [-4, -5]]);
- is(~@r, ~@e, "distribution for unary prefix, ASCII");
- is_deeply(@r, @e, "distribution for unary prefix, ASCII, deep comparison");
-};
-
-{ # distribution for unary postfix autoincrement
- my @r;
- @r = ([1, 2], [3, [4, 5]]);
- is_deeply(@r, @e, "distribution for binary infix, same shape, ASCII, deep comparison");
+ my @e = (5, 7, 4);
+ is(~@r, ~@e, "nondistribution for binary infix, same shape, ASCII");
+ is_deeply(@r, @e, "nondistribution for binary infix, same shape, ASCII, deep comparison");
- @r = (1, 2, [3, 4]) >>+>> (5, 6, 7);
- @e = (6, 8, [10, 11]);
- is(~@r, ~@e, "distribution for binary infix, dimension upgrade, ASCII");
- is_deeply(@r, @e, "distribution for binary infix, dimension upgrade, ASCII, deep comparison");
+ @r = (1, 2, [3, 4], [1, 2, 3]) >>+>> (5, 6, 7);
+ @e = (6, 8, 9, 8);
+ is(~@r, ~@e, "nondistribution for binary infix, deprecated dimension upgrade, ASCII");
+ is_deeply(@r, @e, "nondistribution for binary infix, deprecated dimension upgrade, ASCII, deep comparison");
@r = ([1, 2], 3) <<+>> (4, [5, 6]);
- @e = ([5, 6], [8, 9]);
- is(~@r, ~@e, "distribution for binary infix, S03 cross-upgrade, ASCII");
- is_deeply(@r, @e, "distribution for binary infix, S03 cross-upgrade, ASCII, deep comparison");
+ @e = (6, 5);
+ is(~@r, ~@e, "nondistribution for binary infix, S03 deprecated cross-upgrade, ASCII");
+ is_deeply(@r, @e, "nondistribution for binary infix, S03 deprecated cross-upgrade, ASCII, deep comparison");
};
#?DOES 3
{ # distribution for binary infix - unicode
my @r;
@r = (1, 2, [3, 4]) »+« (4, 5, [6, 7]);
- my @e = (5, 7, [9, 11]);
- is(~@r, ~@e, "distribution for binary infix, same shape");
- is_deeply(@r, @e, "distribution for binary infix, same shape, deep comparison");
+ my @e = (5, 7, 4);
+ is(~@r, ~@e, "nondistribution for binary infix, same shape");
+ is_deeply(@r, @e, "nondistribution for binary infix, same shape, deep comparison");
- @r = (1, 2, [3, 4]) »+» (5, 6, 7);
- @e = (6, 8, [10, 11]);
- is(~@r, ~@e, "distribution for binary infix, dimension upgrade");
- is_deeply(@r, @e, "distribution for binary infix, dimension upgrade, deep comparison");
+ @r = (1, 2, [3, 4], [1, 2, 3]) »+» (5, 6, 7);
+ @e = (6, 8, 9, 8);
+ is(~@r, ~@e, "nondistribution for binary infix, deprecated dimension upgrade");
+ is_deeply(@r, @e, "nondistribution for binary infix, deprecated dimension upgrade, deep comparison");
@r = ([1, 2], 3) «+» (4, [5, 6]);
- @e = ([5, 6], [8, 9]);
- is(~@r, ~@e, "distribution for binary infix, S03 cross-upgrade");
- is_deeply(@r, @e, "distribution for binary infix, S03 cross-upgrade, deep comparison");
+ @e = (6, 5);
+ is(~@r, ~@e, "nondistribution for binary infix, S03 deprecated cross-upgrade");
+ is_deeply(@r, @e, "nondistribution for binary infix, S03 deprecated cross-upgrade, deep comparison");
};
{ # regression test, ensure that hyper works on arrays
--
1.7.10.4