module Mocha::Integration::TestUnit

def self.activate

def self.activate
  return false unless Detection::TestUnit.testcase
  test_unit_version = Gem::Version.new(Detection::TestUnit.version)
  ruby_version = Gem::Version.new(RUBY_VERSION.dup)
  Debug.puts "Detected Ruby version: #{ruby_version}"
  Debug.puts "Detected Test::Unit version: #{test_unit_version}"
  integration_module = [
    TestUnit::Adapter,
    TestUnit::GemVersion230To250,
    TestUnit::GemVersion203To220,
    TestUnit::GemVersion201To202,
    TestUnit::GemVersion200,
    TestUnit::RubyVersion186AndAbove,
    TestUnit::RubyVersion185AndBelow,
    TestUnit::Nothing
  ].detect { |m| m.applicable_to?(test_unit_version, ruby_version) }
  unless ::Test::Unit::TestCase < integration_module
    Debug.puts "Applying #{integration_module.description}"
    ::Test::Unit::TestCase.send(:include, integration_module)
  end
  true
end