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
|
# Author:: Nathaniel Talbott.
# Copyright:: Copyright (c) 2000-2002 Nathaniel Talbott. All rights reserved.
# License:: Ruby license.
require 'test/unit/testcase'
require 'test/unit/testresult'
module Test
module Unit
class TC_TestResult < TestCase
def setup
@my_result = TestResult.new
@my_result.add_assertion()
@failure = "failure"
@my_result.add_failure(@failure)
@error = "error"
@my_result.add_error(@error)
end
def test_result_changed_notification
called1 = false
@my_result.add_listener(TestResult::CHANGED) do |result|
assert_equal(@my_result, result)
called1 = true
end
@my_result.add_assertion
assert_true(called1)
called1, called2 = false, false
@my_result.add_listener(TestResult::CHANGED) do |result|
assert_equal(@my_result, result)
called2 = true
end
@my_result.add_assertion
assert_equal([true, true], [called1, called2])
called1, called2 = false, false
@my_result.add_failure("")
assert_equal([true, true], [called1, called2])
called1, called2 = false, false
@my_result.add_error("")
assert_equal([true, true], [called1, called2])
called1, called2 = false, false
@my_result.add_run
assert_equal([true, true], [called1, called2])
end
def test_fault_notification
called1 = false
fault = "fault"
@my_result.add_listener(TestResult::FAULT) do |passed_fault|
assert_equal(fault, passed_fault)
called1 = true
end
@my_result.add_assertion
assert_false(called1)
@my_result.add_failure(fault)
assert_true(called1)
called1, called2 = false, false
@my_result.add_listener(TestResult::FAULT) do |passed_fault|
assert_equal(fault, passed_fault)
called2 = true
end
@my_result.add_assertion
assert_equal([false, false], [called1, called2])
called1, called2 = false, false
@my_result.add_failure(fault)
assert_equal([true, true], [called1, called2])
called1, called2 = false, false
@my_result.add_error(fault)
assert_equal([true, true], [called1, called2])
called1, called2 = false, false
@my_result.add_run
assert_equal([false, false], [called1, called2])
end
def test_passed?
result = TestResult.new
assert_true(result.passed?)
result.add_assertion
assert_true(result.passed?)
result.add_run
assert_true(result.passed?)
result.add_failure("")
assert_false(result.passed?)
result = TestResult.new
result.add_error("")
assert_false(result.passed?)
end
def test_faults
assert_equal([@failure, @error], @my_result.faults)
notification = "notification"
@my_result.add_notification(notification)
assert_equal([@failure, @error, notification], @my_result.faults)
end
end
end
end
|