Пример #1
0
def test_model_update():
    """Test updating an instrument model infos using a list of drivers infos.

    """
    d = [
        create_driver_infos('1'),
        create_driver_infos('2', connections={
            'c1': {
                'd2': 2
            },
            'c2': {}
        }),
        create_driver_infos('3', settings={
            's1': {
                'w': 2
            },
            's2': {}
        })
    ]
    i = InstrumentModelInfos()
    i.update(d)
    assert i.connections == {'c1': {'d': 1, 'd2': 2}, 'c2': {}}
    assert i.settings == {'s1': {'s': 1, 'w': 2}, 's2': {}}

    i.update([d[2]], removed=True)
    assert i.settings == {'s1': {'s': 1}}

    i.update([d[1]], removed=True)
    assert i.connections == {'c1': {'d': 1}}
Пример #2
0
def test_model_find_matching_drivers():
    """Test filtering the drivers based on connections and settings infos.

    """
    d = [
        create_driver_infos('1'),
        create_driver_infos('2', connections={
            'c1': {
                'd2': 2
            },
            'c2': {}
        }),
        create_driver_infos('3', settings={
            's1': {
                'w': 2
            },
            's2': {}
        })
    ]
    i = InstrumentModelInfos()
    i.update(d)

    c_filtered = i.find_matching_drivers('c2')
    assert len(c_filtered) == 1 and c_filtered[0].id == '2'

    s_filtered = i.find_matching_drivers('c1', 's2')
    assert len(s_filtered) == 1 and s_filtered[0].id == '3'

    assert i.find_matching_drivers('c1') == d
Пример #3
0
def test_model_update():
    """Test updating an instrument model infos using a list of drivers infos.

    """
    d = [create_driver_infos('1'),
         create_driver_infos('2', connections={'c1': {'d2': 2}, 'c2': {}}),
         create_driver_infos('3', settings={'s1': {'w': 2}, 's2': {}})
         ]
    i = InstrumentModelInfos()
    i.update(d)
    assert i.connections == {'c1': {'d': 1, 'd2': 2}, 'c2': {}}
    assert i.settings == {'s1': {'s': 1, 'w': 2}, 's2': {}}

    i.update([d[2]], removed=True)
    assert i.settings == {'s1': {'s': 1}}

    i.update([d[1]], removed=True)
    assert i.connections == {'c1': {'d': 1}}
Пример #4
0
def test_model_find_matching_drivers():
    """Test filtering the drivers based on connections and settings infos.

    """
    d = [create_driver_infos('1'),
         create_driver_infos('2', connections={'c1': {'d2': 2}, 'c2': {}}),
         create_driver_infos('3', settings={'s1': {'w': 2}, 's2': {}})
         ]
    i = InstrumentModelInfos()
    i.update(d)

    c_filtered = i.find_matching_drivers('c2')
    assert len(c_filtered) == 1 and c_filtered[0].id == '2'

    s_filtered = i.find_matching_drivers('c1', 's2')
    assert len(s_filtered) == 1 and s_filtered[0].id == '3'

    assert i.find_matching_drivers('c1') == d