def test_view_setattr_machinery(attr, subset_func, subset_func2):
    # Tests that setting attributes on a view doesn't mess anything up too bad
    adata = gen_adata((10, 10))
    view = adata[subset_func(adata.obs_names), subset_func2(adata.var_names)]

    actual = view.copy()
    setattr(view, attr, getattr(actual, attr))
    assert_equal(actual, view, exact=True)
def __init__(self, parent, window):
		self._parent = parent
		self._window = window
		self._application = self._parent._application

		# create user interface
		self._container = gtk.VBox(False, 5)
		self._controls = gtk.HBox(False, 5)

		separator = gtk.HSeparator()

		# pack interface
		self._container.pack_end(separator, False, False, 0)
		self._container.pack_end(self._controls, False, False, 0)