示例#1
0
def test_unique():

    table = (('foo', 'bar', 'baz'),
             ('A', 1, 2),
             ('B', '2', '3.4'),
             ('D', 'xyz', 9.0),
             ('B', u'3', u'7.8', True),
             ('B', '2', 42),
             ('E', None),
             ('D', 4, 12.3))

    f1 = NamedTemporaryFile(delete=False)
    f2 = NamedTemporaryFile(delete=False)
    p = sort('foo')
    q = p.pipe(unique('foo'))
    q.pipe(topickle(f1.name))
    q.pipe('remainder', topickle(f2.name))
    p.push(table)

    expectation = (('foo', 'bar', 'baz'),
                   ('A', 1, 2), 
                   ('E', None))
    iassertequal(expectation, frompickle(f1.name))

    exremainder = (('foo', 'bar', 'baz'),
                   ('B', '2', '3.4'),
                   ('B', u'3', u'7.8', True),
                   ('B', '2', 42),
                   ('D', 'xyz', 9.0),
                   ('D', 4, 12.3))
    iassertequal(exremainder, frompickle(f2.name))
示例#2
0
def test_diff():

    tablea = (("foo", "bar", "baz"), ("A", 1, True), ("B", 2, False), ("C", 7, False), ("C", 9, True))

    tableb = (("x", "y", "z"), ("A", 9, False), ("B", 2, False), ("B", 3, True), ("C", 9, True))

    aminusb = (("foo", "bar", "baz"), ("A", 1, True), ("C", 7, False))

    bminusa = (("foo", "bar", "baz"), ("A", 9, False), ("B", 3, True))

    both = (("foo", "bar", "baz"), ("B", 2, False), ("C", 9, True))

    f1 = NamedTemporaryFile(delete=False)
    f2 = NamedTemporaryFile(delete=False)
    f3 = NamedTemporaryFile(delete=False)
    p = diff()
    p.pipe("+", topickle(f1.name))
    p.pipe("-", topickle(f2.name))
    p.pipe(topickle(f3.name))
    p.push(tablea, tableb)

    added, subtracted, common = frompickle(f1.name), frompickle(f2.name), frompickle(f3.name)
    ieq(bminusa, added)
    ieq(aminusb, subtracted)
    ieq(both, common)
示例#3
0
def test_unique():

    table = (('foo', 'bar', 'baz'),
             ('A', 1, 2),
             ('B', '2', '3.4'),
             ('D', 'xyz', 9.0),
             ('B', u'3', u'7.8', True),
             ('B', '2', 42),
             ('E', None),
             ('D', 4, 12.3))

    fn1 = NamedTemporaryFile().name
    fn2 = NamedTemporaryFile().name
    p = sort('foo')
    q = p.pipe(unique('foo'))
    q.pipe(topickle(fn1))
    q.pipe('remainder', topickle(fn2))
    p.push(table)

    expectation = (('foo', 'bar', 'baz'),
                   ('A', 1, 2), 
                   ('E', None))
    ieq(expectation, frompickle(fn1))

    exremainder = (('foo', 'bar', 'baz'),
                   ('B', '2', '3.4'),
                   ('B', u'3', u'7.8', True),
                   ('B', '2', 42),
                   ('D', 'xyz', 9.0),
                   ('D', 4, 12.3))
    ieq(exremainder, frompickle(fn2))
示例#4
0
def test_diff():

    tablea = (("foo", "bar", "baz"), ("A", 1, True), ("B", 2, False), ("C", 7, False), ("C", 9, True))

    tableb = (("x", "y", "z"), ("A", 9, False), ("B", 2, False), ("B", 3, True), ("C", 9, True))

    aminusb = (("foo", "bar", "baz"), ("A", 1, True), ("C", 7, False))

    bminusa = (("foo", "bar", "baz"), ("A", 9, False), ("B", 3, True))

    both = (("foo", "bar", "baz"), ("B", 2, False), ("C", 9, True))

    fn1 = NamedTemporaryFile().name
    fn2 = NamedTemporaryFile().name
    fn3 = NamedTemporaryFile().name
    p = diff()
    p.pipe("+", topickle(fn1))
    p.pipe("-", topickle(fn2))
    p.pipe(topickle(fn3))
    p.push(tablea, tableb)

    added, subtracted, common = (frompickle(fn1), frompickle(fn2), frompickle(fn3))
    ieq(bminusa, added)
    ieq(aminusb, subtracted)
    ieq(both, common)
