#!/usr/bin/pugs
use v6;
use Test;
plan 14;
=pod
Checking Junctions' Associativeness
L<S09/"Junctions">
L<S03/"Junctive operators">
=cut
{ # L<S09/"Junctions">
is('1 2 3', ~((1|2)|3).values, "Left-associative any, | operator");
is('1 2 3', ~(1|(2|3)).values, "Right-associative any, | operator");
is('1 2 3', ~any(any(1,2),3).values, "Left-associative any()");
is('1 2 3', ~any(1,any(2,3)).values, "Right-associative any()");
is('1 2 3', ~((1&2)&3).values, "Left-associative all, & operator");
is('1 2 3', ~(1&(2&3)).values, "Right-associative all, & operator");
is('1 2 3', ~all(all(1,2),3).values, "Left-associative all()");
is('1 2 3', ~all(1,all(2,3)).values, "Right-associative all()");
isnt('1 2 3', ~((1^2)^3).values, "Left-associative one, ^ operator");
isnt('1 2 3', ~(1^(2^3)).values, "Right-associative one, ^ operator");
isnt('1 2 3', ~one(one(1,2),3).values, "Left-associative one()");
isnt('1 2 3', ~one(1,one(2,3)).values, "Right-associative one()");
is('1 2 3', ~none(none(1,2),3).values, "Left-associative none()");
is('1 2 3', ~none(1,none(2,3)).values, "Right-associative none()");
}