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}}
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
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}}
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