示例#5
0
def test_diff():

    tablea = (('foo', 'bar', 'baz'), ('A', 1, True), ('B', 2, False),
              ('C', 7, False), ('C', 9, True))

    tableb = (('x', 'y', 'z'), ('A', 9, False), ('B', 2, False),
              ('B', 3, True), ('C', 9, True))

    aminusb = (('foo', 'bar', 'baz'), ('A', 1, True), ('C', 7, False))

    bminusa = (('foo', 'bar', 'baz'), ('A', 9, False), ('B', 3, True))

    both = (('foo', 'bar', 'baz'), ('B', 2, False), ('C', 9, True))

    f1 = NamedTemporaryFile(delete=False)
    f2 = NamedTemporaryFile(delete=False)
    f3 = NamedTemporaryFile(delete=False)
    p = diff()
    p.pipe('+', topickle(f1.name))
    p.pipe('-', topickle(f2.name))
    p.pipe(topickle(f3.name))
    p.push(tablea, tableb)

    added, subtracted, common = frompickle(f1.name), frompickle(
        f2.name), frompickle(f3.name)
    ieq(bminusa, added)
    ieq(aminusb, subtracted)
    ieq(both, common)
示例#6
0
def test_unique():

    table = (
        ("foo", "bar", "baz"),
        ("A", 1, 2),
        ("B", "2", "3.4"),
        ("D", "xyz", 9.0),
        ("B", u"3", u"7.8", True),
        ("B", "2", 42),
        ("E", None),
        ("D", 4, 12.3),
    )

    f1 = NamedTemporaryFile(delete=False)
    f2 = NamedTemporaryFile(delete=False)
    p = sort("foo")
    q = p.pipe(unique("foo"))
    q.pipe(topickle(f1.name))
    q.pipe("remainder", topickle(f2.name))
    p.push(table)

    expectation = (("foo", "bar", "baz"), ("A", 1, 2), ("E", None))
    ieq(expectation, frompickle(f1.name))

    exremainder = (
        ("foo", "bar", "baz"),
        ("B", "2", "3.4"),
        ("B", u"3", u"7.8", True),
        ("B", "2", 42),
        ("D", "xyz", 9.0),
        ("D", 4, 12.3),
    )
    ieq(exremainder, frompickle(f2.name))
示例#7
0
def test_duplicates():

    table = (
        ("foo", "bar", "baz"),
        ("A", 1, 2),
        ("B", "2", "3.4"),
        ("D", "xyz", 9.0),
        ("B", u"3", u"7.8", True),
        ("B", "2", 42),
        ("E", None),
        ("D", 4, 12.3),
    )

    fn1 = NamedTemporaryFile().name
    fn2 = NamedTemporaryFile().name
    p = sort("foo")
    q = p.pipe(duplicates("foo"))
    q.pipe(topickle(fn1))
    q.pipe("remainder", topickle(fn2))
    p.push(table)

    expectation = (
        ("foo", "bar", "baz"),
        ("B", "2", "3.4"),
        ("B", u"3", u"7.8", True),
        ("B", "2", 42),
        ("D", "xyz", 9.0),
        ("D", 4, 12.3),
    )
    ieq(expectation, frompickle(fn1))

    exremainder = (("foo", "bar", "baz"), ("A", 1, 2), ("E", None))
    ieq(exremainder, frompickle(fn2))

    # test with compound key
    p = sort(key=("foo", "bar"))
    q = p.pipe(duplicates(key=("foo", "bar")))
    q.pipe(topickle(fn1))
    q.pipe("remainder", topickle(fn2))
    p.push(table)

    expectation = (("foo", "bar", "baz"), ("B", "2", "3.4"), ("B", "2", 42))
    ieq(expectation, frompickle(fn1))

    exremainder = (
        ("foo", "bar", "baz"),
        ("A", 1, 2),
        ("B", u"3", u"7.8", True),
        ("D", 4, 12.3),
        ("D", "xyz", 9.0),
        ("E", None),
    )
    ieq(exremainder, frompickle(fn2))
