Class: TestRunner::TestResult

Inherits:
Object
  • Object
show all
Defined in:
lib/test-runner/test_result.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(test, script_results, success, elapsed_time, state_dir) ⇒ TestResult

Returns a new instance of TestResult.



20
21
22
23
24
25
26
# File 'lib/test-runner/test_result.rb', line 20

def initialize(test, script_results, success, elapsed_time, state_dir)
  @test = test
  @script_results = script_results
  @success = success && script_results.all?(&:expected_result?)
  @elapsed_time = elapsed_time
  @state_dir = state_dir
end

Instance Attribute Details

#elapsed_timeFloat (readonly)

Returns:

  • (Float)


15
16
17
# File 'lib/test-runner/test_result.rb', line 15

def elapsed_time
  @elapsed_time
end

#script_resultsArray<TestScriptResult> (readonly)

Returns:



9
10
11
# File 'lib/test-runner/test_result.rb', line 9

def script_results
  @script_results
end

#state_dirString (readonly)

Returns:

  • (String)


18
19
20
# File 'lib/test-runner/test_result.rb', line 18

def state_dir
  @state_dir
end

#successBoolean (readonly)

Returns:

  • (Boolean)


12
13
14
# File 'lib/test-runner/test_result.rb', line 12

def success
  @success
end

#testTest (readonly)

Returns:



6
7
8
# File 'lib/test-runner/test_result.rb', line 6

def test
  @test
end

Class Method Details

.from_h(test, scripts_by_name, json) ⇒ TestResult

Parameters:

Returns:



74
75
76
77
78
79
80
81
82
83
84
85
86
87
# File 'lib/test-runner/test_result.rb', line 74

def self.from_h(test, scripts_by_name, json)
  script_results = json.fetch('script_results').map do |sr|
    script = scripts_by_name.fetch(sr.fetch('script'))
    TestScriptResult.from_h(script, sr)
  end

  new(
    test,
    script_results,
    json.fetch('success'),
    json.fetch('elapsed_time'),
    json.fetch('state_dir')
  )
end

Instance Method Details

#expected_result?Boolean

Returns:

  • (Boolean)


36
37
38
39
40
41
42
# File 'lib/test-runner/test_result.rb', line 36

def expected_result?
  if test.expect_failure
    !@success
  else
    @success
  end
end

#expected_to_fail?Boolean

Returns:

  • (Boolean)


52
53
54
# File 'lib/test-runner/test_result.rb', line 52

def expected_to_fail?
  test.expect_failure
end

#expected_to_succeed?Boolean

Returns:

  • (Boolean)


48
49
50
# File 'lib/test-runner/test_result.rb', line 48

def expected_to_succeed?
  !test.expect_failure
end

#failed?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/test-runner/test_result.rb', line 32

def failed?
  !@success
end

#successful?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/test-runner/test_result.rb', line 28

def successful?
  @success
end

#to_hHash

Returns:

  • (Hash)


57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/test-runner/test_result.rb', line 57

def to_h
  {
    'type' => 'test',
    'test' => test.path,
    'success' => successful?,
    'expected_to_succeed' => expected_to_succeed?,
    'expected_result' => expected_result?,
    'elapsed_time' => elapsed_time,
    'state_dir' => state_dir,
    'script_results' => script_results.map(&:to_h)
  }
end

#to_jsonObject



89
90
91
# File 'lib/test-runner/test_result.rb', line 89

def to_json(*)
  to_h.to_json(*)
end

#unexpected_result?Boolean

Returns:

  • (Boolean)


44
45
46
# File 'lib/test-runner/test_result.rb', line 44

def unexpected_result?
  !expected_result?
end