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 unresolved unparseable].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(mutation:, status:, duration: 0.0, killing_test: nil, test_command: nil, memory: nil, error: nil) ⇒ MutationResult

Returns a new instance of MutationResult.

Raises:

  • (ArgumentError)


12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/evilution/result/mutation_result.rb', line 12

def initialize(mutation:, status:, duration: 0.0, killing_test: nil,
               test_command: nil, memory: nil, error: nil)
  raise ArgumentError, "invalid status: #{status}" unless STATUSES.include?(status)

  @mutation = mutation
  @status = status
  @duration = duration
  @killing_test = killing_test
  @test_command = test_command
  @memory = memory
  @error = error
  freeze
end

Instance Attribute Details

#durationObject (readonly)

Returns the value of attribute duration.



10
11
12
# File 'lib/evilution/result/mutation_result.rb', line 10

def duration
  @duration
end

#errorObject (readonly)

Returns the value of attribute error.



10
11
12
# File 'lib/evilution/result/mutation_result.rb', line 10

def error
  @error
end

#killing_testObject (readonly)

Returns the value of attribute killing_test.



10
11
12
# File 'lib/evilution/result/mutation_result.rb', line 10

def killing_test
  @killing_test
end

#memoryObject (readonly)

Returns the value of attribute memory.



10
11
12
# File 'lib/evilution/result/mutation_result.rb', line 10

def memory
  @memory
end

#mutationObject (readonly)

Returns the value of attribute mutation.



10
11
12
# File 'lib/evilution/result/mutation_result.rb', line 10

def mutation
  @mutation
end

#statusObject (readonly)

Returns the value of attribute status.



10
11
12
# File 'lib/evilution/result/mutation_result.rb', line 10

def status
  @status
end

#test_commandObject (readonly)

Returns the value of attribute test_command.



10
11
12
# File 'lib/evilution/result/mutation_result.rb', line 10

def test_command
  @test_command
end

Instance Method Details

#child_rss_kbObject



26
27
28
# File 'lib/evilution/result/mutation_result.rb', line 26

def child_rss_kb
  @memory.nil? ? nil : @memory.child_rss_kb
end

#equivalent?Boolean

Returns:

  • (Boolean)


70
71
72
# File 'lib/evilution/result/mutation_result.rb', line 70

def equivalent?
  status == :equivalent
end

#error?Boolean

Returns:

  • (Boolean)


62
63
64
# File 'lib/evilution/result/mutation_result.rb', line 62

def error?
  status == :error
end

#error_backtraceObject



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

def error_backtrace
  @error.nil? ? nil : @error.backtrace
end

#error_classObject



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

def error_class
  @error.nil? ? nil : @error.klass
end

#error_messageObject



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

def error_message
  @error.nil? ? nil : @error.message
end

#killed?Boolean

Returns:

  • (Boolean)


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

def killed?
  status == :killed
end

#memory_delta_kbObject



30
31
32
# File 'lib/evilution/result/mutation_result.rb', line 30

def memory_delta_kb
  @memory.nil? ? nil : @memory.memory_delta_kb
end

#neutral?Boolean

Returns:

  • (Boolean)


66
67
68
# File 'lib/evilution/result/mutation_result.rb', line 66

def neutral?
  status == :neutral
end

#parent_rss_kbObject



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

def parent_rss_kb
  @memory.nil? ? nil : @memory.parent_rss_kb
end

#survived?Boolean

Returns:

  • (Boolean)


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

def survived?
  status == :survived
end

#timeout?Boolean

Returns:

  • (Boolean)


58
59
60
# File 'lib/evilution/result/mutation_result.rb', line 58

def timeout?
  status == :timeout
end

#unparseable?Boolean

Returns:

  • (Boolean)


78
79
80
# File 'lib/evilution/result/mutation_result.rb', line 78

def unparseable?
  status == :unparseable
end

#unresolved?Boolean

Returns:

  • (Boolean)


74
75
76
# File 'lib/evilution/result/mutation_result.rb', line 74

def unresolved?
  status == :unresolved
end