Пример #1
0
def test_grid_getitem():
    g = Grid()
    g.column['test'] = {}

    row = {'test': 'This is a test'}
    g.append(row)
    assert g[0] is row
Пример #2
0
def test_grid_setitem():
    g = Grid()
    g.column['test'] = {}

    row_1 = {'test': 'This is a test'}
    row_2 = {'test': 'This is another test'}
    g.append(row_1)
    g[0] = row_2
    assert g[0] is row_2
Пример #3
0
def test_grid_append_nover_list():
    g = Grid()
    assert g.version == Version('2.0')
    g.column['test'] = {}

    row_1 = {'test': 'This is a test'}
    row_2 = {'test': ['This should fail']}
    g.append(row_1)
    assert g.version == Version('2.0')
    g.append(row_2)
    assert g.version == Version('3.0')
Пример #4
0
def test_grid_append_v2_list_fail():
    g = Grid(version='2.0')
    g.column['test'] = {}

    row_1 = {'test': 'This is a test'}
    row_2 = {'test': ['This should fail']}
    g.append(row_1)
    try:
        g.append(row_2)
        assert False, 'Appended invalid data type'
    except ValueError as e:
        assert str(e) == 'Data type requires version 3.0'
Пример #5
0
def test_slice():
    grid = Grid(columns={'id': {}, 'site': {}})
    grid.append({
        'id': 'id1',
    })
    grid.append({'id': 'id2'})
    grid.append({'id': 'id3'})

    result = grid[0:2]
    assert len(result) == 2
    assert result['id1']
    assert result['id2']
Пример #6
0
def test_grid_append_notdict():
    g = Grid()
    g.column['test'] = {}

    row_1 = {'test': 'This is a test'}
    row_2 = 'This is not a dict'
    g.append(row_1)
    try:
        g.append(row_2)
        assert False
    except TypeError as e:
        assert str(e) == 'value must be a dict'
        assert len(g) == 1
Пример #7
0
def test_grid_setitem_notdict():
    g = Grid()
    g.column['test'] = {}

    row = {'test': 'This is a test'}
    g.append(row)

    try:
        g[0] = 'This is not a dict'
        assert False, 'Accepted a string'
    except TypeError:
        pass
    assert len(g) == 1
    assert g[0]['test'] == 'This is a test'
Пример #8
0
def test_filter_and_limit():
    grid = Grid(columns={'id': {}, 'site': {}})
    grid.append({
        'id': 'id1',
        'site': MARKER,
        'equip': 'Chicago',
        'geoPostalCode': "78280",
        'ahu': MARKER,
        'geoCity': 'Chicago',
        'curVal': 76
    })
    grid.append({
        'id': '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
Пример #9
0
def test_grid_filter():
    grid = Grid(
        columns={
            'id': {},
            'site': {},
            'equip': {},
            'geoPostalCode': {},
            'ahu': {},
            'geoCity': {},
            'curVal': {},
            'hvac': {},
            'siteRef': {}
        })
    grid.append({
        'id': 'id1',
        'site': MARKER,
        'equip': 'Chicago',
        'geoPostalCode': "78280",
        'ahu': MARKER,
        'geoCity': 'Chicago',
        'curVal': 76
    })
    grid.append({
        'id': '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['id1']

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

    result = grid.filter('not id')
    assert len(result) == 1
    assert result[0]['equip'] == 'Chicago'
Пример #10
0
def test_slide_get():
    grid = Grid(
        columns={
            'id': {},
            'site': {},
            'equip': {},
            'geoPostalCode': {},
            'ahu': {},
            'geoCity': {},
            'curVal': {},
            'hvac': {},
            'siteRef': {}
        })
    grid.append({
        'id': 'id1',
        'site': MARKER,
        'equip': 'Chicago',
        'geoPostalCode': "78280",
        'ahu': MARKER,
        'geoCity': 'Chicago',
        'curVal': 76
    })
    grid.append({
        'id': 'id2',
        'hvac': MARKER,
        'geoPostalCode': "23220",
        'curVal': 75
    })
    grid.append({
        'equip': 'Chicago',
        'hvac': MARKER,
        'siteRef': Ref('id1'),
        'curVal': 74
    })
    assert len(grid[0:1]) == 1
    assert len(grid[1:]) == 2
    assert len(grid[:]) == 3
Пример #11
0
def test_grid_specification_filter_sample():
    grid = Grid(
        columns={
            'id': {},
            'site': {},
            'equip': {},
            'geoPostalCode': {},
            'ahu': {},
            'geoCity': {},
            'curVal': {},
            'hvac': {},
            'siteRef': {}
        })
    grid.append({
        'id': 'id1',
        'site': MARKER,
        'equip': 'Chicago',
        'geoPostalCode': "78280",
        'ahu': MARKER,
        'geoCity': 'Chicago',
        'curVal': 76
    })
    grid.append({
        'id': 'id2',
        'hvac': MARKER,
        'geoPostalCode': "23220",
        'curVal': 75
    })
    grid.append({
        'equip': 'Chicago',
        'hvac': MARKER,
        'siteRef': Ref('id1'),
        'curVal': 74
    })

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

    result = grid.filter('geoPostalCode != "23220"')
    assert len(result) == 1
    assert result[0]['id'] == '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'] == 'id2'
    assert result[1]['siteRef'] == Ref('id1')

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

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

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

    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'