Пример #1
0
def test_select_falsey():
    table = (('foo',), 
             ([],),
             ('',))
    expect = (('foo',),)
    actual = select(table, '{foo}')
    ieq(expect, actual)
Пример #2
0
def test_select_falsey():
    table = (('foo',), 
             ([],),
             ('',))
    expect = (('foo',),)
    actual = select(table, '{foo}')
    ieq(expect, actual)
Пример #3
0
def test_recordselect():

    table = (('foo', 'bar', 'baz'), ('a', 4, 9.3), ('a', 2, 88.2),
             ('b', 1, 23.3), ('c', 8, 42.0), ('d', 7, 100.9), ('c', 2))

    actual = select(table, lambda rec: rec['foo'] == 'a')
    expect = (('foo', 'bar', 'baz'), ('a', 4, 9.3), ('a', 2, 88.2))
    ieq(expect, actual)
    ieq(expect, actual)  # check can iterate twice
Пример #4
0
def test_recordselect():
    
    table = (('foo', 'bar', 'baz'),
             ('a', 4, 9.3),
             ('a', 2, 88.2),
             ('b', 1, 23.3),
             ('c', 8, 42.0),
             ('d', 7, 100.9),
             ('c', 2))

    actual = select(table, lambda rec: rec['foo'] == 'a')
    expect = (('foo', 'bar', 'baz'),
              ('a', 4, 9.3),
              ('a', 2, 88.2))
    ieq(expect, actual)
    ieq(expect, actual)  # check can iterate twice
Пример #5
0
def test_select():

    table = (('foo', 'bar', 'baz'), ('a', 4, 9.3), ('a', 2, 88.2),
             ('b', 1, 23.3), ('c', 8, 42.0), ('d', 7, 100.9), ('c', 2))

    actual = select(table, lambda rec: rec[0] == 'a')
    expect = (('foo', 'bar', 'baz'), ('a', 4, 9.3), ('a', 2, 88.2))
    ieq(expect, actual)
    ieq(expect, actual)  # check can iterate twice

    table = (('foo', 'bar', 'baz'), ('a', 4, 9.3), ('a', 2, 88.2),
             ('b', 1, 23.3), ('c', 8, 42.0), ('d', 7, 100.9), ('c', 2))

    actual = select(table, lambda rec: rec['foo'] == 'a')
    expect = (('foo', 'bar', 'baz'), ('a', 4, 9.3), ('a', 2, 88.2))
    ieq(expect, actual)
    ieq(expect, actual)  # check can iterate twice

    table = (('foo', 'bar', 'baz'), ('a', 4, 9.3), ('a', 2, 88.2),
             ('b', 1, 23.3), ('c', 8, 42.0), ('d', 7, 100.9), ('c', 2))

    actual = select(table, lambda rec: rec.foo == 'a')
    expect = (('foo', 'bar', 'baz'), ('a', 4, 9.3), ('a', 2, 88.2))
    ieq(expect, actual)
    ieq(expect, actual)  # check can iterate twice

    # check select complement
    actual = select(table, lambda rec: rec['foo'] == 'a', complement=True)
    expect = (('foo', 'bar', 'baz'), ('b', 1, 23.3), ('c', 8, 42.0),
              ('d', 7, 100.9), ('c', 2))
    ieq(expect, actual)
    ieq(expect, actual)  # check can iterate twice

    actual = select(table, lambda rec: rec['foo'] == 'a' and rec['bar'] > 3)
    expect = (('foo', 'bar', 'baz'), ('a', 4, 9.3))
    ieq(expect, actual)

    actual = select(table, "{foo} == 'a'")
    expect = (('foo', 'bar', 'baz'), ('a', 4, 9.3), ('a', 2, 88.2))
    ieq(expect, actual)

    actual = select(table, "{foo} == 'a' and {bar} > 3")
    expect = (('foo', 'bar', 'baz'), ('a', 4, 9.3))
    ieq(expect, actual)

    # check error handling on short rows
    actual = select(table, lambda rec: Comparable(rec['baz']) > 88.1)
    expect = (('foo', 'bar', 'baz'), ('a', 2, 88.2), ('d', 7, 100.9))
    ieq(expect, actual)

    # check single field tests
    actual = select(table, 'foo', lambda v: v == 'a')
    expect = (('foo', 'bar', 'baz'), ('a', 4, 9.3), ('a', 2, 88.2))
    ieq(expect, actual)
    ieq(expect, actual)  # check can iterate twice

    # check select complement
    actual = select(table, 'foo', lambda v: v == 'a', complement=True)
    expect = (('foo', 'bar', 'baz'), ('b', 1, 23.3), ('c', 8, 42.0),
              ('d', 7, 100.9), ('c', 2))
    ieq(expect, actual)
    ieq(expect, actual)  # check can iterate twice