示例#8
0
def test_topickle_pipe():

    t = [('fruit', 'city', 'sales'), ('orange', 'London', 12),
         ('banana', 'London', 42), ('orange', 'Paris', 31),
         ('banana', 'Amsterdam', 74), ('kiwi', 'Berlin', 55)]

    f1 = NamedTemporaryFile(delete=False)
    f2 = NamedTemporaryFile(delete=False)
    p = topickle(f1.name)
    p.pipe(topickle(f2.name))
    p.push(t)

    ieq(t, frompickle(f1.name))
    ieq(t, frompickle(f2.name))
示例#9
0
def test_operator_overload():

    table = (
        ("foo", "bar", "baz"),
        ("A", 1, 2),
        ("B", "2", "3.4"),
        ("D", "xyz", 9.0),
        ("B", u"3", u"7.8", True),
        ("B", "2", 42),
        ("E", None),
        ("D", 4, 12.3),
    )

    f1 = NamedTemporaryFile(delete=False)
    p = sort("foo")
    p | duplicates("foo") | topickle(f1.name)
    p.push(table)

    expectation = (
        ("foo", "bar", "baz"),
        ("B", "2", "3.4"),
        ("B", u"3", u"7.8", True),
        ("B", "2", 42),
        ("D", "xyz", 9.0),
        ("D", 4, 12.3),
    )
    ieq(expectation, frompickle(f1.name))
示例#10
0
def test_topickle_pipe():

    t = [('fruit', 'city', 'sales'),
         ('orange', 'London', 12),
         ('banana', 'London', 42),
         ('orange', 'Paris', 31),
         ('banana', 'Amsterdam', 74),
         ('kiwi', 'Berlin', 55)]

    f1 = NamedTemporaryFile(delete=False)
    f2 = NamedTemporaryFile(delete=False)
    p = topickle(f1.name)
    p.pipe(topickle(f2.name))
    p.push(t)

    iassertequal(t, frompickle(f1.name))
    iassertequal(t, frompickle(f2.name))
示例#11
0
def test_topickle_pipe():

    t = [('fruit', 'city', 'sales'),
         ('orange', 'London', 12),
         ('banana', 'London', 42),
         ('orange', 'Paris', 31),
         ('banana', 'Amsterdam', 74),
         ('kiwi', 'Berlin', 55)]

    fn1 = NamedTemporaryFile().name
    fn2 = NamedTemporaryFile().name
    p = topickle(fn1)
    p.pipe(topickle(fn2))
    p.push(t)

    ieq(t, frompickle(fn1))
    ieq(t, frompickle(fn2))
示例#12
0
def test_topickle_pipe():

    t = [
        ("fruit", "city", "sales"),
        ("orange", "London", 12),
        ("banana", "London", 42),
        ("orange", "Paris", 31),
        ("banana", "Amsterdam", 74),
        ("kiwi", "Berlin", 55),
    ]

    f1 = NamedTemporaryFile(delete=False)
    f2 = NamedTemporaryFile(delete=False)
    p = topickle(f1.name)
    p.pipe(topickle(f2.name))
    p.push(t)

    ieq(t, frompickle(f1.name))
    ieq(t, frompickle(f2.name))
示例#13
0
def test_topickle_pipe():

    t = [
        ("fruit", "city", "sales"),
        ("orange", "London", 12),
        ("banana", "London", 42),
        ("orange", "Paris", 31),
        ("banana", "Amsterdam", 74),
        ("kiwi", "Berlin", 55),
    ]

    fn1 = NamedTemporaryFile().name
    fn2 = NamedTemporaryFile().name
    p = topickle(fn1)
    p.pipe(topickle(fn2))
    p.push(t)

    ieq(t, frompickle(fn1))
    ieq(t, frompickle(fn2))
