module Test::Unit::Fixture::ClassMethods

def cleanup(*method_names, &callback)

def cleanup(*method_names, &callback)
  register_fixture(:cleanup, *method_names, &callback)
end

def fixture

def fixture
  @fixture ||= Fixture.new(self)
end

def register_fixture(fixture, *method_names, &callback)

def register_fixture(fixture, *method_names, &callback)
  options = {}
  options = method_names.pop if method_names.last.is_a?(Hash)
  callbacks = method_names
  callbacks << callback if callback
  attribute(fixture, options, *callbacks)
end

def setup(*method_names, &callback)

def setup(*method_names, &callback)
  register_fixture(:setup, *method_names, &callback)
end

def teardown(*method_names, &callback)

def teardown(*method_names, &callback)
  register_fixture(:teardown, *method_names, &callback)
end

def unregister_cleanup(*method_names_or_callbacks)

def unregister_cleanup(*method_names_or_callbacks)
  unregister_fixture(:cleanup, *method_names_or_callbacks)
end

def unregister_fixture(fixture, *method_names_or_callbacks)

def unregister_fixture(fixture, *method_names_or_callbacks)
  attribute(fixture, nil, *method_names_or_callbacks)
end

def unregister_setup(*method_names_or_callbacks)

def unregister_setup(*method_names_or_callbacks)
  unregister_fixture(:setup, *method_names_or_callbacks)
end

def unregister_teardown(*method_names_or_callbacks)

def unregister_teardown(*method_names_or_callbacks)
  unregister_fixture(:teardown, *method_names_or_callbacks)
end