Class: TestCaseSet
- Inherits:
-
Object
- Object
- TestCaseSet
- Defined in:
- lib/test_case_set.rb
Instance Method Summary collapse
- #case_numbers ⇒ Object
- #condition_count ⇒ Object
- #create_cases ⇒ Object
- #formatted(format) ⇒ Object
- #formatted_input_to_condition_maping(format) ⇒ Object
- #identifier_range ⇒ Object
- #index_of(condition_identifier) ⇒ Object
-
#initialize(condition_identifiers, decision) ⇒ TestCaseSet
constructor
A new instance of TestCaseSet.
- #input_identifiers ⇒ Object
- #input_to_condition_mapping ⇒ Object
- #mcdc_pairs ⇒ Object
- #mcdc_pairs_for(condition_identifier) ⇒ Object
Constructor Details
#initialize(condition_identifiers, decision) ⇒ TestCaseSet
Returns a new instance of TestCaseSet.
6 7 8 9 10 |
# File 'lib/test_case_set.rb', line 6 def initialize(condition_identifiers, decision) @condition_identifiers = condition_identifiers @decision = decision @test_cases = create_cases end |
Instance Method Details
#case_numbers ⇒ Object
18 19 20 |
# File 'lib/test_case_set.rb', line 18 def case_numbers 1..2**condition_count end |
#condition_count ⇒ Object
22 23 24 |
# File 'lib/test_case_set.rb', line 22 def condition_count @condition_identifiers.count end |
#create_cases ⇒ Object
12 13 14 15 16 |
# File 'lib/test_case_set.rb', line 12 def create_cases case_numbers.map do |case_number| TestCase.new(case_number, condition_count, @decision) end end |
#formatted(format) ⇒ Object
62 63 64 65 66 |
# File 'lib/test_case_set.rb', line 62 def formatted(format) @test_cases.inject("") do |output, test_case| output += test_case.formatted(format) end end |
#formatted_input_to_condition_maping(format) ⇒ Object
56 57 58 59 60 |
# File 'lib/test_case_set.rb', line 56 def formatted_input_to_condition_maping(format) input_to_condition_mapping.inject("") do |output, input_condition_pair| output += format % input_condition_pair end end |
#identifier_range ⇒ Object
34 35 36 |
# File 'lib/test_case_set.rb', line 34 def identifier_range 'a'..'z' end |
#index_of(condition_identifier) ⇒ Object
52 53 54 |
# File 'lib/test_case_set.rb', line 52 def index_of(condition_identifier) identifier_range.to_a.index(condition_identifier) end |
#input_identifiers ⇒ Object
30 31 32 |
# File 'lib/test_case_set.rb', line 30 def input_identifiers identifier_range.take(condition_count) end |
#input_to_condition_mapping ⇒ Object
26 27 28 |
# File 'lib/test_case_set.rb', line 26 def input_to_condition_mapping input_identifiers.zip(@condition_identifiers) end |
#mcdc_pairs ⇒ Object
38 39 40 41 42 |
# File 'lib/test_case_set.rb', line 38 def mcdc_pairs input_identifiers.map do |condition_identifier| "#{condition_identifier} => #{mcdc_pairs_for(condition_identifier)}" end end |
#mcdc_pairs_for(condition_identifier) ⇒ Object
44 45 46 47 48 49 50 |
# File 'lib/test_case_set.rb', line 44 def mcdc_pairs_for(condition_identifier) @test_cases.inject([]) do |mcdc_cases, test_case| mcdc_pair = test_case.mcdc_pair(index_of(condition_identifier)) mcdc_cases << mcdc_pair if test_case.is_mcdc_case_for_index?(index_of(condition_identifier)) mcdc_cases end.uniq end |