def test_single_set(self): from pysd.py_backend.builder import merge_partial_elements self.assertEqual( merge_partial_elements( [{'py_name': 'a', 'py_expr': 'ms', 'subs': ['Name1', 'element1'], 'real_name': 'A', 'doc': 'Test', 'unit': None, 'eqn': 'eq1', 'lims': '', 'kind': 'component', 'arguments': ''}, {'py_name': 'a', 'py_expr': 'njk', 'subs': ['Name1', 'element2'], 'real_name': 'A', 'doc': None, 'unit': None, 'eqn': 'eq2', 'lims': '', 'kind': 'component', 'arguments': ''}, {'py_name': 'a', 'py_expr': 'as', 'subs': ['Name1', 'element3'], 'real_name': 'A', 'doc': '', 'unit': None, 'eqn': 'eq3', 'lims': '', 'kind': 'component', 'arguments': ''}]), [{'py_name': 'a', 'py_expr': ['ms', 'njk', 'as'], 'subs': [['Name1', 'element1'], ['Name1', 'element2'], ['Name1', 'element3']], 'kind': 'component', 'doc': 'Test', 'real_name': 'A', 'unit': None, 'eqn': ['eq1', 'eq2', 'eq3'], 'lims': '', 'arguments': '' }])
def test_non_set(self): from pysd.py_backend.builder import merge_partial_elements actual = merge_partial_elements( [{'py_name': 'a', 'py_expr': 'ms', 'subs': ['Name1', 'element1'], 'real_name': 'A', 'doc': 'Test', 'unit': None, 'kind': 'component', 'arguments': ''}, {'py_name': 'a', 'py_expr': 'njk', 'subs': ['Name1', 'element2'], 'real_name': 'A', 'doc': None, 'unit': None, 'kind': 'component', 'arguments': ''}, {'py_name': 'c', 'py_expr': 'as', 'subs': ['Name1', 'element3'], 'real_name': 'C', 'doc': 'hi', 'unit': None, 'kind': 'component', 'arguments': ''}, ]) expected = [{'py_name': 'a', 'py_expr': ['ms', 'njk'], 'subs': [['Name1', 'element1'], ['Name1', 'element2']], 'kind': 'component', 'doc': 'Test', 'real_name': 'A', 'unit': None, 'arguments': '' }, {'py_name': 'c', 'py_expr': ['as'], 'subs': [['Name1', 'element3']], 'kind': 'component', 'doc': 'hi', 'real_name': 'C', 'unit': None, 'arguments': '' }] self.assertIn(actual[0], expected) self.assertIn(actual[1], expected)
def test_single_set(self): from pysd.py_backend.builder import merge_partial_elements self.assertEqual( merge_partial_elements( [{'py_name': 'a', 'py_expr': 'ms', 'subs': ['Name1', 'element1'], 'real_name': 'A', 'doc': 'Test', 'unit': None, 'eqn': '', 'lims': '', 'kind': 'component', 'arguments': ''}, {'py_name': 'a', 'py_expr': 'njk', 'subs': ['Name1', 'element2'], 'real_name': 'A', 'doc': None, 'unit': None, 'eqn': '', 'lims': '', 'kind': 'component', 'arguments': ''}, {'py_name': 'a', 'py_expr': 'as', 'subs': ['Name1', 'element3'], 'real_name': 'A', 'doc': '', 'unit': None, 'eqn': '', 'lims': '', 'kind': 'component', 'arguments': ''}]), [{'py_name': 'a', 'py_expr': ['ms', 'njk', 'as'], 'subs': [['Name1', 'element1'], ['Name1', 'element2'], ['Name1', 'element3']], 'kind': 'component', 'doc': 'Test', 'real_name': 'A', 'unit': None, 'eqn': '', 'lims': '', 'arguments': '' }])
def test_multiple_sets(self): from pysd.py_backend.builder import merge_partial_elements actual = merge_partial_elements( [{'py_name': 'a', 'py_expr': 'ms', 'subs': ['Name1', 'element1'], 'real_name': 'A', 'doc': 'Test', 'unit': None, 'eqn': 'eq1', 'lims': '', 'kind': 'component', 'arguments': ''}, {'py_name': 'a', 'py_expr': 'njk', 'subs': ['Name1', 'element2'], 'real_name': 'A', 'doc': None, 'unit': None, 'eqn': 'eq2', 'lims': '', 'kind': 'component', 'arguments': ''}, {'py_name': 'a', 'py_expr': 'as', 'subs': ['Name1', 'element3'], 'real_name': 'A', 'doc': '', 'unit': None, 'eqn': 'eq3', 'lims': '', 'kind': 'component', 'arguments': ''}, {'py_name': 'b', 'py_expr': 'bgf', 'subs': ['Name1', 'element1'], 'real_name': 'B', 'doc': 'Test', 'unit': None, 'eqn': 'eq4', 'lims': '', 'kind': 'component', 'arguments': ''}, {'py_name': 'b', 'py_expr': 'r4', 'subs': ['Name1', 'element2'], 'real_name': 'B', 'doc': None, 'unit': None, 'eqn': 'eq5', 'lims': '', 'kind': 'component', 'arguments': ''}, {'py_name': 'b', 'py_expr': 'ymt', 'subs': ['Name1', 'element3'], 'real_name': 'B', 'doc': '', 'unit': None, 'eqn': 'eq6', 'lims': '', 'kind': 'component', 'arguments': ''}]) expected = [{'py_name': 'a', 'py_expr': ['ms', 'njk', 'as'], 'subs': [['Name1', 'element1'], ['Name1', 'element2'], ['Name1', 'element3']], 'kind': 'component', 'doc': 'Test', 'real_name': 'A', 'unit': None, 'eqn': ['eq1', 'eq2', 'eq3'], 'lims': '', 'arguments': '' }, {'py_name': 'b', 'py_expr': ['bgf', 'r4', 'ymt'], 'subs': [['Name1', 'element1'], ['Name1', 'element2'], ['Name1', 'element3']], 'kind': 'component', 'doc': 'Test', 'real_name': 'B', 'unit': None, 'eqn': ['eq4', 'eq5', 'eq6'], 'lims': '', 'arguments': '' }] self.assertIn(actual[0], expected) self.assertIn(actual[1], expected)
def test_multiple_sets(self): from pysd.py_backend.builder import merge_partial_elements actual = merge_partial_elements( [{'py_name': 'a', 'py_expr': 'ms', 'subs': ['Name1', 'element1'], 'real_name': 'A', 'doc': 'Test', 'unit': None, 'eqn': '', 'lims': '', 'kind': 'component', 'arguments': ''}, {'py_name': 'a', 'py_expr': 'njk', 'subs': ['Name1', 'element2'], 'real_name': 'A', 'doc': None, 'unit': None, 'eqn': '', 'lims': '', 'kind': 'component', 'arguments': ''}, {'py_name': 'a', 'py_expr': 'as', 'subs': ['Name1', 'element3'], 'real_name': 'A', 'doc': '', 'unit': None, 'eqn': '', 'lims': '', 'kind': 'component', 'arguments': ''}, {'py_name': 'b', 'py_expr': 'bgf', 'subs': ['Name1', 'element1'], 'real_name': 'B', 'doc': 'Test', 'unit': None, 'eqn': '', 'lims': '', 'kind': 'component', 'arguments': ''}, {'py_name': 'b', 'py_expr': 'r4', 'subs': ['Name1', 'element2'], 'real_name': 'B', 'doc': None, 'unit': None, 'eqn': '', 'lims': '', 'kind': 'component', 'arguments': ''}, {'py_name': 'b', 'py_expr': 'ymt', 'subs': ['Name1', 'element3'], 'real_name': 'B', 'doc': '', 'unit': None, 'eqn': '', 'lims': '', 'kind': 'component', 'arguments': ''}]) expected = [{'py_name': 'a', 'py_expr': ['ms', 'njk', 'as'], 'subs': [['Name1', 'element1'], ['Name1', 'element2'], ['Name1', 'element3']], 'kind': 'component', 'doc': 'Test', 'real_name': 'A', 'unit': None, 'eqn': '', 'lims': '', 'arguments': '' }, {'py_name': 'b', 'py_expr': ['bgf', 'r4', 'ymt'], 'subs': [['Name1', 'element1'], ['Name1', 'element2'], ['Name1', 'element3']], 'kind': 'component', 'doc': 'Test', 'real_name': 'B', 'unit': None, 'eqn': '', 'lims': '', 'arguments': '' }] self.assertIn(actual[0], expected) self.assertIn(actual[1], expected)