Class: TestCase
- Inherits:
-
Object
- Object
- TestCase
- Defined in:
- lib/test_case.rb
Instance Method Summary collapse
- #conditions ⇒ Object
- #formatted(format) ⇒ Object
-
#initialize(number, condition_count, decision) ⇒ TestCase
constructor
A new instance of TestCase.
- #initialize_copy(source) ⇒ Object
- #is_mcdc_case_for_index?(index) ⇒ Boolean
- #mcdc_pair(index) ⇒ Object
- #negate_condition_at_index(index) ⇒ Object
- #negate_condition_at_index!(index) ⇒ Object
- #number ⇒ Object
- #output ⇒ Object
Constructor Details
#initialize(number, condition_count, decision) ⇒ TestCase
Returns a new instance of TestCase.
6 7 8 9 10 |
# File 'lib/test_case.rb', line 6 def initialize(number, condition_count, decision) @condition_value = number - 1 @condition_count = condition_count @decision = decision end |
Instance Method Details
#conditions ⇒ Object
17 18 19 |
# File 'lib/test_case.rb', line 17 def conditions @conditions ||= (@condition_value).to_array_of_bits(@condition_count) end |
#formatted(format) ⇒ Object
48 49 50 |
# File 'lib/test_case.rb', line 48 def formatted(format) "%2d) %s | %3d\n" % [number, conditions.join(' '), output] end |
#initialize_copy(source) ⇒ Object
12 13 14 15 |
# File 'lib/test_case.rb', line 12 def initialize_copy(source) super @conditions = conditions.dup end |
#is_mcdc_case_for_index?(index) ⇒ Boolean
34 35 36 37 |
# File 'lib/test_case.rb', line 34 def is_mcdc_case_for_index?(index) modified_case = negate_condition_at_index(index) modified_case.output != output end |
#mcdc_pair(index) ⇒ Object
29 30 31 32 |
# File 'lib/test_case.rb', line 29 def mcdc_pair(index) modified_case = negate_condition_at_index(index) [number, modified_case.number].sort end |
#negate_condition_at_index(index) ⇒ Object
39 40 41 |
# File 'lib/test_case.rb', line 39 def negate_condition_at_index(index) dup.negate_condition_at_index!(index) end |
#negate_condition_at_index!(index) ⇒ Object
43 44 45 46 |
# File 'lib/test_case.rb', line 43 def negate_condition_at_index!(index) conditions[index] = conditions[index].negate self end |
#number ⇒ Object
21 22 23 |
# File 'lib/test_case.rb', line 21 def number conditions.join.to_i(base = 2) + 1 end |
#output ⇒ Object
25 26 27 |
# File 'lib/test_case.rb', line 25 def output @decision.evaluate(conditions.dup) end |