Beispiel #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
 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
 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
 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
Beispiel #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
Beispiel #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
 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
 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
 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
Beispiel #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
Beispiel #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
Beispiel #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
Beispiel #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
Beispiel #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
Beispiel #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