1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
|
require 'test/unit'
class TestUnitPriority < Test::Unit::TestCase
class TestCase < Test::Unit::TestCase
class << self
def suite
Test::Unit::TestSuite.new(name)
end
end
priority :must
def test_must
assert(true)
end
def test_must_inherited
assert(true)
end
priority :important
def test_important
assert(true)
end
def test_important_inherited
assert(true)
end
priority :high
def test_high
assert(true)
end
def test_high_inherited
assert(true)
end
priority :normal
def test_normal
assert(true)
end
def test_normal_inherited
assert(true)
end
priority :low
def test_low
assert(true)
end
def test_low_inherited
assert(true)
end
priority :never
def test_never
assert(true)
end
def test_never_inherited
assert(true)
end
end
def test_priority_must
assert_priority("must", 1.0, 0.0001)
end
def test_priority_important
assert_priority("important", 0.9, 0.09)
end
def test_priority_high
assert_priority("high", 0.70, 0.1)
end
def test_priority_normal
assert_priority("normal", 0.5, 0.1)
end
def test_priority_low
assert_priority("low", 0.25, 0.1)
end
def test_priority_never
assert_priority("never", 0.0, 0.0001)
end
def assert_priority(priority, expected, delta)
assert_need_to_run("test_#{priority}", expected, delta)
assert_need_to_run("test_#{priority}_inherited", expected, delta)
end
def assert_need_to_run(test_name, expected, delta)
test = TestCase.new(test_name)
n = 1000
n_need_to_run = 0
n.times do |i|
n_need_to_run += 1 if Test::Unit::Priority::Checker.need_to_run?(test)
end
assert_in_delta(expected, n_need_to_run.to_f / n, delta)
end
class SpecialNameTestCase < Test::Unit::TestCase
class << self
def suite
Test::Unit::TestSuite.new(name)
end
end
def test_question?
end
def test_exclamation!
end
def test_equal=
end
end
def test_escaped?
assert_escaped_name("test_question.predicate", "test_question?")
assert_escaped_name("test_exclamation.destructive", "test_exclamation!")
assert_escaped_name("test_equal.equal", "test_equal=")
end
def assert_escaped_name(expected, test_method_name)
checker = Checker.new(SpecialNameTestCase.new(test_method_name))
passed_file = checker.send(:passed_file)
method_name_component = File.basename(File.dirname(passed_file))
assert_equal(expected, method_name_component)
end
end
|