def test_ArgumentStore_split_merge(): d = dict(min_len=1, max_len=5, default=[5, 6, 7], item_min=3, item_max=18) argument_store = ArgumentStore(d) sub_argument_store = argument_store.split(prefix='item_') l = list(sub_argument_store.items()) l.sort(key=lambda x: x[0]) assert l[0][0] == 'max' assert l[0][1] == 18 assert l[1][0] == 'min' assert l[1][1] == 3 assert sub_argument_store.get('min') == 3 assert argument_store.get('max_len') == 5 argument_store.merge(sub_argument_store, prefix='item_') assert argument_store.get('default') == [5, 6, 7] assert argument_store.get_used('item_min') assert not argument_store.get_used('item_max') assert not argument_store.get_used('min_len') assert argument_store.get_used('max_len') assert argument_store.get_used('default')