Ejemplo n.º 1
0
 def test_returns_objs_group_custom_group(self):
     """Test function."""
     objs = [self._get_obj(name) for name in ['foo1', 'foo2']]
     groups = [('group1', ('foo1', 'foo2'))]
     res = munging.group_by(objs, groups=groups, attr='name')
     assert list(res.keys()) == ['group1', '__unlabeled']
     assert len(res['group1']) == 2
Ejemplo n.º 2
0
 def test_returns_objs_group_custom_group(self):
     """Test function."""
     objs = [self._get_obj(name) for name in ['foo1', 'foo2']]
     groups = [('group1', ('foo1', 'foo2'))]
     res = munging.group_by(objs, groups=groups, attr='name')
     assert res.keys() == ['group1', '__unlabeled']
     assert len(res['group1']) == 2
Ejemplo n.º 3
0
 def test_returns_objs_group_custom_group_with_order_preserved(self):
     """Test function."""
     names = ['foo{}'.format(i) for i in range(1, 10)]
     objs = [self._get_obj(name) for name in names]
     groups = [
         ('group1', ('foo2', 'foo1', 'foo3')),
         ('group2', ('foo5', 'foo4', 'foo6')),
         ('group3', ('foo7', 'foo9', 'foo8')),
     ]
     res = munging.group_by(objs, groups=groups, attr='name')
     for key in res.keys():
         assert key in ['group1', 'group2', 'group3', '__unlabeled']
     for group in groups:
         label, items = group
         for i, item in enumerate(items):
             obj_label = getattr(res[label][i], 'name')
             assert item == obj_label
Ejemplo n.º 4
0
 def test_returns_objs_group_custom_group_with_one_unlabeled_complex(self):
     """Test function."""
     names = ['foo{}'.format(i) for i in range(1, 11)]
     objs = [self._get_obj(name) for name in names]
     groups = [
         ('group1', ('foo1', 'foo2', 'foo3')),
         ('group2', ('foo4', 'foo5', 'foo6')),
         ('group3', ('foo7', 'foo8', 'foo9')),
     ]
     res = munging.group_by(objs, groups=groups, attr='name')
     for key in res.keys():
         assert key in ['group1', 'group2', 'group3', '__unlabeled']
     assert len(res.keys()) == 4
     assert len(res['group1']) == 3
     assert len(res['group2']) == 3
     assert len(res['group3']) == 3
     assert len(res['__unlabeled']) == 1
Ejemplo n.º 5
0
 def test_returns_objs_group_custom_group_with_order_preserved(self):
     """Test function."""
     names = ['foo{}'.format(i) for i in range(1, 10)]
     objs = [self._get_obj(name) for name in names]
     groups = [
         ('group1', ('foo2', 'foo1', 'foo3')),
         ('group2', ('foo5', 'foo4', 'foo6')),
         ('group3', ('foo7', 'foo9', 'foo8')),
     ]
     res = munging.group_by(objs, groups=groups, attr='name')
     for key in list(res.keys()):
         assert key in ['group1', 'group2', 'group3', '__unlabeled']
     for group in groups:
         label, items = group
         for i, item in enumerate(items):
             obj_label = getattr(res[label][i], 'name')
             assert item == obj_label
Ejemplo n.º 6
0
 def test_returns_objs_group_custom_group_with_one_unlabeled_complex(self):
     """Test function."""
     names = ['foo{}'.format(i) for i in range(1, 11)]
     objs = [self._get_obj(name) for name in names]
     groups = [
         ('group1', ('foo1', 'foo2', 'foo3')),
         ('group2', ('foo4', 'foo5', 'foo6')),
         ('group3', ('foo7', 'foo8', 'foo9')),
     ]
     res = munging.group_by(objs, groups=groups, attr='name')
     for key in list(res.keys()):
         assert key in ['group1', 'group2', 'group3', '__unlabeled']
     assert len(list(res.keys())) == 4
     assert len(res['group1']) == 3
     assert len(res['group2']) == 3
     assert len(res['group3']) == 3
     assert len(res['__unlabeled']) == 1
Ejemplo n.º 7
0
 def test_returns_objs_nogroup(self):
     """Test function."""
     objs = [self._get_obj(None)]
     res = munging.group_by(objs, attr='name')
     assert res.keys() == ['__unlabeled']
     assert len(res['__unlabeled']) == 1
Ejemplo n.º 8
0
 def test_returns_objs_nogroup_fallback(self):
     """Test function."""
     objs = [self._get_obj(name) for name in ['foo1']]
     res = munging.group_by(objs, attr=None, fallback='somegroup')
     assert res.keys() == ['somegroup']
     assert len(res['somegroup']) == 1
Ejemplo n.º 9
0
 def test_returns_objs_nogroup_noname(self):
     """Test function."""
     objs = [self._get_obj(name) for name in ['foo1']]
     res = munging.group_by(objs, attr=None)
     assert res.keys() == ['__unlabeled']
     assert len(res['__unlabeled']) == 1
Ejemplo n.º 10
0
 def test_returns_no_objs_with_name(self):
     """Test function."""
     objs = [None for _ in range(4)]
     res = munging.group_by(objs, attr='invalid-attr')
     assert res.keys() == ['__unlabeled']
     assert len(res['__unlabeled']) == 4
Ejemplo n.º 11
0
 def test_returns_objs_nogroup(self):
     """Test function."""
     objs = [self._get_obj(None)]
     res = munging.group_by(objs, attr='name')
     assert list(res.keys()) == ['__unlabeled']
     assert len(res['__unlabeled']) == 1
Ejemplo n.º 12
0
 def test_returns_objs_nogroup_fallback(self):
     """Test function."""
     objs = [self._get_obj(name) for name in ['foo1']]
     res = munging.group_by(objs, attr=None, fallback='somegroup')
     assert list(res.keys()) == ['somegroup']
     assert len(res['somegroup']) == 1
Ejemplo n.º 13
0
 def test_returns_objs_nogroup_noname(self):
     """Test function."""
     objs = [self._get_obj(name) for name in ['foo1']]
     res = munging.group_by(objs, attr=None)
     assert list(res.keys()) == ['__unlabeled']
     assert len(res['__unlabeled']) == 1
Ejemplo n.º 14
0
 def test_returns_no_objs_with_name(self):
     """Test function."""
     objs = [None for _ in range(4)]
     res = munging.group_by(objs, attr='invalid-attr')
     assert list(res.keys()) == ['__unlabeled']
     assert len(res['__unlabeled']) == 4
Ejemplo n.º 15
0
 def test_returns_no_objs_noname(self):
     """Test function."""
     objs = [None for _ in range(4)]
     res = munging.group_by(objs, attr=None)
     assert res.keys() == ['__unlabeled']
     assert len(res['__unlabeled']) == 4