From 99b19a1d9282f4e1c6c33eda6377d489dc84bc84 Mon Sep 17 00:00:00 2001 From: Markus Schirp Date: Fri, 25 Jul 2014 17:33:01 +0000 Subject: [PATCH] Add mutation from {is_a,kind_of}? to instance_of? --- lib/mutant/mutator/node/send.rb | 2 ++ meta/send.rb | 26 ++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/lib/mutant/mutator/node/send.rb b/lib/mutant/mutator/node/send.rb index c92cdae7..1022cc80 100644 --- a/lib/mutant/mutator/node/send.rb +++ b/lib/mutant/mutator/node/send.rb @@ -12,6 +12,8 @@ module Mutant SELECTOR_REPLACEMENTS = IceNine.deep_freeze( reverse_map: [:map, :each], + kind_of?: [:instance_of?], + is_a?: [:instance_of?], reverse_each: [:each], map: [:each], send: [:public_send], diff --git a/meta/send.rb b/meta/send.rb index f274a478..d2fd7554 100644 --- a/meta/send.rb +++ b/meta/send.rb @@ -63,6 +63,32 @@ Mutant::Meta::Example.add do mutation 'foo.equal?(bar)' end +Mutant::Meta::Example.add do + source 'foo.is_a?(bar)' + + singleton_mutations + mutation 'foo' + mutation 'bar' + mutation 'foo.is_a?' + mutation 'foo.is_a?(nil)' + mutation 'foo.is_a?(self)' + mutation 'self.is_a?(bar)' + mutation 'foo.instance_of?(bar)' +end + +Mutant::Meta::Example.add do + source 'foo.kind_of?(bar)' + + singleton_mutations + mutation 'foo' + mutation 'bar' + mutation 'foo.kind_of?' + mutation 'foo.kind_of?(nil)' + mutation 'foo.kind_of?(self)' + mutation 'self.kind_of?(bar)' + mutation 'foo.instance_of?(bar)' +end + Mutant::Meta::Example.add do source 'foo.gsub(a, b)'