Class: DaVinciPASTestKit::Generator
- Inherits:
-
Object
- Object
- DaVinciPASTestKit::Generator
show all
- Defined in:
- lib/davinci_pas_test_kit/generator.rb,
lib/davinci_pas_test_kit/generator/naming.rb,
lib/davinci_pas_test_kit/generator/ig_loader.rb,
lib/davinci_pas_test_kit/generator/ig_metadata.rb,
lib/davinci_pas_test_kit/generator/ig_resources.rb,
lib/davinci_pas_test_kit/generator/group_metadata.rb,
lib/davinci_pas_test_kit/generator/group_generator.rb,
lib/davinci_pas_test_kit/generator/suite_generator.rb,
lib/davinci_pas_test_kit/generator/value_extractor.rb,
lib/davinci_pas_test_kit/generator/ig_metadata_extractor.rb,
lib/davinci_pas_test_kit/generator/resource_list_generator.rb,
lib/davinci_pas_test_kit/generator/group_metadata_extractor.rb,
lib/davinci_pas_test_kit/generator/operation_test_generator.rb,
lib/davinci_pas_test_kit/generator/validation_test_generator.rb,
lib/davinci_pas_test_kit/generator/must_support_check_profiles.rb,
lib/davinci_pas_test_kit/generator/must_support_test_generator.rb,
lib/davinci_pas_test_kit/generator/terminology_binding_metadata_extractor.rb
Defined Under Namespace
Modules: MustSupportCheckProfiles, Naming
Classes: GroupGenerator, GroupMetadata, GroupMetadataExtractor, IGLoader, IGMetadata, IGMetadataExtractor, IGResources, MustSupportTestGenerator, OperationTestGenerator, ResourceListGenerator, SuiteGenerator, TerminologyBindingMetadataExtractor, ValidationTestGenerator, ValueExactor
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(ig_file_name) ⇒ Generator
Returns a new instance of Generator.
24
25
26
|
# File 'lib/davinci_pas_test_kit/generator.rb', line 24
def initialize(ig_file_name)
self.ig_file_name = ig_file_name
end
|
Instance Attribute Details
#ig_file_name ⇒ Object
Returns the value of attribute ig_file_name.
22
23
24
|
# File 'lib/davinci_pas_test_kit/generator.rb', line 22
def ig_file_name
@ig_file_name
end
|
Returns the value of attribute ig_metadata.
22
23
24
|
# File 'lib/davinci_pas_test_kit/generator.rb', line 22
def ig_metadata
@ig_metadata
end
|
#ig_resources ⇒ Object
Returns the value of attribute ig_resources.
22
23
24
|
# File 'lib/davinci_pas_test_kit/generator.rb', line 22
def ig_resources
@ig_resources
end
|
Class Method Details
.generate ⇒ Object
14
15
16
17
18
19
20
|
# File 'lib/davinci_pas_test_kit/generator.rb', line 14
def self.generate
ig_packages = Dir.glob(File.join(Dir.pwd, 'lib', 'davinci_pas_test_kit', 'igs', '*.tgz'))
ig_packages.each do |ig_package|
new(ig_package).generate
end
end
|
Instance Method Details
#base_output_dir ⇒ Object
52
53
54
|
# File 'lib/davinci_pas_test_kit/generator.rb', line 52
def base_output_dir
File.join(__dir__, 'generated', ig_metadata.ig_version)
end
|
45
46
47
48
49
50
|
# File 'lib/davinci_pas_test_kit/generator.rb', line 45
def
self.ig_metadata = IGMetadataExtractor.new(ig_resources).
FileUtils.mkdir_p(base_output_dir)
File.write(File.join(base_output_dir, 'metadata.yml'), YAML.dump(ig_metadata.to_hash))
end
|
#generate ⇒ Object
28
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/davinci_pas_test_kit/generator.rb', line 28
def generate
puts "Generating tests for IG #{File.basename(ig_file_name)}"
load_ig_package
generate_resource_list
generate_validation_tests
generate_operation_tests
generate_must_support_tests
generate_groups
generate_suites
end
|
#generate_groups ⇒ Object
68
69
70
|
# File 'lib/davinci_pas_test_kit/generator.rb', line 68
def generate_groups
GroupGenerator.generate(ig_metadata, base_output_dir)
end
|
#generate_must_support_tests ⇒ Object
76
77
78
|
# File 'lib/davinci_pas_test_kit/generator.rb', line 76
def generate_must_support_tests
MustSupportTestGenerator.generate(ig_metadata, base_output_dir)
end
|
#generate_operation_tests ⇒ Object
64
65
66
|
# File 'lib/davinci_pas_test_kit/generator.rb', line 64
def generate_operation_tests
OperationTestGenerator.generate(ig_metadata, base_output_dir)
end
|
#generate_resource_list ⇒ Object
56
57
58
|
# File 'lib/davinci_pas_test_kit/generator.rb', line 56
def generate_resource_list
ResourceListGenerator.generate(ig_metadata, base_output_dir)
end
|
#generate_suites ⇒ Object
72
73
74
|
# File 'lib/davinci_pas_test_kit/generator.rb', line 72
def generate_suites
SuiteGenerator.generate(ig_metadata, base_output_dir)
end
|
#generate_validation_tests ⇒ Object
60
61
62
|
# File 'lib/davinci_pas_test_kit/generator.rb', line 60
def generate_validation_tests
ValidationTestGenerator.generate(ig_metadata, base_output_dir)
end
|
#load_ig_package ⇒ Object
40
41
42
43
|
# File 'lib/davinci_pas_test_kit/generator.rb', line 40
def load_ig_package
FHIR.logger = Logger.new(File::NULL)
self.ig_resources = IGLoader.new(ig_file_name).load
end
|