Class: Test::Unit::Priority::Checker

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(test) ⇒ Checker

Returns a new instance of Checker.



99
100
101
# File 'lib/test/unit/priority.rb', line 99

def initialize(test)
  @test = test
end

Instance Attribute Details

#testObject (readonly)

Returns the value of attribute test.



98
99
100
# File 'lib/test/unit/priority.rb', line 98

def test
  @test
end

Class Method Details

.available_prioritiesObject



61
62
63
64
65
66
# File 'lib/test/unit/priority.rb', line 61

def available_priorities
  methods(false).collect do |name|
    /\Arun_priority_(.+)\?\z/ =~ name.to_s
    $1
  end.compact
end

.have_priority?(name) ⇒ Boolean

Returns:

  • (Boolean)


47
48
49
50
# File 'lib/test/unit/priority.rb', line 47

def have_priority?(name)
  singleton_class = (class << self; self; end)
  singleton_class.method_defined?(priority_check_method_name(name))
end

.need_to_run?(test) ⇒ Boolean

Returns:

  • (Boolean)


52
53
54
55
56
57
58
59
# File 'lib/test/unit/priority.rb', line 52

def need_to_run?(test)
  priority = test[:priority] || Priority.default
  if have_priority?(priority)
    __send__(priority_check_method_name(priority), test)
  else
    true
  end
end

.run_priority_high?(test) ⇒ Boolean

Returns:

  • (Boolean)


76
77
78
# File 'lib/test/unit/priority.rb', line 76

def run_priority_high?(test)
  rand > 0.3
end

.run_priority_important?(test) ⇒ Boolean

Returns:

  • (Boolean)


72
73
74
# File 'lib/test/unit/priority.rb', line 72

def run_priority_important?(test)
  rand > 0.1
end

.run_priority_low?(test) ⇒ Boolean

Returns:

  • (Boolean)


84
85
86
# File 'lib/test/unit/priority.rb', line 84

def run_priority_low?(test)
  rand > 0.75
end

.run_priority_must?(test) ⇒ Boolean

Returns:

  • (Boolean)


68
69
70
# File 'lib/test/unit/priority.rb', line 68

def run_priority_must?(test)
  true
end

.run_priority_never?(test) ⇒ Boolean

Returns:

  • (Boolean)


88
89
90
# File 'lib/test/unit/priority.rb', line 88

def run_priority_never?(test)
  false
end

.run_priority_normal?(test) ⇒ Boolean

Returns:

  • (Boolean)


80
81
82
# File 'lib/test/unit/priority.rb', line 80

def run_priority_normal?(test)
  rand > 0.5
end

Instance Method Details

#need_to_run?Boolean

Returns:

  • (Boolean)


115
116
117
# File 'lib/test/unit/priority.rb', line 115

def need_to_run?
  !previous_test_success? or self.class.need_to_run?(@test)
end

#setupObject



103
104
105
# File 'lib/test/unit/priority.rb', line 103

def setup
  FileUtils.rm_f(passed_file)
end

#teardownObject



107
108
109
110
111
112
113
# File 'lib/test/unit/priority.rb', line 107

def teardown
  if @test.__send__(:passed?)
    FileUtils.touch(passed_file)
  else
    FileUtils.rm_f(passed_file)
  end
end