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.
7 8 9 10 11 |
# File 'lib/test_case.rb', line 7 def initialize(number, condition_count, decision) @condition_value = number - 1 @condition_count = condition_count @decision = decision end |
Instance Method Details
#conditions ⇒ Object
18 19 20 |
# File 'lib/test_case.rb', line 18 def conditions @conditions ||= (@condition_value).to_array_of_bits(@condition_count) end |
#formatted(format) ⇒ Object
49 50 51 |
# File 'lib/test_case.rb', line 49 def formatted(format) "%2d) %s | %3d\n" % [number, conditions.join(' '), output] end |
#initialize_copy(source) ⇒ Object
13 14 15 16 |
# File 'lib/test_case.rb', line 13 def initialize_copy(source) super @conditions = conditions.dup end |
#is_mcdc_case_for_index?(index) ⇒ Boolean
35 36 37 38 |
# File 'lib/test_case.rb', line 35 def is_mcdc_case_for_index?(index) modified_case = negate_condition_at_index(index) modified_case.output != output end |
#mcdc_pair(index) ⇒ Object
30 31 32 33 |
# File 'lib/test_case.rb', line 30 def mcdc_pair(index) modified_case = negate_condition_at_index(index) [number, modified_case.number].sort end |
#negate_condition_at_index(index) ⇒ Object
40 41 42 |
# File 'lib/test_case.rb', line 40 def negate_condition_at_index(index) dup.negate_condition_at_index!(index) end |
#negate_condition_at_index!(index) ⇒ Object
44 45 46 47 |
# File 'lib/test_case.rb', line 44 def negate_condition_at_index!(index) conditions[index] = conditions[index].negate self end |
#number ⇒ Object
22 23 24 |
# File 'lib/test_case.rb', line 22 def number conditions.join.to_i(base = 2) + 1 end |
#output ⇒ Object
26 27 28 |
# File 'lib/test_case.rb', line 26 def output @decision.evaluate(conditions.dup) end |