Пример #6
0
def test_select_empty():
    table = (('foo', 'bar'), )
    expect = (('foo', 'bar'), )
    actual = select(table, lambda r: r['foo'] == r['bar'])
    ieq(expect, actual)
Пример #7
0
def test_select():
    
    table = (('foo', 'bar', 'baz'),
             ('a', 4, 9.3),
             ('a', 2, 88.2),
             ('b', 1, 23.3),
             ('c', 8, 42.0),
             ('d', 7, 100.9),
             ('c', 2))

    actual = select(table, lambda rec: rec[0] == 'a')
    expect = (('foo', 'bar', 'baz'),
              ('a', 4, 9.3),
              ('a', 2, 88.2))
    ieq(expect, actual)
    ieq(expect, actual)  # check can iterate twice
 
    table = (('foo', 'bar', 'baz'),
             ('a', 4, 9.3),
             ('a', 2, 88.2),
             ('b', 1, 23.3),
             ('c', 8, 42.0),
             ('d', 7, 100.9),
             ('c', 2))

    actual = select(table, lambda rec: rec['foo'] == 'a')
    expect = (('foo', 'bar', 'baz'),
              ('a', 4, 9.3),
              ('a', 2, 88.2))
    ieq(expect, actual)
    ieq(expect, actual)  # check can iterate twice
 
    table = (('foo', 'bar', 'baz'),
             ('a', 4, 9.3),
             ('a', 2, 88.2),
             ('b', 1, 23.3),
             ('c', 8, 42.0),
             ('d', 7, 100.9),
             ('c', 2))

    actual = select(table, lambda rec: rec.foo == 'a')
    expect = (('foo', 'bar', 'baz'),
              ('a', 4, 9.3),
              ('a', 2, 88.2))
    ieq(expect, actual)
    ieq(expect, actual)  # check can iterate twice
 
    # check select complement
    actual = select(table, lambda rec: rec['foo'] == 'a', complement=True)
    expect = (('foo', 'bar', 'baz'),
              ('b', 1, 23.3),
              ('c', 8, 42.0),
              ('d', 7, 100.9),
              ('c', 2))
    ieq(expect, actual)
    ieq(expect, actual)  # check can iterate twice

    actual = select(table, lambda rec: rec['foo'] == 'a' and rec['bar'] > 3)
    expect = (('foo', 'bar', 'baz'),
              ('a', 4, 9.3))
    ieq(expect, actual)

    actual = select(table, "{foo} == 'a'")
    expect = (('foo', 'bar', 'baz'),
              ('a', 4, 9.3),
              ('a', 2, 88.2))
    ieq(expect, actual)

    actual = select(table, "{foo} == 'a' and {bar} > 3")
    expect = (('foo', 'bar', 'baz'),
              ('a', 4, 9.3))
    ieq(expect, actual)

    # check error handling on short rows
    actual = select(table, lambda rec: Comparable(rec['baz']) > 88.1)
    expect = (('foo', 'bar', 'baz'),
              ('a', 2, 88.2),
              ('d', 7, 100.9))
    ieq(expect, actual)
    
    # check single field tests
    actual = select(table, 'foo', lambda v: v == 'a')
    expect = (('foo', 'bar', 'baz'),
              ('a', 4, 9.3),
              ('a', 2, 88.2))
    ieq(expect, actual)
    ieq(expect, actual)  # check can iterate twice
    
    # check select complement
    actual = select(table, 'foo', lambda v: v == 'a', complement=True)
    expect = (('foo', 'bar', 'baz'),
              ('b', 1, 23.3),
              ('c', 8, 42.0),
              ('d', 7, 100.9),
              ('c', 2))
    ieq(expect, actual)
    ieq(expect, actual)  # check can iterate twice
