Class: Test::Unit::Failure

Inherits:
Object
  • Object
show all
Defined in:
lib/test/unit/failure.rb,
lib/test/unit/failure.rb

Overview

Encapsulates a test failure. Created by Test::Unit::TestCase when an assertion fails.

Constant Summary collapse

SINGLE_CHARACTER =
'F'
LABEL =
"Failure"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(test_name, location, message, options = {}) ⇒ Failure

Creates a new Failure with the given location and message.



17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/test/unit/failure.rb', line 17

def initialize(test_name, location, message, options={})
  @test_name = test_name
  @location = location
  @message = message
  @method_name = options[:method_name]
  @source_location = options[:source_location]
  @expected = options[:expected]
  @actual = options[:actual]
  @inspected_expected = options[:inspected_expected]
  @inspected_actual = options[:inspected_actual]
  @user_message = options[:user_message]
end

Instance Attribute Details

#actualObject (readonly)

Returns the value of attribute actual



9
10
11
# File 'lib/test/unit/failure.rb', line 9

def actual
  @actual
end

#expectedObject (readonly)

Returns the value of attribute expected



9
10
11
# File 'lib/test/unit/failure.rb', line 9

def expected
  @expected
end

#inspected_actualObject (readonly)

Returns the value of attribute inspected_actual



10
11
12
# File 'lib/test/unit/failure.rb', line 10

def inspected_actual
  @inspected_actual
end

#inspected_expectedObject (readonly)

Returns the value of attribute inspected_expected



10
11
12
# File 'lib/test/unit/failure.rb', line 10

def inspected_expected
  @inspected_expected
end

#locationObject (readonly)

Returns the value of attribute location



7
8
9
# File 'lib/test/unit/failure.rb', line 7

def location
  @location
end

#messageObject (readonly)

Returns the value of attribute message



7
8
9
# File 'lib/test/unit/failure.rb', line 7

def message
  @message
end

#method_nameObject (readonly)

Returns the value of attribute method_name



8
9
10
# File 'lib/test/unit/failure.rb', line 8

def method_name
  @method_name
end

#source_locationObject (readonly)

Returns the value of attribute source_location



8
9
10
# File 'lib/test/unit/failure.rb', line 8

def source_location
  @source_location
end

#test_nameObject (readonly)

Returns the value of attribute test_name



7
8
9
# File 'lib/test/unit/failure.rb', line 7

def test_name
  @test_name
end

#user_messageObject (readonly)

Returns the value of attribute user_message



9
10
11
# File 'lib/test/unit/failure.rb', line 9

def user_message
  @user_message
end

Instance Method Details

#critical?Boolean

Returns:

  • (Boolean)


59
60
61
# File 'lib/test/unit/failure.rb', line 59

def critical?
  true
end

#diffObject



63
64
65
# File 'lib/test/unit/failure.rb', line 63

def diff
  @diff ||= compute_diff
end

#labelObject



35
36
37
# File 'lib/test/unit/failure.rb', line 35

def label
  LABEL
end

#long_displayObject

Returns a verbose version of the error description.



45
46
47
48
49
50
51
52
# File 'lib/test/unit/failure.rb', line 45

def long_display
  if location.size == 1
    location_display = location[0].sub(/\A(.+:\d+).*/, ' [\\1]')
  else
    location_display = "\n    [#{location.join("\n     ")}]"
  end
  "#{label}:\n#@test_name#{location_display}:\n#@message"
end

#short_displayObject

Returns a brief version of the error description.



40
41
42
# File 'lib/test/unit/failure.rb', line 40

def short_display
  "#@test_name: #{@message.split("\n")[0]}"
end

#single_character_displayObject

Returns a single character representation of a failure.



31
32
33
# File 'lib/test/unit/failure.rb', line 31

def single_character_display
  SINGLE_CHARACTER
end

#to_sObject

Overridden to return long_display.



55
56
57
# File 'lib/test/unit/failure.rb', line 55

def to_s
  long_display
end