def test_grouper_private(): class dummy(): pass objs = [dummy() for j in range(5)] g = cbook.Grouper() g.join(*objs) # reach in and touch the internals ! mapping = g._mapping for o in objs: assert ref(o) in mapping base_set = mapping[ref(objs[0])] for o in objs[1:]: assert mapping[ref(o)] is base_set
def test_grouper(): class dummy(): pass a, b, c, d, e = objs = [dummy() for j in range(5)] g = cbook.Grouper() g.join(*objs) assert set(list(g)[0]) == set(objs) assert set(g.get_siblings(a)) == set(objs) for other in objs[1:]: assert g.joined(a, other) g.remove(a) for other in objs[1:]: assert not g.joined(a, other) for A, B in itertools.product(objs[1:], objs[1:]): assert g.joined(A, B)