Пример #8
0
def test_select_empty():
    table = (('foo', 'bar'),)
    expect = (('foo', 'bar'),)
    actual = select(table, lambda r: r['foo'] == r['bar'])
    ieq(expect, actual)
Пример #9
0
def test_select():

    table = (
        ("foo", "bar", "baz"),
        ("a", 4, 9.3),
        ("a", 2, 88.2),
        ("b", 1, 23.3),
        ("c", 8, 42.0),
        ("d", 7, 100.9),
        ("c", 2),
    )

    actual = select(table, lambda rec: rec[0] == "a")
    expect = (("foo", "bar", "baz"), ("a", 4, 9.3), ("a", 2, 88.2))
    ieq(expect, actual)
    ieq(expect, actual)  # check can iterate twice

    table = (
        ("foo", "bar", "baz"),
        ("a", 4, 9.3),
        ("a", 2, 88.2),
        ("b", 1, 23.3),
        ("c", 8, 42.0),
        ("d", 7, 100.9),
        ("c", 2),
    )

    actual = select(table, lambda rec: rec["foo"] == "a")
    expect = (("foo", "bar", "baz"), ("a", 4, 9.3), ("a", 2, 88.2))
    ieq(expect, actual)
    ieq(expect, actual)  # check can iterate twice

    table = (
        ("foo", "bar", "baz"),
        ("a", 4, 9.3),
        ("a", 2, 88.2),
        ("b", 1, 23.3),
        ("c", 8, 42.0),
        ("d", 7, 100.9),
        ("c", 2),
    )

    actual = select(table, lambda rec: rec.foo == "a")
    expect = (("foo", "bar", "baz"), ("a", 4, 9.3), ("a", 2, 88.2))
    ieq(expect, actual)
    ieq(expect, actual)  # check can iterate twice

    # check select complement
    actual = select(table, lambda rec: rec["foo"] == "a", complement=True)
    expect = (("foo", "bar", "baz"), ("b", 1, 23.3), ("c", 8, 42.0), ("d", 7, 100.9), ("c", 2))
    ieq(expect, actual)
    ieq(expect, actual)  # check can iterate twice

    actual = select(table, lambda rec: rec["foo"] == "a" and rec["bar"] > 3)
    expect = (("foo", "bar", "baz"), ("a", 4, 9.3))
    ieq(expect, actual)

    actual = select(table, "{foo} == 'a'")
    expect = (("foo", "bar", "baz"), ("a", 4, 9.3), ("a", 2, 88.2))
    ieq(expect, actual)

    actual = select(table, "{foo} == 'a' and {bar} > 3")
    expect = (("foo", "bar", "baz"), ("a", 4, 9.3))
    ieq(expect, actual)

    # check error handling on short rows
    actual = select(table, lambda rec: rec["baz"] > 88.1)
    expect = (("foo", "bar", "baz"), ("a", 2, 88.2), ("d", 7, 100.9))
    ieq(expect, actual)

    # check single field tests
    actual = select(table, "foo", lambda v: v == "a")
    expect = (("foo", "bar", "baz"), ("a", 4, 9.3), ("a", 2, 88.2))
    ieq(expect, actual)
    ieq(expect, actual)  # check can iterate twice

    # check select complement
    actual = select(table, "foo", lambda v: v == "a", complement=True)
    expect = (("foo", "bar", "baz"), ("b", 1, 23.3), ("c", 8, 42.0), ("d", 7, 100.9), ("c", 2))
    ieq(expect, actual)
    ieq(expect, actual)  # check can iterate twice
Пример #10
0
def test_select_empty():
    table = (("foo", "bar"),)
    expect = (("foo", "bar"),)
    actual = select(table, lambda r: r["foo"] == r["bar"])
    ieq(expect, actual)