示例#1
0
def test_filter_and_limit():
    grid = Grid(columns={'id': {}, 'site': {}})
    grid.append({
        'id': Ref('id1'),
        'site': MARKER,
        'equip': 'Chicago',
        'geoPostalCode': "78280",
        'ahu': MARKER,
        'geoCity': 'Chicago',
        'curVal': 76
    })
    grid.append({
        'id': Ref('id2'),
        'hvac': MARKER,
        'geoPostalCode': "23220",
        'curVal': 75
    })
    grid.append({
        'equip': 'Chicago',
        'hvac': MARKER,
        'siteRef': Ref('id1'),
        'curVal': 74
    })

    assert len(grid.filter('not acme', limit=1)) == 1
示例#2
0
def test_grid_filter():
    grid = Grid(
        columns={
            'id': {},
            'site': {},
            'equip': {},
            'geoPostalCode': {},
            'ahu': {},
            'geoCity': {},
            'curVal': {},
            'hvac': {},
            'siteRef': {}
        })
    grid.append({
        'id': Ref('id1'),
        'site': MARKER,
        'equip': 'Chicago',
        'geoPostalCode': "78280",
        'ahu': MARKER,
        'geoCity': 'Chicago',
        'curVal': 76
    })
    grid.append({
        'id': Ref('id2'),
        'hvac': MARKER,
        'geoPostalCode': "23220",
        'curVal': 75
    })
    grid.append({
        'equip': 'Chicago',
        'hvac': MARKER,
        'siteRef': Ref('id1'),
        'curVal': 74
    })
    result = grid.filter('site')
    assert len(result) == 1
    assert result[Ref('id1')]

    result = grid.filter('equip == "Chicago"')
    assert len(result) == 2
    assert result[0]['id'] == Ref('id1')
    assert result[1]['equip'] == 'Chicago'

    result = grid.filter('not id')
    assert len(result) == 1
    assert result[0]['equip'] == 'Chicago'
示例#3
0
def test_multiple_and_filter():
    grid = Grid(
        columns={
            'id': {},
            'site': {},
            'equip': {},
            'geoPostalCode': {},
            'ahu': {},
            'geoCity': {},
            'curVal': {},
            'hvac': {},
            'siteRef': {}
        })
    grid.append({
        'id': Ref('id1'),
        'site': MARKER,
        'equip': 'Chicago',
        'geoPostalCode': "78280",
        'ahu': MARKER,
        'geoCity': 'Chicago',
        'curVal': 76
    })
    assert len(grid.filter("id and site and equip and geoPostalCode")) == 1
示例#4
0
def test_xstr():
    grid = Grid(columns={'id': {}, 'data': {}})
    grid.append({'id': Ref('id1'), 'data': XStr("hex", 'deadbeef')})

    assert len(grid.filter('data == hex("deadbeef")')) == 1
示例#5
0
def test_grid_specification_filter_sample():
    grid = Grid(columns=[
        'id', 'site', 'equip', 'geoPostalCode', 'ahu', 'geoCity', 'curVal',
        'hvac', 'siteRef'
    ])
    grid.append({
        'id': Ref('id1'),
        'site': MARKER,
        'equip': 'Chicago',
        'geoPostalCode': "78280",
        'ahu': MARKER,
        'geoCity': 'Chicago',
        'curVal': 76
    })
    grid.append({
        'id': Ref('id2'),
        'hvac': MARKER,
        'geoPostalCode': "23220",
        'curVal': 75
    })
    grid.append({
        'equip': 'Chicago',
        'hvac': MARKER,
        'siteRef': Ref('id1'),
        'curVal': 74
    })

    # specification samples
    result = grid.filter('site')
    assert len(result) == 1
    assert result[0]['site'] == MARKER

    result = grid.filter('geoPostalCode == "23220"')
    assert len(result) == 1
    assert result[0]['id'] == Ref('id2')

    result = grid.filter('geoPostalCode != "23220"')
    assert len(result) == 1
    assert result[0]['id'] == Ref('id1')

    result = grid.filter('curVal < 75')
    assert len(result) == 1
    assert result[0]['siteRef'] == Ref('id1')

    result = grid.filter('curVal <= 75')
    assert len(result) == 2
    assert result[0]['id'] == Ref('id2')
    assert result[1]['siteRef'] == Ref('id1')

    result = grid.filter('curVal > 75')
    assert len(result) == 1
    assert result[0]['id'] == Ref('id1')

    result = grid.filter('curVal >= 75')
    assert len(result) == 2
    assert result[0]['id'] == Ref('id1')
    assert result[1]['id'] == Ref('id2')

    result = grid.filter('site or equip')
    assert len(result) == 2
    assert result[0]['id'] == Ref('id1')
    assert result[0]['site']
    assert result[1]['siteRef'] == Ref('id1')
    assert result[1]['equip']

    result = grid.filter('equip and hvac')
    assert len(result) == 1
    assert result[0]['siteRef'] == Ref('id1')

    result = grid.filter('equip and not ahu')
    assert len(result) == 1
    assert result[0]['siteRef'] == Ref('id1')

    result = grid.filter('equip and siteRef->geoCity == "Chicago"')
    assert len(result) == 1
    assert result[0]['equip'] == 'Chicago'