def _test_combinations_comm(): assert set(allcombinations((1, 2, 3), (a, b), None)) == set(( (((1, ), (2, 3)), ("a", "b")), (((2, ), (3, 1)), ("a", "b")), (((3, ), (1, 2)), ("a", "b")), (((1, 2), (3, )), ("a", "b")), (((2, 3), (1, )), ("a", "b")), (((3, 1), (2, )), ("a", "b")), ))
def test_allcombinations(): assert set(allcombinations((1,2), (1,2), 'commutative')) ==\ set(((((1,),(2,)), ((1,),(2,))), (((1,),(2,)), ((2,),(1,)))))
def _test_combinations_comm(): assert set(allcombinations((1,2,3), (a,b), None)) == \ set(((((1,), (2, 3)), ('a', 'b')), (((2,), (3, 1)), ('a', 'b')), (((3,), (1, 2)), ('a', 'b')), (((1, 2), (3,)), ('a', 'b')), (((2, 3), (1,)), ('a', 'b')), (((3, 1), (2,)), ('a', 'b'))))
def _test_combinations_assoc(): assert set(allcombinations((1,2,3), (a,b), True)) == \ set(((((1, 2), (3,)), (a, b)), (((1,), (2, 3)), (a, b))))
def test_allcombinations(): assert set(allcombinations((1,2), (1,2), 'commutative')) ==\ {(((1,),(2,)), ((1,),(2,))), (((1,),(2,)), ((2,),(1,)))}
def _test_combinations_comm(): assert set(allcombinations((1,2,3), (a,b), None)) == \ {(((1,), (2, 3)), ('a', 'b')), (((2,), (3, 1)), ('a', 'b')), (((3,), (1, 2)), ('a', 'b')), (((1, 2), (3,)), ('a', 'b')), (((2, 3), (1,)), ('a', 'b')), (((3, 1), (2,)), ('a', 'b'))}
def _test_combinations_assoc(): assert set(allcombinations((1,2,3), (a,b), True)) == \ {(((1, 2), (3,)), (a, b)), (((1,), (2, 3)), (a, b))}
def test_allcombinations(): assert set(allcombinations((1, 2), (1, 2), "commutative")) == set( ((((1, ), (2, )), ((1, ), (2, ))), (((1, ), (2, )), ((2, ), (1, )))))