示例#14
0
def test_sort():
    table = (("foo", "bar"), ("C", "2"), ("A", "9"), ("A", "6"), ("F", "1"), ("D", "10"))

    fn = NamedTemporaryFile().name
    p = sort("foo")
    p.pipe(topickle(fn))
    p.push(table)

    expectation = (("foo", "bar"), ("A", "9"), ("A", "6"), ("C", "2"), ("D", "10"), ("F", "1"))
    ieq(expectation, frompickle(fn))
示例#15
0
def test_topickle():

    t = [('fruit', 'city', 'sales'), ('orange', 'London', 12),
         ('banana', 'London', 42), ('orange', 'Paris', 31),
         ('banana', 'Amsterdam', 74), ('kiwi', 'Berlin', 55)]

    f = NamedTemporaryFile(delete=False)
    p = topickle(f.name)
    p.push(t)

    iassertequal(t, frompickle(f.name))
示例#16
0
def test_sort_buffered():
    table = (("foo", "bar"), ("C", "2"), ("A", "9"), ("A", "6"), ("F", "1"), ("D", "10"))

    fn = NamedTemporaryFile().name
    p = sort("foo", buffersize=2)
    p.pipe(topickle(fn))
    p.push(table)

    expectation = (("foo", "bar"), ("A", "9"), ("A", "6"), ("C", "2"), ("D", "10"), ("F", "1"))
    actual = frompickle(fn)
    ieq(expectation, actual)
示例#17
0
def test_unique():

    table = (('foo', 'bar', 'baz'), ('A', 1, 2), ('B', '2', '3.4'),
             ('D', 'xyz', 9.0), ('B', u'3', u'7.8', True), ('B', '2', 42),
             ('E', None), ('D', 4, 12.3))

    f1 = NamedTemporaryFile(delete=False)
    f2 = NamedTemporaryFile(delete=False)
    p = sort('foo')
    q = p.pipe(unique('foo'))
    q.pipe(topickle(f1.name))
    q.pipe('remainder', topickle(f2.name))
    p.push(table)

    expectation = (('foo', 'bar', 'baz'), ('A', 1, 2), ('E', None))
    iassertequal(expectation, frompickle(f1.name))

    exremainder = (('foo', 'bar', 'baz'), ('B', '2', '3.4'), ('B', u'3',
                                                              u'7.8', True),
                   ('B', '2', 42), ('D', 'xyz', 9.0), ('D', 4, 12.3))
    iassertequal(exremainder, frompickle(f2.name))
示例#18
0
def test_diff():

    tablea = (('foo', 'bar', 'baz'),
              ('A', 1, True),
              ('B', 2, False),
              ('C', 7, False),
              ('C', 9, True))
    
    tableb = (('x', 'y', 'z'),
              ('A', 9, False),
              ('B', 2, False),
              ('B', 3, True),
              ('C', 9, True))
    
    aminusb = (('foo', 'bar', 'baz'),
               ('A', 1, True),
               ('C', 7, False))
    
    bminusa = (('foo', 'bar', 'baz'),
               ('A', 9, False),
               ('B', 3, True))

    both = (('foo', 'bar', 'baz'),
            ('B', 2, False),
            ('C', 9, True))

    fn1 = NamedTemporaryFile().name
    fn2 = NamedTemporaryFile().name
    fn3 = NamedTemporaryFile().name
    p = diff()
    p.pipe('+', topickle(fn1))
    p.pipe('-', topickle(fn2))
    p.pipe(topickle(fn3))
    p.push(tablea, tableb)

    added, subtracted, common = (frompickle(fn1), frompickle(fn2),
                                 frompickle(fn3))
    ieq(bminusa, added)
    ieq(aminusb, subtracted)
    ieq(both, common)
