Class: Evilution::Result::MutationResult

Inherits:
Object
  • Object
show all
Defined in:
lib/evilution/result/mutation_result.rb

Constant Summary collapse

STATUSES =
%i[killed survived timeout error neutral equivalent].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(mutation:, status:, duration: 0.0, killing_test: nil, test_command: nil, child_rss_kb: nil, memory_delta_kb: nil, parent_rss_kb: nil, error_message: nil, error_class: nil, error_backtrace: nil) ⇒ MutationResult

rubocop:disable Metrics/ParameterLists

Raises:

  • (ArgumentError)


13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/evilution/result/mutation_result.rb', line 13

def initialize(mutation:, status:, duration: 0.0, killing_test: nil,
               test_command: nil, child_rss_kb: nil, memory_delta_kb: nil,
               parent_rss_kb: nil, error_message: nil, error_class: nil,
               error_backtrace: nil)
  # rubocop:enable Metrics/ParameterLists
  raise ArgumentError, "invalid status: #{status}" unless STATUSES.include?(status)

  @mutation = mutation
  @status = status
  @duration = duration
  @killing_test = killing_test
  @test_command = test_command
  @child_rss_kb = child_rss_kb
  @memory_delta_kb = memory_delta_kb
  @parent_rss_kb = parent_rss_kb
  @error_message = error_message
  @error_class = error_class
  @error_backtrace = error_backtrace.nil? ? nil : error_backtrace.dup.freeze
  freeze
end

Instance Attribute Details

#child_rss_kbObject (readonly)

Returns the value of attribute child_rss_kb.



8
9
10
# File 'lib/evilution/result/mutation_result.rb', line 8

def child_rss_kb
  @child_rss_kb
end

#durationObject (readonly)

Returns the value of attribute duration.



8
9
10
# File 'lib/evilution/result/mutation_result.rb', line 8

def duration
  @duration
end

#error_backtraceObject (readonly)

Returns the value of attribute error_backtrace.



8
9
10
# File 'lib/evilution/result/mutation_result.rb', line 8

def error_backtrace
  @error_backtrace
end

#error_classObject (readonly)

Returns the value of attribute error_class.



8
9
10
# File 'lib/evilution/result/mutation_result.rb', line 8

def error_class
  @error_class
end

#error_messageObject (readonly)

Returns the value of attribute error_message.



8
9
10
# File 'lib/evilution/result/mutation_result.rb', line 8

def error_message
  @error_message
end

#killing_testObject (readonly)

Returns the value of attribute killing_test.



8
9
10
# File 'lib/evilution/result/mutation_result.rb', line 8

def killing_test
  @killing_test
end

#memory_delta_kbObject (readonly)

Returns the value of attribute memory_delta_kb.



8
9
10
# File 'lib/evilution/result/mutation_result.rb', line 8

def memory_delta_kb
  @memory_delta_kb
end

#mutationObject (readonly)

Returns the value of attribute mutation.



8
9
10
# File 'lib/evilution/result/mutation_result.rb', line 8

def mutation
  @mutation
end

#parent_rss_kbObject (readonly)

Returns the value of attribute parent_rss_kb.



8
9
10
# File 'lib/evilution/result/mutation_result.rb', line 8

def parent_rss_kb
  @parent_rss_kb
end

#statusObject (readonly)

Returns the value of attribute status.



8
9
10
# File 'lib/evilution/result/mutation_result.rb', line 8

def status
  @status
end

#test_commandObject (readonly)

Returns the value of attribute test_command.



8
9
10
# File 'lib/evilution/result/mutation_result.rb', line 8

def test_command
  @test_command
end

Instance Method Details

#equivalent?Boolean

Returns:

  • (Boolean)


54
55
56
# File 'lib/evilution/result/mutation_result.rb', line 54

def equivalent?
  status == :equivalent
end

#error?Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/evilution/result/mutation_result.rb', line 46

def error?
  status == :error
end

#killed?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/evilution/result/mutation_result.rb', line 34

def killed?
  status == :killed
end

#neutral?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/evilution/result/mutation_result.rb', line 50

def neutral?
  status == :neutral
end

#survived?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/evilution/result/mutation_result.rb', line 38

def survived?
  status == :survived
end

#timeout?Boolean

Returns:

  • (Boolean)


42
43
44
# File 'lib/evilution/result/mutation_result.rb', line 42

def timeout?
  status == :timeout
end