def test_join():
    names = [(1, "one"), (2, "two"), (3, "three")]
    fruit = [("apple", 1), ("orange", 1), ("banana", 2), ("coconut", 2)]

    def addpair(pair):
        return pair[0] + pair[1]

    result = set(starmap(add, join(first, names, second, fruit)))

    expected = {
        (1, "one", "apple", 1),
        (1, "one", "orange", 1),
        (2, "two", "banana", 2),
        (2, "two", "coconut", 2),
    }

    assert result == expected

    result = set(
        starmap(
            add,
            join(
                first,
                names,
                second,
                fruit,
                left_default=no_default2,
                right_default=no_default2,
            ),
        ))
    assert result == expected
Esempio n. 2
0
def test_outer_join():
    result = set(
        join(identity, [1, 2],
             identity, [2, 3],
             left_default=None,
             right_default=None))
    expected = set([(2, 2), (1, None), (None, 3)])

    assert result == expected
Esempio n. 3
0
def test_join_missing_element():
    names = [(1, "one"), (2, "two"), (3, "three")]
    fruit = [("apple", 5), ("orange", 1)]

    result = set(starmap(add, join(first, names, second, fruit)))

    expected = set([((1, "one", "orange", 1))])

    assert result == expected
Esempio n. 4
0
def test_join_missing_element():
    names = [(1, 'one'), (2, 'two'), (3, 'three')]
    fruit = [('apple', 5), ('orange', 1)]

    result = set(starmap(add, join(first, names, second, fruit)))

    expected = set([((1, 'one', 'orange', 1))])

    assert result == expected
def test_join_missing_element():
    names = [(1, "one"), (2, "two"), (3, "three")]
    fruit = [("apple", 5), ("orange", 1)]

    result = set(starmap(add, join(first, names, second, fruit)))

    expected = {(1, "one", "orange", 1)}

    assert result == expected
Esempio n. 6
0
def test_join_missing_element():
    names = [(1, 'one'), (2, 'two'), (3, 'three')]
    fruit = [('apple', 5), ('orange', 1)]

    result = set(starmap(add, join(first, names, second, fruit)))

    expected = set([((1, 'one', 'orange', 1))])

    assert result == expected
Esempio n. 7
0
def test_join():
    names = [(1, 'one'), (2, 'two'), (3, 'three')]
    fruit = [('apple', 1), ('orange', 1), ('banana', 2), ('coconut', 2)]

    def addpair(pair):
        return pair[0] + pair[1]

    result = set(starmap(add, join(first, names, second, fruit)))

    expected = set([((1, 'one', 'apple', 1)),
                    ((1, 'one', 'orange', 1)),
                    ((2, 'two', 'banana', 2)),
                    ((2, 'two', 'coconut', 2))])

    assert result == expected

    result = set(starmap(add, join(first, names, second, fruit,
                                   left_default=no_default2,
                                   right_default=no_default2)))
    assert result == expected
Esempio n. 8
0
def test_join():
    names = [(1, 'one'), (2, 'two'), (3, 'three')]
    fruit = [('apple', 1), ('orange', 1), ('banana', 2), ('coconut', 2)]

    def addpair(pair):
        return pair[0] + pair[1]

    result = set(starmap(add, join(first, names, second, fruit)))

    expected = set([((1, 'one', 'apple', 1)),
                    ((1, 'one', 'orange', 1)),
                    ((2, 'two', 'banana', 2)),
                    ((2, 'two', 'coconut', 2))])

    assert result == expected

    result = set(starmap(add, join(first, names, second, fruit,
                                   left_default=no_default2,
                                   right_default=no_default2)))
    assert result == expected
Esempio n. 9
0
def test_join_double_repeats():
    names = [(1, 'one'), (2, 'two'), (3, 'three'), (1, 'uno'), (2, 'dos')]
    fruit = [('apple', 1), ('orange', 1), ('banana', 2), ('coconut', 2)]

    result = set(starmap(add, join(first, names, second, fruit)))

    expected = set([((1, 'one', 'apple', 1)), ((1, 'one', 'orange', 1)),
                    ((2, 'two', 'banana', 2)), ((2, 'two', 'coconut', 2)),
                    ((1, 'uno', 'apple', 1)), ((1, 'uno', 'orange', 1)),
                    ((2, 'dos', 'banana', 2)), ((2, 'dos', 'coconut', 2))])

    assert result == expected
