free_mutant/lib/mutant.rb

92 lines
2.4 KiB
Ruby
Raw Normal View History

2012-10-15 08:36:15 -04:00
require 'backports'
require 'adamantium'
require 'ice_nine'
require 'abstract_class'
require 'descendants_tracker'
require 'securerandom'
require 'equalizer'
require 'digest/sha1'
require 'to_source'
require 'ice_nine'
require 'ice_nine/core_ext/object'
2012-08-16 12:02:03 -04:00
require 'diff/lcs'
require 'diff/lcs/hunk'
# Library namespace
module Mutant
# Define instance of subclassed superclass as constant
#
# @param [Class] superclass
# @param [Symbol] name
#
# @return [self]
#
# @api private
#
def self.define_singleton_subclass(name, superclass, &block)
klass = Class.new(superclass) do
def inspect; self.class.name; end
define_singleton_method(:name) do
"#{superclass.name}::#{name}".freeze
end
end
klass.class_eval(&block)
superclass.const_set(name, klass.new)
self
end
end
2012-08-15 22:07:45 -04:00
require 'mutant/support/method_object'
require 'mutant/helper'
require 'mutant/random'
require 'mutant/mutator'
2012-08-15 22:09:14 -04:00
require 'mutant/mutation'
require 'mutant/mutation/filter'
require 'mutant/mutation/filter/code'
require 'mutant/mutation/filter/whitelist'
require 'mutant/mutator/registry'
require 'mutant/mutator/literal'
require 'mutant/mutator/literal/boolean'
require 'mutant/mutator/literal/range'
require 'mutant/mutator/literal/symbol'
require 'mutant/mutator/literal/string'
require 'mutant/mutator/literal/fixnum'
require 'mutant/mutator/literal/float'
require 'mutant/mutator/literal/array'
require 'mutant/mutator/literal/empty_array'
require 'mutant/mutator/literal/hash'
require 'mutant/mutator/literal/regex'
#require 'mutant/mutator/literal/dynamic'
require 'mutant/mutator/block'
require 'mutant/mutator/noop'
require 'mutant/mutator/call'
2012-08-14 06:04:48 -04:00
require 'mutant/mutator/define'
require 'mutant/mutator/if_statement'
require 'mutant/mutator/receiver_case'
require 'mutant/loader'
require 'mutant/context'
require 'mutant/context/scope'
2012-08-01 12:34:03 -04:00
require 'mutant/subject'
require 'mutant/matcher'
require 'mutant/matcher/chain'
require 'mutant/matcher/object_space'
require 'mutant/matcher/method'
require 'mutant/matcher/method/singleton'
require 'mutant/matcher/method/instance'
require 'mutant/matcher/method/classifier'
require 'mutant/matcher/scope_methods'
2012-08-14 16:45:34 -04:00
require 'mutant/killer'
require 'mutant/killer/rspec'
require 'mutant/runner'
require 'mutant/cli'
2012-08-16 12:02:03 -04:00
require 'mutant/color'
require 'mutant/differ'
require 'mutant/reporter'
require 'mutant/reporter/null'
require 'mutant/reporter/cli'