示例#19
0
def test_diff():

    tablea = (('foo', 'bar', 'baz'),
              ('A', 1, True),
              ('B', 2, False),
              ('C', 7, False),
              ('C', 9, True))
    
    tableb = (('x', 'y', 'z'),
              ('A', 9, False),
              ('B', 2, False),
              ('B', 3, True),
              ('C', 9, True))
    
    aminusb = (('foo', 'bar', 'baz'),
               ('A', 1, True),
               ('C', 7, False))
    
    bminusa = (('foo', 'bar', 'baz'),
               ('A', 9, False),
               ('B', 3, True))

    both = (('foo', 'bar', 'baz'),
           ('B', 2, False),
           ('C', 9, True))

    f1 = NamedTemporaryFile(delete=False)
    f2 = NamedTemporaryFile(delete=False)
    f3 = NamedTemporaryFile(delete=False)
    p = diff()
    p.pipe('+', topickle(f1.name))
    p.pipe('-', topickle(f2.name))
    p.pipe(topickle(f3.name))
    p.push(tablea, tableb)

    added, subtracted, common = frompickle(f1.name), frompickle(f2.name), frompickle(f3.name)
    iassertequal(bminusa, added)
    iassertequal(aminusb, subtracted)
    iassertequal(both, common)
示例#20
0
def test_sort():

    table = (('foo', 'bar'), ('C', '2'), ('A', '9'), ('A', '6'), ('F', '1'),
             ('D', '10'))

    f = NamedTemporaryFile(delete=False)
    p = sort('foo')
    p.pipe(topickle(f.name))
    p.push(table)

    expectation = (('foo', 'bar'), ('A', '9'), ('A', '6'), ('C', '2'),
                   ('D', '10'), ('F', '1'))
    ieq(expectation, frompickle(f.name))
示例#21
0
def test_sort_buffered():

    table = (("foo", "bar"), ("C", "2"), ("A", "9"), ("A", "6"), ("F", "1"), ("D", "10"))

    f = NamedTemporaryFile(delete=False)
    p = sort("foo", buffersize=2)
    p.pipe(topickle(f.name))
    p.push(table)

    expectation = (("foo", "bar"), ("A", "9"), ("A", "6"), ("C", "2"), ("D", "10"), ("F", "1"))
    actual = frompickle(f.name)
    print list(actual)
    ieq(expectation, actual)
示例#22
0
def test_duplicates():

    table = (('foo', 'bar', 'baz'), ('A', 1, 2), ('B', '2', '3.4'),
             ('D', 'xyz', 9.0), ('B', u'3', u'7.8', True), ('B', '2', 42),
             ('E', None), ('D', 4, 12.3))

    f1 = NamedTemporaryFile(delete=False)
    f2 = NamedTemporaryFile(delete=False)
    p = sort('foo')
    q = p.pipe(duplicates('foo'))
    q.pipe(topickle(f1.name))
    q.pipe('remainder', topickle(f2.name))
    p.push(table)

    expectation = (('foo', 'bar', 'baz'), ('B', '2', '3.4'), ('B', u'3',
                                                              u'7.8', True),
                   ('B', '2', 42), ('D', 'xyz', 9.0), ('D', 4, 12.3))
    ieq(expectation, frompickle(f1.name))

    exremainder = (('foo', 'bar', 'baz'), ('A', 1, 2), ('E', None))
    ieq(exremainder, frompickle(f2.name))

    # test with compound key
    p = sort(key=('foo', 'bar'))
    q = p.pipe(duplicates(key=('foo', 'bar')))
    q.pipe(topickle(f1.name))
    q.pipe('remainder', topickle(f2.name))
    p.push(table)

    expectation = (('foo', 'bar', 'baz'), ('B', '2', '3.4'), ('B', '2', 42))
    ieq(expectation, frompickle(f1.name))

    exremainder = (('foo', 'bar', 'baz'), ('A', 1, 2), ('B', u'3', u'7.8',
                                                        True), ('D', 4, 12.3),
                   ('D', 'xyz', 9.0), ('E', None))
    ieq(exremainder, frompickle(f2.name))
