require 'test/unit/testcase'
require 'active_support/testing/default'
require 'active_support/testing/core_ext/test'


module ActiveSupport
  class TestCase < Test::Unit::TestCase
    # test "verify something" do
    #   ...
    # end
    def self.test(name, &block)
      test_name = "test_#{name.gsub(/\s+/,'_')}".to_sym
      defined = instance_method(test_name) rescue false
      raise "#{test_name} is already defined in #{self}" if defined
      define_method(test_name, &block)
    end
  end
end

require 'test/unit/testcase'
require 'active_support/testing/default'
require 'active_support/testing/core_ext/test'


module ActiveSupport
  class TestCase < Test::Unit::TestCase
    # test "verify something" do
    #   ...
    # end
    def self.test(name, &block)
      test_name = "test_#{name.gsub(/\s+/,'_')}".to_sym
      defined = instance_method(test_name) rescue false
      raise "#{test_name} is already defined in #{self}" if defined
      if block_given?
        define_method(test_name, &block)
      else
        define_method(test_name) do
          flunk "No implementation provided for #{name}"
        end
      end
    end
  end
end

Enhance the test "some string" method to support creating 'pending' tests.
Enhance the test "some string" method to support creating 'pending' tests.

If no block is provided to the test method, a default test will be generated which simply flunks.  This makes it easy for you to generate a list of what you intend to do, then flesh it out with actual tests.
