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.
5 6 7 8 9 |
# File 'lib/test_case.rb', line 5 def initialize(number, condition_count, decision) @condition_value = number - 1 @condition_count = condition_count @decision = decision end |
Instance Method Details
#conditions ⇒ Object
16 17 18 |
# File 'lib/test_case.rb', line 16 def conditions @conditions ||= @condition_value.to_array_of_bits(@condition_count) end |
#formatted(format) ⇒ Object
47 48 49 |
# File 'lib/test_case.rb', line 47 def formatted(format) "%2d) %s | %3d\n" % [number, conditions.join(' '), output] end |
#initialize_copy(source) ⇒ Object
11 12 13 14 |
# File 'lib/test_case.rb', line 11 def initialize_copy(source) super @conditions = conditions.dup end |
#is_mcdc_case_for_index?(index) ⇒ Boolean
33 34 35 36 |
# File 'lib/test_case.rb', line 33 def is_mcdc_case_for_index?(index) modified_case = negate_condition_at_index(index) modified_case.output != output end |
#mcdc_pair(index) ⇒ Object
28 29 30 31 |
# File 'lib/test_case.rb', line 28 def mcdc_pair(index) modified_case = negate_condition_at_index(index) [number, modified_case.number].sort end |
#negate_condition_at_index(index) ⇒ Object
38 39 40 |
# File 'lib/test_case.rb', line 38 def negate_condition_at_index(index) dup.negate_condition_at_index!(index) end |
#negate_condition_at_index!(index) ⇒ Object
42 43 44 45 |
# File 'lib/test_case.rb', line 42 def negate_condition_at_index!(index) conditions[index] = conditions[index].negate self end |
#number ⇒ Object
20 21 22 |
# File 'lib/test_case.rb', line 20 def number conditions.join.to_i(_base = 2) + 1 end |
#output ⇒ Object
24 25 26 |
# File 'lib/test_case.rb', line 24 def output @decision.evaluate(conditions.dup) end |