Class: Generator::SectionTestData

Inherits:
Object
  • Object
show all
Defined in:
lib/au_ps_inferno/generator/sections_validation_group_generator.rb

Overview

Holds and manages test data for validating a section.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(section_data, metadata, version_suffix = '') ⇒ SectionTestData

Initializes a new SectionTestData.

Parameters:

  • section_data (Hash)

    Hash with keys: :short, :definition, :min, :max, :required, :mustSupport, :code, :entries

  • version_suffix (String) (defaults to: '')

    Optional version suffix (e.g. "100preview")



27
28
29
30
31
# File 'lib/au_ps_inferno/generator/sections_validation_group_generator.rb', line 27

def initialize(section_data, , version_suffix = '')
  @version_suffix = version_suffix.to_s
  @metadata = 
  assign_section_attributes(section_data)
end

Instance Attribute Details

#section_dataHash (readonly)

The hash containing section data.

Returns:

  • (Hash)

    the current value of section_data



21
22
23
# File 'lib/au_ps_inferno/generator/sections_validation_group_generator.rb', line 21

def section_data
  @section_data
end

Instance Method Details

#assign_section_attributes(section_data) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
# File 'lib/au_ps_inferno/generator/sections_validation_group_generator.rb', line 33

def assign_section_attributes(section_data)
  @id = section_data[:id]
  @short = section_data[:short]
  @definition = section_data[:definition]
  @min = section_data[:min]
  @max = section_data[:max]
  @required = section_data[:required]
  @must_support = section_data[:mustSupport]
  @code = section_data[:code]
  @entries = section_data[:entries]
end

#generate(output_base = nil) ⇒ void

This method returns an undefined value.

Generates a section-specific validation test file using the TestFileGenerator.

Parameters:

  • output_base (String, nil) (defaults to: nil)

    Optional base path for output



49
50
51
52
53
54
55
56
57
58
59
# File 'lib/au_ps_inferno/generator/sections_validation_group_generator.rb', line 49

def generate(output_base = nil)
  config = {
    template_file_path: 'au_ps_specific_section_validation_test.rb.erb',
    output_file_path: "#{test_id}.rb",
    attributes: build_attributes
  }
  config[:output_base] = output_base if output_base
  test_file_generator = TestFileGenerator.new(config)
  test_file_generator.generate
  test_file_generator.test_file_summary
end