示例#23
0
def test_operator_overload():

    table = (('foo', 'bar', 'baz'), ('A', 1, 2), ('B', '2', '3.4'),
             ('D', 'xyz', 9.0), ('B', u'3', u'7.8', True), ('B', '2', 42),
             ('E', None), ('D', 4, 12.3))

    f1 = NamedTemporaryFile(delete=False)
    p = sort('foo')
    p | duplicates('foo') | topickle(f1.name)
    p.push(table)

    expectation = (('foo', 'bar', 'baz'), ('B', '2', '3.4'), ('B', u'3',
                                                              u'7.8', True),
                   ('B', '2', 42), ('D', 'xyz', 9.0), ('D', 4, 12.3))
    ieq(expectation, frompickle(f1.name))
示例#24
0
def test_sort_buffered():

    table = (('foo', 'bar'), ('C', '2'), ('A', '9'), ('A', '6'), ('F', '1'),
             ('D', '10'))

    f = NamedTemporaryFile(delete=False)
    p = sort('foo', buffersize=2)
    p.pipe(topickle(f.name))
    p.push(table)

    expectation = (('foo', 'bar'), ('A', '9'), ('A', '6'), ('C', '2'),
                   ('D', '10'), ('F', '1'))
    actual = frompickle(f.name)
    print list(actual)
    ieq(expectation, actual)
示例#25
0
def test_sort_buffered():
    table = (('foo', 'bar'),
             ('C', '2'),
             ('A', '9'),
             ('A', '6'),
             ('F', '1'),
             ('D', '10'))
    
    fn = NamedTemporaryFile().name
    p = sort('foo', buffersize=2)
    p.pipe(topickle(fn))
    p.push(table)

    expectation = (('foo', 'bar'),
                   ('A', '9'),
                   ('A', '6'),
                   ('C', '2'),
                   ('D', '10'),
                   ('F', '1'))
    actual = frompickle(fn)
    ieq(expectation, actual)
示例#26
0
def test_sort():

    table = (('foo', 'bar'),
            ('C', '2'),
            ('A', '9'),
            ('A', '6'),
            ('F', '1'),
            ('D', '10'))
    
    f = NamedTemporaryFile(delete=False)
    p = sort('foo')
    p.pipe(topickle(f.name))
    p.push(table)

    expectation = (('foo', 'bar'),
                   ('A', '9'),
                   ('A', '6'),
                   ('C', '2'),
                   ('D', '10'),
                   ('F', '1'))
    iassertequal(expectation, frompickle(f.name))
示例#27
0
def test_operator_overload():

    table = (('foo', 'bar', 'baz'),
             ('A', 1, 2),
             ('B', '2', '3.4'),
             ('D', 'xyz', 9.0),
             ('B', u'3', u'7.8', True),
             ('B', '2', 42),
             ('E', None),
             ('D', 4, 12.3))

    f1 = NamedTemporaryFile(delete=False)
    p = sort('foo')
    p | duplicates('foo') | topickle(f1.name)
    p.push(table)

    expectation = (('foo', 'bar', 'baz'),
                   ('B', '2', '3.4'),
                   ('B', u'3', u'7.8', True),
                   ('B', '2', 42),
                   ('D', 'xyz', 9.0),
                   ('D', 4, 12.3))
    iassertequal(expectation, frompickle(f1.name))
示例#28
0
def test_sort_buffered():

    table = (('foo', 'bar'),
            ('C', '2'),
            ('A', '9'),
            ('A', '6'),
            ('F', '1'),
            ('D', '10'))
    
    f = NamedTemporaryFile(delete=False)
    p = sort('foo', buffersize=2)
    p.pipe(topickle(f.name))
    p.push(table)

    expectation = (('foo', 'bar'),
                   ('A', '9'),
                   ('A', '6'),
                   ('C', '2'),
                   ('D', '10'),
                   ('F', '1'))
    actual = frompickle(f.name)
    print list(actual)
    iassertequal(expectation, actual)