Class: Mutiny::Mutants::MutantSet

Inherits:
Object
  • Object
show all
Defined in:
lib/mutiny/mutants/mutant_set.rb

Instance Method Summary collapse

Constructor Details

#initializeMutantSet

Returns a new instance of MutantSet.



6
7
8
# File 'lib/mutiny/mutants/mutant_set.rb', line 6

def initialize
  @mutants_by_subject = Hash.new([])
end

Instance Method Details

#add(subject, mutated_code) ⇒ Object



10
11
12
13
# File 'lib/mutiny/mutants/mutant_set.rb', line 10

def add(subject, mutated_code)
  mutants = mutated_code.map { |code| create_mutant(subject, code) }
  @mutants_by_subject[subject] = @mutants_by_subject[subject] + mutants
end

#group_by_subjectObject



19
20
21
# File 'lib/mutiny/mutants/mutant_set.rb', line 19

def group_by_subject
  @mutants_by_subject.dup
end

#sizeObject



15
16
17
# File 'lib/mutiny/mutants/mutant_set.rb', line 15

def size
  mutants.size
end

#store(mutant_directory = ".mutants") ⇒ Object



23
24
25
26
27
# File 'lib/mutiny/mutants/mutant_set.rb', line 23

def store(mutant_directory = ".mutants")
  group_by_subject.each do |_, mutants|
    mutants.each_with_index { |mutant, index| mutant.store(mutant_directory, index) }
  end
end