Esempio n. 10
0
def test_join():
    names = [(1, "one"), (2, "two"), (3, "three")]
    fruit = [("apple", 1), ("orange", 1), ("banana", 2), ("coconut", 2)]

    def addpair(pair):
        return pair[0] + pair[1]

    result = set(starmap(add, join(first, names, second, fruit)))

    expected = set(
        [((1, "one", "apple", 1)), ((1, "one", "orange", 1)), ((2, "two", "banana", 2)), ((2, "two", "coconut", 2))]
    )

    assert result == expected
Esempio n. 11
0
def test_join_double_repeats():
    names = [(1, 'one'), (2, 'two'), (3, 'three'), (1, 'uno'), (2, 'dos')]
    fruit = [('apple', 1), ('orange', 1), ('banana', 2), ('coconut', 2)]

    result = set(starmap(add, join(first, names, second, fruit)))

    expected = set([((1, 'one', 'apple', 1)),
                    ((1, 'one', 'orange', 1)),
                    ((2, 'two', 'banana', 2)),
                    ((2, 'two', 'coconut', 2)),
                    ((1, 'uno', 'apple', 1)),
                    ((1, 'uno', 'orange', 1)),
                    ((2, 'dos', 'banana', 2)),
                    ((2, 'dos', 'coconut', 2))])

    assert result == expected
Esempio n. 12
0
def test_key_as_getter():
    squares = [(i, i ** 2) for i in range(5)]
    pows = [(i, i ** 2, i ** 3) for i in range(5)]

    assert set(join(0, squares, 0, pows)) == set(join(lambda x: x[0], squares, lambda x: x[0], pows))

    get = lambda x: (x[0], x[1])
    assert set(join([0, 1], squares, [0, 1], pows)) == set(join(get, squares, get, pows))

    get = lambda x: (x[0],)
    assert set(join([0], squares, [0], pows)) == set(join(get, squares, get, pows))
def test_join_double_repeats():
    names = [(1, "one"), (2, "two"), (3, "three"), (1, "uno"), (2, "dos")]
    fruit = [("apple", 1), ("orange", 1), ("banana", 2), ("coconut", 2)]

    result = set(starmap(add, join(first, names, second, fruit)))

    expected = {
        (1, "one", "apple", 1),
        (1, "one", "orange", 1),
        (2, "two", "banana", 2),
        (2, "two", "coconut", 2),
        (1, "uno", "apple", 1),
        (1, "uno", "orange", 1),
        (2, "dos", "banana", 2),
        (2, "dos", "coconut", 2),
    }

    assert result == expected
Esempio n. 14
0
def test_key_as_getter():
    squares = [(i, i**2) for i in range(5)]
    pows = [(i, i**2, i**3) for i in range(5)]

    assert set(join(0, squares, 0, pows)) == set(join(lambda x: x[0], squares,
                                                      lambda x: x[0], pows))

    get = lambda x: (x[0], x[1])
    assert set(join([0, 1], squares, [0, 1], pows)) == set(join(get, squares,
                                                                get, pows))

    get = lambda x: (x[0],)
    assert set(join([0], squares, [0], pows)) == set(join(get, squares,
                                                          get, pows))
Esempio n. 15
0
def test_join_double_repeats():
    names = [(1, "one"), (2, "two"), (3, "three"), (1, "uno"), (2, "dos")]
    fruit = [("apple", 1), ("orange", 1), ("banana", 2), ("coconut", 2)]

    result = set(starmap(add, join(first, names, second, fruit)))

    expected = set(
        [
            ((1, "one", "apple", 1)),
            ((1, "one", "orange", 1)),
            ((2, "two", "banana", 2)),
            ((2, "two", "coconut", 2)),
            ((1, "uno", "apple", 1)),
            ((1, "uno", "orange", 1)),
            ((2, "dos", "banana", 2)),
            ((2, "dos", "coconut", 2)),
        ]
    )

    assert result == expected
Esempio n. 16
0
def test_outer_join():
    result = set(join(identity, [1, 2], identity, [2, 3],
                      left_default=None, right_default=None))
    expected = set([(2, 2), (1, None), (None, 3)])

    assert result == expected
Esempio n. 17
0
def test_right_outer_join():
    result = set(join(identity, [1, 2], identity, [2, 3], right_default=None))
    expected = {(2, 2), (1, None)}

    assert result == expected
Esempio n. 18
0
def test_left_outer_join():
    result = set(join(identity, [1, 2], identity, [2, 3], left_default=None))
    expected = {(2, 2), (None, 3)}

    assert result == expected