expressir 0.2.24-x86-linux → 1.1.0-x86-linux

Sign up to get free protection for your applications and to get access to all the features.
Files changed (212) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +7 -6
  3. data/.gitignore +2 -2
  4. data/.yardopts +11 -0
  5. data/Rakefile +3 -0
  6. data/demo.rb +5 -5
  7. data/exe/format +10 -73
  8. data/exe/format-test +81 -0
  9. data/expressir.gemspec +3 -1
  10. data/lib/expressir.rb +0 -1
  11. data/lib/expressir/cli.rb +0 -6
  12. data/lib/expressir/{express_exp → express}/2.4/express_parser.so +0 -0
  13. data/lib/expressir/{express_exp → express}/2.5/express_parser.so +0 -0
  14. data/lib/expressir/{express_exp → express}/2.6/express_parser.so +0 -0
  15. data/lib/expressir/{express_exp → express}/2.7/express_parser.so +0 -0
  16. data/lib/expressir/{express_exp → express}/3.0/express_parser.so +0 -0
  17. data/lib/expressir/express/cache.rb +51 -0
  18. data/lib/expressir/{express_exp → express}/formatter.rb +306 -239
  19. data/lib/expressir/express/hyperlink_formatter.rb +36 -0
  20. data/lib/expressir/express/model_visitor.rb +24 -0
  21. data/lib/expressir/express/parser.rb +81 -0
  22. data/lib/expressir/express/resolve_references_model_visitor.rb +31 -0
  23. data/lib/expressir/express/schema_head_formatter.rb +23 -0
  24. data/lib/expressir/{express_exp → express}/visitor.rb +318 -270
  25. data/lib/expressir/model.rb +52 -43
  26. data/lib/expressir/model/cache.rb +6 -2
  27. data/lib/expressir/model/data_type.rb +9 -0
  28. data/lib/expressir/model/data_types/aggregate.rb +31 -0
  29. data/lib/expressir/model/data_types/array.rb +31 -0
  30. data/lib/expressir/model/data_types/bag.rb +25 -0
  31. data/lib/expressir/model/data_types/binary.rb +22 -0
  32. data/lib/expressir/model/data_types/boolean.rb +10 -0
  33. data/lib/expressir/model/data_types/enumeration.rb +25 -0
  34. data/lib/expressir/model/data_types/enumeration_item.rb +26 -0
  35. data/lib/expressir/model/data_types/generic.rb +26 -0
  36. data/lib/expressir/model/data_types/generic_entity.rb +26 -0
  37. data/lib/expressir/model/data_types/integer.rb +10 -0
  38. data/lib/expressir/model/data_types/list.rb +28 -0
  39. data/lib/expressir/model/data_types/logical.rb +10 -0
  40. data/lib/expressir/model/data_types/number.rb +10 -0
  41. data/lib/expressir/model/data_types/real.rb +19 -0
  42. data/lib/expressir/model/data_types/select.rb +28 -0
  43. data/lib/expressir/model/data_types/set.rb +25 -0
  44. data/lib/expressir/model/data_types/string.rb +22 -0
  45. data/lib/expressir/model/declaration.rb +9 -0
  46. data/lib/expressir/model/declarations/attribute.rb +47 -0
  47. data/lib/expressir/model/declarations/constant.rb +34 -0
  48. data/lib/expressir/model/declarations/entity.rb +53 -0
  49. data/lib/expressir/model/declarations/function.rb +67 -0
  50. data/lib/expressir/model/declarations/interface.rb +28 -0
  51. data/lib/expressir/model/declarations/interface_item.rb +23 -0
  52. data/lib/expressir/model/declarations/interfaced_item.rb +37 -0
  53. data/lib/expressir/model/declarations/parameter.rb +34 -0
  54. data/lib/expressir/model/declarations/procedure.rb +64 -0
  55. data/lib/expressir/model/declarations/remark_item.rb +21 -0
  56. data/lib/expressir/model/declarations/rule.rb +71 -0
  57. data/lib/expressir/model/declarations/schema.rb +117 -0
  58. data/lib/expressir/model/declarations/schema_version.rb +22 -0
  59. data/lib/expressir/model/declarations/schema_version_item.rb +22 -0
  60. data/lib/expressir/model/declarations/subtype_constraint.rb +40 -0
  61. data/lib/expressir/model/declarations/type.rb +45 -0
  62. data/lib/expressir/model/declarations/unique_rule.rb +31 -0
  63. data/lib/expressir/model/declarations/variable.rb +34 -0
  64. data/lib/expressir/model/declarations/where_rule.rb +31 -0
  65. data/lib/expressir/model/expression.rb +9 -0
  66. data/lib/expressir/model/expressions/aggregate_initializer.rb +7 -3
  67. data/lib/expressir/model/expressions/aggregate_initializer_item.rb +22 -0
  68. data/lib/expressir/model/expressions/binary_expression.rb +16 -5
  69. data/lib/expressir/model/expressions/entity_constructor.rb +9 -4
  70. data/lib/expressir/model/expressions/function_call.rb +22 -0
  71. data/lib/expressir/model/expressions/interval.rb +17 -6
  72. data/lib/expressir/model/expressions/query_expression.rb +11 -7
  73. data/lib/expressir/model/expressions/unary_expression.rb +9 -3
  74. data/lib/expressir/model/identifier.rb +26 -4
  75. data/lib/expressir/model/literal.rb +9 -0
  76. data/lib/expressir/model/literals/binary.rb +6 -2
  77. data/lib/expressir/model/literals/integer.rb +6 -2
  78. data/lib/expressir/model/literals/logical.rb +6 -2
  79. data/lib/expressir/model/literals/real.rb +6 -2
  80. data/lib/expressir/model/literals/string.rb +8 -3
  81. data/lib/expressir/model/model_element.rb +70 -37
  82. data/lib/expressir/model/reference.rb +9 -0
  83. data/lib/expressir/model/references/attribute_reference.rb +22 -0
  84. data/lib/expressir/model/references/group_reference.rb +22 -0
  85. data/lib/expressir/model/references/index_reference.rb +27 -0
  86. data/lib/expressir/model/references/simple_reference.rb +24 -0
  87. data/lib/expressir/model/repository.rb +8 -2
  88. data/lib/expressir/model/statement.rb +9 -0
  89. data/lib/expressir/model/statements/alias.rb +12 -8
  90. data/lib/expressir/model/statements/assignment.rb +8 -3
  91. data/lib/expressir/model/statements/case.rb +11 -5
  92. data/lib/expressir/model/statements/case_action.rb +8 -3
  93. data/lib/expressir/model/statements/compound.rb +7 -3
  94. data/lib/expressir/model/statements/escape.rb +3 -1
  95. data/lib/expressir/model/statements/if.rb +12 -6
  96. data/lib/expressir/model/statements/null.rb +3 -1
  97. data/lib/expressir/model/statements/procedure_call.rb +22 -0
  98. data/lib/expressir/model/statements/repeat.rb +20 -12
  99. data/lib/expressir/model/statements/return.rb +6 -2
  100. data/lib/expressir/model/statements/skip.rb +3 -1
  101. data/lib/expressir/model/supertype_expression.rb +9 -0
  102. data/lib/expressir/model/supertype_expressions/binary_supertype_expression.rb +29 -0
  103. data/lib/expressir/model/supertype_expressions/oneof_supertype_expression.rb +19 -0
  104. data/lib/expressir/version.rb +1 -1
  105. data/rakelib/cross-ruby.rake +1 -1
  106. data/spec/expressir/{express_exp → express}/cache_spec.rb +9 -9
  107. data/spec/expressir/express/formatter_spec.rb +127 -0
  108. data/spec/expressir/{express_exp → express}/parser_spec.rb +24 -24
  109. data/spec/expressir/model/model_element_spec.rb +181 -129
  110. data/{original/examples → spec}/syntax/multiple.exp +1 -1
  111. data/spec/syntax/multiple.yaml +198 -0
  112. data/{original/examples → spec}/syntax/multiple_formatted.exp +1 -1
  113. data/{original/examples → spec}/syntax/multiple_hyperlink_formatted.exp +4 -4
  114. data/{original/examples → spec}/syntax/multiple_schema_head_hyperlink_formatted.exp +1 -1
  115. data/{original/examples → spec}/syntax/remark.exp +0 -0
  116. data/{original/examples → spec}/syntax/remark.yaml +87 -73
  117. data/{original/examples → spec}/syntax/remark_formatted.exp +0 -0
  118. data/spec/syntax/single.exp +4 -0
  119. data/spec/syntax/single.yaml +18 -0
  120. data/spec/syntax/single_formatted.exp +10 -0
  121. data/spec/syntax/single_formatted.yaml +36 -0
  122. data/{original/examples → spec}/syntax/syntax.exp +11 -11
  123. data/{original/examples → spec}/syntax/syntax.yaml +1181 -1111
  124. data/{original/examples → spec}/syntax/syntax_formatted.exp +11 -11
  125. data/spec/syntax/syntax_hyperlink_formatted.exp +902 -0
  126. data/{original/examples → spec}/syntax/syntax_schema_head_formatted.exp +1 -1
  127. metadata +124 -114
  128. data/lib/expressir/express.rb +0 -11
  129. data/lib/expressir/express/aggregate_dimension.rb +0 -38
  130. data/lib/expressir/express/attribute.rb +0 -15
  131. data/lib/expressir/express/comment.rb +0 -7
  132. data/lib/expressir/express/defined_type.rb +0 -36
  133. data/lib/expressir/express/derived.rb +0 -65
  134. data/lib/expressir/express/derived_aggregate.rb +0 -43
  135. data/lib/expressir/express/entity.rb +0 -137
  136. data/lib/expressir/express/explicit.rb +0 -70
  137. data/lib/expressir/express/explicit_aggregate.rb +0 -46
  138. data/lib/expressir/express/explicit_or_derived.rb +0 -16
  139. data/lib/expressir/express/global_rule.rb +0 -44
  140. data/lib/expressir/express/interface_specification.rb +0 -51
  141. data/lib/expressir/express/interfaced_item.rb +0 -38
  142. data/lib/expressir/express/inverse.rb +0 -46
  143. data/lib/expressir/express/inverse_aggregate.rb +0 -37
  144. data/lib/expressir/express/model_element.rb +0 -7
  145. data/lib/expressir/express/named_type.rb +0 -19
  146. data/lib/expressir/express/remark.rb +0 -8
  147. data/lib/expressir/express/repository.rb +0 -306
  148. data/lib/expressir/express/schema_definition.rb +0 -96
  149. data/lib/expressir/express/subtype_constraint.rb +0 -14
  150. data/lib/expressir/express/type.rb +0 -26
  151. data/lib/expressir/express/type_aggregate.rb +0 -42
  152. data/lib/expressir/express/type_enum.rb +0 -29
  153. data/lib/expressir/express/type_parser.rb +0 -45
  154. data/lib/expressir/express/type_select.rb +0 -82
  155. data/lib/expressir/express/unique_rule.rb +0 -35
  156. data/lib/expressir/express/where_rule.rb +0 -32
  157. data/lib/expressir/express_exp/cache.rb +0 -48
  158. data/lib/expressir/express_exp/hyperlink_formatter.rb +0 -27
  159. data/lib/expressir/express_exp/parser.rb +0 -64
  160. data/lib/expressir/express_exp/schema_head_formatter.rb +0 -9
  161. data/lib/expressir/express_parser.rb +0 -30
  162. data/lib/expressir/model/attribute.rb +0 -38
  163. data/lib/expressir/model/constant.rb +0 -28
  164. data/lib/expressir/model/entity.rb +0 -42
  165. data/lib/expressir/model/enumeration_item.rb +0 -22
  166. data/lib/expressir/model/expressions/aggregate_item.rb +0 -17
  167. data/lib/expressir/model/expressions/attribute_reference.rb +0 -17
  168. data/lib/expressir/model/expressions/call.rb +0 -17
  169. data/lib/expressir/model/expressions/group_reference.rb +0 -17
  170. data/lib/expressir/model/expressions/index_reference.rb +0 -19
  171. data/lib/expressir/model/expressions/simple_reference.rb +0 -15
  172. data/lib/expressir/model/function.rb +0 -57
  173. data/lib/expressir/model/interface.rb +0 -20
  174. data/lib/expressir/model/interface_item.rb +0 -15
  175. data/lib/expressir/model/interfaced_item.rb +0 -31
  176. data/lib/expressir/model/parameter.rb +0 -28
  177. data/lib/expressir/model/procedure.rb +0 -55
  178. data/lib/expressir/model/remark_item.rb +0 -15
  179. data/lib/expressir/model/rule.rb +0 -60
  180. data/lib/expressir/model/schema.rb +0 -98
  181. data/lib/expressir/model/statements/call.rb +0 -17
  182. data/lib/expressir/model/subtype_constraint.rb +0 -32
  183. data/lib/expressir/model/type.rb +0 -37
  184. data/lib/expressir/model/types/aggregate.rb +0 -28
  185. data/lib/expressir/model/types/array.rb +0 -23
  186. data/lib/expressir/model/types/bag.rb +0 -19
  187. data/lib/expressir/model/types/binary.rb +0 -17
  188. data/lib/expressir/model/types/boolean.rb +0 -8
  189. data/lib/expressir/model/types/enumeration.rb +0 -21
  190. data/lib/expressir/model/types/generic.rb +0 -24
  191. data/lib/expressir/model/types/generic_entity.rb +0 -24
  192. data/lib/expressir/model/types/integer.rb +0 -8
  193. data/lib/expressir/model/types/list.rb +0 -21
  194. data/lib/expressir/model/types/logical.rb +0 -8
  195. data/lib/expressir/model/types/number.rb +0 -8
  196. data/lib/expressir/model/types/real.rb +0 -15
  197. data/lib/expressir/model/types/select.rb +0 -23
  198. data/lib/expressir/model/types/set.rb +0 -19
  199. data/lib/expressir/model/types/string.rb +0 -17
  200. data/lib/expressir/model/unique.rb +0 -26
  201. data/lib/expressir/model/variable.rb +0 -28
  202. data/lib/expressir/model/where.rb +0 -26
  203. data/lib/expressir/parser.rb +0 -6
  204. data/lib/expressir/parser/owl_parser.rb +0 -8
  205. data/original/examples/syntax/multiple.yaml +0 -184
  206. data/original/examples/syntax/single.exp +0 -3
  207. data/original/examples/syntax/single.yaml +0 -9
  208. data/original/examples/syntax/single_formatted.exp +0 -6
  209. data/original/examples/syntax/single_formatted.yaml +0 -19
  210. data/spec/acceptance/express_to_owl_spec.rb +0 -18
  211. data/spec/expressir/express/repository_spec.rb +0 -25
  212. data/spec/expressir/express_exp/formatter_spec.rb +0 -111
@@ -0,0 +1,29 @@
1
+ module Expressir
2
+ module Model
3
+ module SupertypeExpressions
4
+ # Specified in ISO 10303-11:2004
5
+ # - section 9.2.5.3 ANDOR
6
+ # - section 9.2.5.4 AND
7
+ class BinarySupertypeExpression < SupertypeExpression
8
+ AND = :AND
9
+ ANDOR = :ANDOR
10
+
11
+ model_attr_accessor :operator, ':AND, :ANDOR'
12
+ model_attr_accessor :operand1, 'SupertypeExpression'
13
+ model_attr_accessor :operand2, 'SupertypeExpression'
14
+
15
+ # @param [Hash] options
16
+ # @option options [:AND, :ANDOR] :operator
17
+ # @option options [SupertypeExpression] :operand1
18
+ # @option options [SupertypeExpression] :operand2
19
+ def initialize(options = {})
20
+ @operator = options[:operator]
21
+ @operand1 = options[:operand1]
22
+ @operand2 = options[:operand2]
23
+
24
+ super
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,19 @@
1
+ module Expressir
2
+ module Model
3
+ module SupertypeExpressions
4
+ # Specified in ISO 10303-11:2004
5
+ # - section 9.2.5.2 ONEOF
6
+ class OneofSupertypeExpression < SupertypeExpression
7
+ model_attr_accessor :operands, 'Array<SupertypeExpression>'
8
+
9
+ # @param [Hash] options
10
+ # @option options [Array<SupertypeExpression>] :operands
11
+ def initialize(options = {})
12
+ @operands = options[:operands]
13
+
14
+ super
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,3 +1,3 @@
1
1
  module Expressir
2
- VERSION = "0.2.24".freeze
2
+ VERSION = "1.1.0".freeze
3
3
  end
@@ -296,7 +296,7 @@ require "rake/extensiontask"
296
296
 
297
297
  Rake::ExtensionTask.new("express_parser", GEMSPEC) do |ext|
298
298
  ext.ext_dir = "ext/express-parser"
299
- ext.lib_dir = File.join(*['lib', 'expressir', 'express_exp', ENV['FAT_DIR']].compact)
299
+ ext.lib_dir = File.join(*['lib', 'expressir', 'express', ENV['FAT_DIR']].compact)
300
300
  ext.config_options << ENV['EXTOPTS']
301
301
  ext.cross_compile = true
302
302
  ext.cross_platform = CROSS_RUBIES.map(&:platform).uniq
@@ -1,10 +1,10 @@
1
1
  require "yaml"
2
2
  require "tempfile"
3
3
  require "spec_helper"
4
- require "expressir/express_exp/parser"
5
- require "expressir/express_exp/cache"
4
+ require "expressir/express/parser"
5
+ require "expressir/express/cache"
6
6
 
7
- RSpec.describe Expressir::ExpressExp::Cache do
7
+ RSpec.describe Expressir::Express::Cache do
8
8
  TEST_VERSION = "0.0.0"
9
9
 
10
10
  describe ".to_file" do
@@ -14,7 +14,7 @@ RSpec.describe Expressir::ExpressExp::Cache do
14
14
  repository = Expressir::Model::Repository.new
15
15
 
16
16
  begin
17
- Expressir::ExpressExp::Cache.to_file(temp_file, repository, test_overwrite_version: TEST_VERSION)
17
+ Expressir::Express::Cache.to_file(temp_file, repository, test_overwrite_version: TEST_VERSION)
18
18
 
19
19
  size = File.size(temp_file)
20
20
 
@@ -33,9 +33,9 @@ RSpec.describe Expressir::ExpressExp::Cache do
33
33
  repository = Expressir::Model::Repository.new
34
34
 
35
35
  begin
36
- Expressir::ExpressExp::Cache.to_file(temp_file, repository, test_overwrite_version: TEST_VERSION)
36
+ Expressir::Express::Cache.to_file(temp_file, repository, test_overwrite_version: TEST_VERSION)
37
37
 
38
- result = Expressir::ExpressExp::Cache.from_file(temp_file, test_overwrite_version: TEST_VERSION)
38
+ result = Expressir::Express::Cache.from_file(temp_file, test_overwrite_version: TEST_VERSION)
39
39
 
40
40
  expect(result).to be_instance_of(Expressir::Model::Repository)
41
41
  ensure
@@ -50,11 +50,11 @@ RSpec.describe Expressir::ExpressExp::Cache do
50
50
  repository = Expressir::Model::Repository.new
51
51
 
52
52
  begin
53
- Expressir::ExpressExp::Cache.to_file(temp_file, repository, test_overwrite_version: TEST_VERSION)
53
+ Expressir::Express::Cache.to_file(temp_file, repository, test_overwrite_version: TEST_VERSION)
54
54
 
55
55
  expect do
56
- Expressir::ExpressExp::Cache.from_file(temp_file)
57
- end.to raise_error(Expressir::ExpressExp::CacheLoadError)
56
+ Expressir::Express::Cache.from_file(temp_file)
57
+ end.to raise_error(Expressir::Error)
58
58
  ensure
59
59
  temp_file.close
60
60
  temp_file.unlink
@@ -0,0 +1,127 @@
1
+ require "yaml"
2
+ require "spec_helper"
3
+ require "expressir/express/parser"
4
+ require "expressir/express/formatter"
5
+ require "expressir/express/schema_head_formatter"
6
+ require "expressir/express/hyperlink_formatter"
7
+
8
+ RSpec.describe Expressir::Express::Formatter do
9
+ describe ".format" do
10
+ it "exports an object (single.exp)" do
11
+ exp_file = Expressir.root_path.join("spec", "syntax", "single.exp")
12
+ formatted_exp_file = Expressir.root_path.join("spec", "syntax", "single_formatted.exp")
13
+
14
+ repo = Expressir::Express::Parser.from_file(exp_file)
15
+
16
+ result = Expressir::Express::Formatter.format(repo)
17
+ # File.write(formatted_exp_file, result)
18
+ expected_result = File.read(formatted_exp_file)
19
+
20
+ expect(result).to eq(expected_result)
21
+ end
22
+
23
+ it "exports an object (multiple.exp)" do
24
+ exp_file = Expressir.root_path.join("spec", "syntax", "multiple.exp")
25
+ formatted_exp_file = Expressir.root_path.join("spec", "syntax", "multiple_formatted.exp")
26
+
27
+ repo = Expressir::Express::Parser.from_file(exp_file)
28
+
29
+ result = Expressir::Express::Formatter.format(repo)
30
+ # File.write(formatted_exp_file, result)
31
+ expected_result = File.read(formatted_exp_file)
32
+
33
+ expect(result).to eq(expected_result)
34
+ end
35
+
36
+ it "exports an object (remark.exp)" do
37
+ exp_file = Expressir.root_path.join("spec", "syntax", "remark.exp")
38
+ formatted_exp_file = Expressir.root_path.join("spec", "syntax", "remark_formatted.exp")
39
+
40
+ repo = Expressir::Express::Parser.from_file(exp_file)
41
+
42
+ result = Expressir::Express::Formatter.format(repo)
43
+ # File.write(formatted_exp_file, result)
44
+ expected_result = File.read(formatted_exp_file)
45
+
46
+ expect(result).to eq(expected_result)
47
+ end
48
+
49
+ it "exports an object (syntax.exp)" do
50
+ exp_file = Expressir.root_path.join("spec", "syntax", "syntax.exp")
51
+ formatted_exp_file = Expressir.root_path.join("spec", "syntax", "syntax_formatted.exp")
52
+
53
+ repo = Expressir::Express::Parser.from_file(exp_file)
54
+
55
+ result = Expressir::Express::Formatter.format(repo)
56
+ # File.write(formatted_exp_file, result)
57
+ expected_result = File.read(formatted_exp_file)
58
+
59
+ expect(result).to eq(expected_result)
60
+ end
61
+
62
+ it "exports an object with schema head formatter (syntax.exp)" do
63
+ exp_file = Expressir.root_path.join("spec", "syntax", "syntax.exp")
64
+ formatted_exp_file = Expressir.root_path.join("spec", "syntax", "syntax_schema_head_formatted.exp")
65
+
66
+ repo = Expressir::Express::Parser.from_file(exp_file)
67
+
68
+ formatter = Class.new(Expressir::Express::Formatter) do
69
+ include Expressir::Express::SchemaHeadFormatter
70
+ end
71
+ result = formatter.format(repo)
72
+ # File.write(formatted_exp_file, result)
73
+ expected_result = File.read(formatted_exp_file)
74
+
75
+ expect(result).to eq(expected_result)
76
+ end
77
+
78
+ it "exports an object with hyperlink formatter (syntax.exp)" do
79
+ exp_file = Expressir.root_path.join("spec", "syntax", "syntax.exp")
80
+ formatted_exp_file = Expressir.root_path.join("spec", "syntax", "syntax_hyperlink_formatted.exp")
81
+
82
+ repo = Expressir::Express::Parser.from_file(exp_file)
83
+
84
+ formatter = Class.new(Expressir::Express::Formatter) do
85
+ include Expressir::Express::HyperlinkFormatter
86
+ end
87
+ result = formatter.format(repo)
88
+ # File.write(formatted_exp_file, result)
89
+ expected_result = File.read(formatted_exp_file)
90
+
91
+ expect(result).to eq(expected_result)
92
+ end
93
+
94
+ it "exports an object with hyperlink formatter (multiple.exp)" do
95
+ exp_file = Expressir.root_path.join("spec", "syntax", "multiple.exp")
96
+ formatted_exp_file = Expressir.root_path.join("spec", "syntax", "multiple_hyperlink_formatted.exp")
97
+
98
+ repo = Expressir::Express::Parser.from_file(exp_file)
99
+
100
+ formatter = Class.new(Expressir::Express::Formatter) do
101
+ include Expressir::Express::HyperlinkFormatter
102
+ end
103
+ result = formatter.format(repo)
104
+ # File.write(formatted_exp_file, result)
105
+ expected_result = File.read(formatted_exp_file)
106
+
107
+ expect(result).to eq(expected_result)
108
+ end
109
+
110
+ it "exports an object with schema head and hyperlink formatter (multiple.exp)" do
111
+ exp_file = Expressir.root_path.join("spec", "syntax", "multiple.exp")
112
+ formatted_exp_file = Expressir.root_path.join("spec", "syntax", "multiple_schema_head_hyperlink_formatted.exp")
113
+
114
+ repo = Expressir::Express::Parser.from_file(exp_file)
115
+
116
+ formatter = Class.new(Expressir::Express::Formatter) do
117
+ include Expressir::Express::SchemaHeadFormatter
118
+ include Expressir::Express::HyperlinkFormatter
119
+ end
120
+ result = formatter.format(repo)
121
+ # File.write(formatted_exp_file, result)
122
+ expected_result = File.read(formatted_exp_file)
123
+
124
+ expect(result).to eq(expected_result)
125
+ end
126
+ end
127
+ end
@@ -1,15 +1,15 @@
1
1
  require "yaml"
2
2
  require "spec_helper"
3
- require "expressir/express_exp/parser"
3
+ require "expressir/express/parser"
4
4
 
5
- RSpec.describe Expressir::ExpressExp::Parser do
5
+ RSpec.describe Expressir::Express::Parser do
6
6
  describe ".from_file" do
7
7
  it "parses a file (single.exp)" do
8
- exp_file = Expressir.root_path.join("original", "examples", "syntax", "single.exp")
9
- yaml_file = Expressir.root_path.join("original", "examples", "syntax", "single.yaml")
8
+ exp_file = Expressir.root_path.join("spec", "syntax", "single.exp")
9
+ yaml_file = Expressir.root_path.join("spec", "syntax", "single.yaml")
10
10
 
11
- repo = Expressir::ExpressExp::Parser.from_file(exp_file)
12
- result = YAML.dump(repo.to_hash(root_path: Expressir.root_path, skip_empty: true))
11
+ repo = Expressir::Express::Parser.from_file(exp_file)
12
+ result = YAML.dump(repo.to_hash(root_path: Expressir.root_path))
13
13
  # File.write(yaml_file, result)
14
14
  expected_result = File.read(yaml_file)
15
15
 
@@ -17,11 +17,11 @@ RSpec.describe Expressir::ExpressExp::Parser do
17
17
  end
18
18
 
19
19
  it "parses a file (multiple.exp)" do
20
- exp_file = Expressir.root_path.join("original", "examples", "syntax", "multiple.exp")
21
- yaml_file = Expressir.root_path.join("original", "examples", "syntax", "multiple.yaml")
20
+ exp_file = Expressir.root_path.join("spec", "syntax", "multiple.exp")
21
+ yaml_file = Expressir.root_path.join("spec", "syntax", "multiple.yaml")
22
22
 
23
- repo = Expressir::ExpressExp::Parser.from_file(exp_file)
24
- result = YAML.dump(repo.to_hash(root_path: Expressir.root_path, skip_empty: true))
23
+ repo = Expressir::Express::Parser.from_file(exp_file)
24
+ result = YAML.dump(repo.to_hash(root_path: Expressir.root_path))
25
25
  # File.write(yaml_file, result)
26
26
  expected_result = File.read(yaml_file)
27
27
 
@@ -29,11 +29,11 @@ RSpec.describe Expressir::ExpressExp::Parser do
29
29
  end
30
30
 
31
31
  it "parses a file (syntax.exp)" do
32
- exp_file = Expressir.root_path.join("original", "examples", "syntax", "syntax.exp")
33
- yaml_file = Expressir.root_path.join("original", "examples", "syntax", "syntax.yaml")
32
+ exp_file = Expressir.root_path.join("spec", "syntax", "syntax.exp")
33
+ yaml_file = Expressir.root_path.join("spec", "syntax", "syntax.yaml")
34
34
 
35
- repo = Expressir::ExpressExp::Parser.from_file(exp_file)
36
- result = YAML.dump(repo.to_hash(root_path: Expressir.root_path, skip_empty: true))
35
+ repo = Expressir::Express::Parser.from_file(exp_file)
36
+ result = YAML.dump(repo.to_hash(root_path: Expressir.root_path))
37
37
  # File.write(yaml_file, result)
38
38
  expected_result = File.read(yaml_file)
39
39
 
@@ -41,11 +41,11 @@ RSpec.describe Expressir::ExpressExp::Parser do
41
41
  end
42
42
 
43
43
  it "parses a file (remark.exp)" do
44
- exp_file = Expressir.root_path.join("original", "examples", "syntax", "remark.exp")
45
- yaml_file = Expressir.root_path.join("original", "examples", "syntax", "remark.yaml")
44
+ exp_file = Expressir.root_path.join("spec", "syntax", "remark.exp")
45
+ yaml_file = Expressir.root_path.join("spec", "syntax", "remark.yaml")
46
46
 
47
- repo = Expressir::ExpressExp::Parser.from_file(exp_file)
48
- result = YAML.dump(repo.to_hash(root_path: Expressir.root_path, skip_empty: true))
47
+ repo = Expressir::Express::Parser.from_file(exp_file)
48
+ result = YAML.dump(repo.to_hash(root_path: Expressir.root_path))
49
49
  # File.write(yaml_file, result)
50
50
  expected_result = File.read(yaml_file)
51
51
 
@@ -53,10 +53,10 @@ RSpec.describe Expressir::ExpressExp::Parser do
53
53
  end
54
54
 
55
55
  it "parses a file including original source (multiple.exp)" do
56
- exp_file = Expressir.root_path.join("original", "examples", "syntax", "multiple.exp")
56
+ exp_file = Expressir.root_path.join("spec", "syntax", "multiple.exp")
57
57
 
58
58
  input = File.read(exp_file)
59
- repo = Expressir::ExpressExp::Parser.from_file(exp_file, include_source: true)
59
+ repo = Expressir::Express::Parser.from_file(exp_file, include_source: true)
60
60
 
61
61
  schema = repo.schemas.first
62
62
  start_index = input.index("SCHEMA")
@@ -75,18 +75,18 @@ RSpec.describe Expressir::ExpressExp::Parser do
75
75
  describe ".from_files" do
76
76
  it "parses multiple files (single.exp, multiple.exp)" do
77
77
  exp_files = [
78
- Expressir.root_path.join("original", "examples", "syntax", "single.exp"),
79
- Expressir.root_path.join("original", "examples", "syntax", "multiple.exp")
78
+ Expressir.root_path.join("spec", "syntax", "single.exp"),
79
+ Expressir.root_path.join("spec", "syntax", "multiple.exp")
80
80
  ]
81
81
 
82
- repo = Expressir::ExpressExp::Parser.from_files(exp_files)
82
+ repo = Expressir::Express::Parser.from_files(exp_files)
83
83
 
84
84
  schemas = repo.schemas
85
85
  expect(schemas.count).to eq(5)
86
86
  expect(schemas[0].file).to eq(exp_files[0].to_s)
87
87
  expect(schemas[0].id).to eq("single_schema")
88
88
  expect(schemas[1].file).to eq(exp_files[1].to_s)
89
- expect(schemas[1].id).to eq("multiple_schema1")
89
+ expect(schemas[1].id).to eq("multiple_schema")
90
90
  expect(schemas[2].file).to eq(exp_files[1].to_s)
91
91
  expect(schemas[2].id).to eq("multiple_schema2")
92
92
  expect(schemas[3].file).to eq(exp_files[1].to_s)
@@ -1,18 +1,18 @@
1
1
 
2
2
  require "yaml"
3
3
  require "spec_helper"
4
- require "expressir/express_exp/parser"
5
- require "expressir/express_exp/formatter"
4
+ require "expressir/express/parser"
5
+ require "expressir/express/formatter"
6
6
 
7
7
  RSpec.describe Expressir::Model::ModelElement do
8
8
  describe ".to_hash" do
9
9
  it "exports an object with a formatter (single.exp)" do
10
- exp_file = Expressir.root_path.join("original", "examples", "syntax", "single.exp")
11
- yaml_file = Expressir.root_path.join("original", "examples", "syntax", "single_formatted.yaml")
10
+ exp_file = Expressir.root_path.join("spec", "syntax", "single.exp")
11
+ yaml_file = Expressir.root_path.join("spec", "syntax", "single_formatted.yaml")
12
12
 
13
- repo = Expressir::ExpressExp::Parser.from_file(exp_file)
13
+ repo = Expressir::Express::Parser.from_file(exp_file)
14
14
 
15
- result = YAML.dump(repo.to_hash(root_path: Expressir.root_path, formatter: Expressir::ExpressExp::Formatter, skip_empty: true))
15
+ result = YAML.dump(repo.to_hash(root_path: Expressir.root_path, formatter: Expressir::Express::Formatter))
16
16
  # File.write(yaml_file, result)
17
17
  expected_result = File.read(yaml_file)
18
18
 
@@ -22,48 +22,48 @@ RSpec.describe Expressir::Model::ModelElement do
22
22
 
23
23
  describe ".from_hash" do
24
24
  it "parses an object (single.yaml)" do
25
- yaml_file = Expressir.root_path.join("original", "examples", "syntax", "single.yaml")
25
+ yaml_file = Expressir.root_path.join("spec", "syntax", "single.yaml")
26
26
 
27
27
  input = YAML.load(File.read(yaml_file))
28
28
  repo = Expressir::Model::ModelElement.from_hash(input, root_path: Expressir.root_path)
29
29
 
30
- result = YAML.dump(repo.to_hash(root_path: Expressir.root_path, skip_empty: true))
30
+ result = YAML.dump(repo.to_hash(root_path: Expressir.root_path))
31
31
  expected_result = File.read(yaml_file)
32
32
 
33
33
  expect(result).to eq(expected_result)
34
34
  end
35
35
 
36
36
  it "parses an object (multiple.yaml)" do
37
- yaml_file = Expressir.root_path.join("original", "examples", "syntax", "multiple.yaml")
37
+ yaml_file = Expressir.root_path.join("spec", "syntax", "multiple.yaml")
38
38
 
39
39
  input = YAML.load(File.read(yaml_file))
40
40
  repo = Expressir::Model::ModelElement.from_hash(input, root_path: Expressir.root_path)
41
41
 
42
- result = YAML.dump(repo.to_hash(root_path: Expressir.root_path, skip_empty: true))
42
+ result = YAML.dump(repo.to_hash(root_path: Expressir.root_path))
43
43
  expected_result = File.read(yaml_file)
44
44
 
45
45
  expect(result).to eq(expected_result)
46
46
  end
47
47
 
48
48
  it "parses an object (syntax.yaml)" do
49
- yaml_file = Expressir.root_path.join("original", "examples", "syntax", "syntax.yaml")
49
+ yaml_file = Expressir.root_path.join("spec", "syntax", "syntax.yaml")
50
50
 
51
51
  input = YAML.load(File.read(yaml_file))
52
52
  repo = Expressir::Model::ModelElement.from_hash(input, root_path: Expressir.root_path)
53
53
 
54
- result = YAML.dump(repo.to_hash(root_path: Expressir.root_path, skip_empty: true))
54
+ result = YAML.dump(repo.to_hash(root_path: Expressir.root_path))
55
55
  expected_result = File.read(yaml_file)
56
56
 
57
57
  expect(result).to eq(expected_result)
58
58
  end
59
59
 
60
60
  it "parses an object (remark.yaml)" do
61
- yaml_file = Expressir.root_path.join("original", "examples", "syntax", "remark.yaml")
61
+ yaml_file = Expressir.root_path.join("spec", "syntax", "remark.yaml")
62
62
 
63
63
  input = YAML.load(File.read(yaml_file))
64
64
  repo = Expressir::Model::ModelElement.from_hash(input, root_path: Expressir.root_path)
65
65
 
66
- result = YAML.dump(repo.to_hash(root_path: Expressir.root_path, skip_empty: true))
66
+ result = YAML.dump(repo.to_hash(root_path: Expressir.root_path))
67
67
  expected_result = File.read(yaml_file)
68
68
 
69
69
  expect(result).to eq(expected_result)
@@ -71,144 +71,196 @@ RSpec.describe Expressir::Model::ModelElement do
71
71
  end
72
72
 
73
73
  describe ".find" do
74
- it "finds an object" do
75
- exp_file = Expressir.root_path.join("original", "examples", "syntax", "remark.exp")
74
+ it "finds an object (single.exp)" do
75
+ exp_file = Expressir.root_path.join("spec", "syntax", "single.exp")
76
76
 
77
- repo = Expressir::ExpressExp::Parser.from_file(exp_file)
77
+ repo = Expressir::Express::Parser.from_file(exp_file)
78
78
 
79
79
  # universal scope
80
- expect(repo.find('remark_schema')).to be_instance_of(Expressir::Model::Schema)
81
- expect(repo.find('remark_schema.remark_constant')).to be_instance_of(Expressir::Model::Constant)
82
- expect(repo.find('remark_schema.remark_type')).to be_instance_of(Expressir::Model::Type)
83
- expect(repo.find('remark_schema.remark_type.WR1')).to be_instance_of(Expressir::Model::Where)
84
- expect(repo.find('remark_schema.remark_type.wr:WR1')).to be_instance_of(Expressir::Model::Where)
85
- expect(repo.find('remark_schema.remark_type.IP1')).to be_instance_of(Expressir::Model::RemarkItem)
86
- expect(repo.find('remark_schema.remark_type.ip:IP1')).to be_instance_of(Expressir::Model::RemarkItem)
87
- expect(repo.find('remark_schema.remark_enumeration_item')).to be_instance_of(Expressir::Model::EnumerationItem)
88
- expect(repo.find('remark_schema.remark_entity')).to be_instance_of(Expressir::Model::Entity)
89
- expect(repo.find('remark_schema.remark_entity.remark_attribute')).to be_instance_of(Expressir::Model::Attribute)
90
- expect(repo.find('remark_schema.remark_entity.remark_derived_attribute')).to be_instance_of(Expressir::Model::Attribute)
91
- expect(repo.find('remark_schema.remark_entity.remark_inverse_attribute')).to be_instance_of(Expressir::Model::Attribute)
92
- expect(repo.find('remark_schema.remark_entity.UR1')).to be_instance_of(Expressir::Model::Unique)
93
- expect(repo.find('remark_schema.remark_entity.WR1')).to be_instance_of(Expressir::Model::Where)
94
- expect(repo.find('remark_schema.remark_entity.wr:WR1')).to be_instance_of(Expressir::Model::Where)
95
- expect(repo.find('remark_schema.remark_entity.IP1')).to be_instance_of(Expressir::Model::RemarkItem)
96
- expect(repo.find('remark_schema.remark_entity.ip:IP1')).to be_instance_of(Expressir::Model::RemarkItem)
97
- expect(repo.find('remark_schema.remark_subtype_constraint')).to be_instance_of(Expressir::Model::SubtypeConstraint)
98
- expect(repo.find('remark_schema.remark_function')).to be_instance_of(Expressir::Model::Function)
99
- expect(repo.find('remark_schema.remark_function.remark_parameter')).to be_instance_of(Expressir::Model::Parameter)
100
- expect(repo.find('remark_schema.remark_function.remark_type')).to be_instance_of(Expressir::Model::Type)
101
- expect(repo.find('remark_schema.remark_function.remark_enumeration_item')).to be_instance_of(Expressir::Model::EnumerationItem)
102
- expect(repo.find('remark_schema.remark_function.remark_constant')).to be_instance_of(Expressir::Model::Constant)
103
- expect(repo.find('remark_schema.remark_function.remark_variable')).to be_instance_of(Expressir::Model::Variable)
104
- expect(repo.find('remark_schema.remark_procedure')).to be_instance_of(Expressir::Model::Procedure)
105
- expect(repo.find('remark_schema.remark_procedure.remark_parameter')).to be_instance_of(Expressir::Model::Parameter)
106
- expect(repo.find('remark_schema.remark_procedure.remark_type')).to be_instance_of(Expressir::Model::Type)
107
- expect(repo.find('remark_schema.remark_procedure.remark_enumeration_item')).to be_instance_of(Expressir::Model::EnumerationItem)
108
- expect(repo.find('remark_schema.remark_procedure.remark_constant')).to be_instance_of(Expressir::Model::Constant)
109
- expect(repo.find('remark_schema.remark_procedure.remark_variable')).to be_instance_of(Expressir::Model::Variable)
110
- expect(repo.find('remark_schema.remark_rule')).to be_instance_of(Expressir::Model::Rule)
111
- expect(repo.find('remark_schema.remark_rule.remark_type')).to be_instance_of(Expressir::Model::Type)
112
- expect(repo.find('remark_schema.remark_rule.remark_enumeration_item')).to be_instance_of(Expressir::Model::EnumerationItem)
113
- expect(repo.find('remark_schema.remark_rule.remark_constant')).to be_instance_of(Expressir::Model::Constant)
114
- expect(repo.find('remark_schema.remark_rule.remark_variable')).to be_instance_of(Expressir::Model::Variable)
115
- expect(repo.find('remark_schema.remark_rule.WR1')).to be_instance_of(Expressir::Model::Where)
116
- expect(repo.find('remark_schema.remark_rule.wr:WR1')).to be_instance_of(Expressir::Model::Where)
117
- expect(repo.find('remark_schema.remark_rule.IP1')).to be_instance_of(Expressir::Model::RemarkItem)
118
- expect(repo.find('remark_schema.remark_rule.ip:IP1')).to be_instance_of(Expressir::Model::RemarkItem)
80
+ expect(repo.find('single_schema')).to be_instance_of(Expressir::Model::Declarations::Schema)
81
+ expect(repo.find('single_schema.empty_entity')).to be_instance_of(Expressir::Model::Declarations::Entity)
119
82
 
120
83
  # schema scope
121
84
  schema = repo.schemas.first
122
- expect(schema.find('remark_constant')).to be_instance_of(Expressir::Model::Constant)
123
- expect(schema.find('remark_type')).to be_instance_of(Expressir::Model::Type)
124
- expect(schema.find('remark_type.WR1')).to be_instance_of(Expressir::Model::Where)
125
- expect(schema.find('remark_type.wr:WR1')).to be_instance_of(Expressir::Model::Where)
126
- expect(schema.find('remark_type.IP1')).to be_instance_of(Expressir::Model::RemarkItem)
127
- expect(schema.find('remark_type.ip:IP1')).to be_instance_of(Expressir::Model::RemarkItem)
128
- expect(schema.find('remark_enumeration_item')).to be_instance_of(Expressir::Model::EnumerationItem)
129
- expect(schema.find('remark_entity')).to be_instance_of(Expressir::Model::Entity)
130
- expect(schema.find('remark_entity.remark_attribute')).to be_instance_of(Expressir::Model::Attribute)
131
- expect(schema.find('remark_entity.remark_derived_attribute')).to be_instance_of(Expressir::Model::Attribute)
132
- expect(schema.find('remark_entity.remark_inverse_attribute')).to be_instance_of(Expressir::Model::Attribute)
133
- expect(schema.find('remark_entity.UR1')).to be_instance_of(Expressir::Model::Unique)
134
- expect(schema.find('remark_entity.WR1')).to be_instance_of(Expressir::Model::Where)
135
- expect(schema.find('remark_entity.wr:WR1')).to be_instance_of(Expressir::Model::Where)
136
- expect(schema.find('remark_entity.IP1')).to be_instance_of(Expressir::Model::RemarkItem)
137
- expect(schema.find('remark_entity.ip:IP1')).to be_instance_of(Expressir::Model::RemarkItem)
138
- expect(schema.find('remark_subtype_constraint')).to be_instance_of(Expressir::Model::SubtypeConstraint)
139
- expect(schema.find('remark_function')).to be_instance_of(Expressir::Model::Function)
140
- expect(schema.find('remark_function.remark_parameter')).to be_instance_of(Expressir::Model::Parameter)
141
- expect(schema.find('remark_function.remark_type')).to be_instance_of(Expressir::Model::Type)
142
- expect(schema.find('remark_function.remark_enumeration_item')).to be_instance_of(Expressir::Model::EnumerationItem)
143
- expect(schema.find('remark_function.remark_constant')).to be_instance_of(Expressir::Model::Constant)
144
- expect(schema.find('remark_function.remark_variable')).to be_instance_of(Expressir::Model::Variable)
145
- expect(schema.find('remark_procedure')).to be_instance_of(Expressir::Model::Procedure)
146
- expect(schema.find('remark_procedure.remark_parameter')).to be_instance_of(Expressir::Model::Parameter)
147
- expect(schema.find('remark_procedure.remark_type')).to be_instance_of(Expressir::Model::Type)
148
- expect(schema.find('remark_procedure.remark_enumeration_item')).to be_instance_of(Expressir::Model::EnumerationItem)
149
- expect(schema.find('remark_procedure.remark_constant')).to be_instance_of(Expressir::Model::Constant)
150
- expect(schema.find('remark_procedure.remark_variable')).to be_instance_of(Expressir::Model::Variable)
151
- expect(schema.find('remark_rule')).to be_instance_of(Expressir::Model::Rule)
152
- expect(schema.find('remark_rule.remark_type')).to be_instance_of(Expressir::Model::Type)
153
- expect(schema.find('remark_rule.remark_enumeration_item')).to be_instance_of(Expressir::Model::EnumerationItem)
154
- expect(schema.find('remark_rule.remark_constant')).to be_instance_of(Expressir::Model::Constant)
155
- expect(schema.find('remark_rule.remark_variable')).to be_instance_of(Expressir::Model::Variable)
156
- expect(schema.find('remark_rule.WR1')).to be_instance_of(Expressir::Model::Where)
157
- expect(schema.find('remark_rule.wr:WR1')).to be_instance_of(Expressir::Model::Where)
158
- expect(schema.find('remark_rule.IP1')).to be_instance_of(Expressir::Model::RemarkItem)
159
- expect(schema.find('remark_rule.ip:IP1')).to be_instance_of(Expressir::Model::RemarkItem)
85
+ expect(schema.find('empty_entity')).to be_instance_of(Expressir::Model::Declarations::Entity)
86
+ end
87
+
88
+ it "finds an object (multiple.exp)" do
89
+ exp_file = Expressir.root_path.join("spec", "syntax", "multiple.exp")
90
+
91
+ repo = Expressir::Express::Parser.from_file(exp_file)
92
+
93
+ # universal scope
94
+ expect(repo.find('multiple_schema')).to be_instance_of(Expressir::Model::Declarations::Schema)
95
+ expect(repo.find('multiple_schema.empty_entity')).to be_instance_of(Expressir::Model::Declarations::Entity)
96
+ expect(repo.find('multiple_schema.attribute_entity')).to be_instance_of(Expressir::Model::Declarations::Entity)
97
+ expect(repo.find('multiple_schema.attribute_entity2')).to be_instance_of(Expressir::Model::Declarations::Entity)
98
+ expect(repo.find('multiple_schema.attribute_entity3')).to be_instance_of(Expressir::Model::Declarations::Entity)
99
+ expect(repo.find('multiple_schema.attribute_entity4')).to be_instance_of(Expressir::Model::Declarations::Entity)
100
+
101
+ # schema scope
102
+ schema = repo.schemas.first
103
+ expect(schema.find('empty_entity')).to be_instance_of(Expressir::Model::Declarations::Entity)
104
+ expect(schema.find('attribute_entity')).to be_instance_of(Expressir::Model::Declarations::Entity)
105
+ expect(schema.find('attribute_entity2')).to be_instance_of(Expressir::Model::Declarations::Entity)
106
+ expect(schema.find('attribute_entity3')).to be_instance_of(Expressir::Model::Declarations::Entity)
107
+ expect(schema.find('attribute_entity4')).to be_instance_of(Expressir::Model::Declarations::Entity)
108
+ end
109
+
110
+ it "finds an object (syntax.exp)" do
111
+ exp_file = Expressir.root_path.join("spec", "syntax", "syntax.exp")
112
+
113
+ repo = Expressir::Express::Parser.from_file(exp_file)
114
+
115
+ # universal scope
116
+ expect(repo.find('syntax_schema')).to be_instance_of(Expressir::Model::Declarations::Schema)
117
+ expect(repo.find('syntax_schema.empty_entity')).to be_instance_of(Expressir::Model::Declarations::Entity)
118
+
119
+ # schema scope
120
+ schema = repo.schemas.first
121
+ expect(schema.find('empty_entity')).to be_instance_of(Expressir::Model::Declarations::Entity)
122
+ end
123
+
124
+ it "finds an object (remark.exp)" do
125
+ exp_file = Expressir.root_path.join("spec", "syntax", "remark.exp")
126
+
127
+ repo = Expressir::Express::Parser.from_file(exp_file)
128
+
129
+ # universal scope
130
+ expect(repo.find('remark_schema')).to be_instance_of(Expressir::Model::Declarations::Schema)
131
+ expect(repo.find('remark_schema.remark_constant')).to be_instance_of(Expressir::Model::Declarations::Constant)
132
+ expect(repo.find('remark_schema.remark_type')).to be_instance_of(Expressir::Model::Declarations::Type)
133
+ expect(repo.find('remark_schema.remark_type.WR1')).to be_instance_of(Expressir::Model::Declarations::WhereRule)
134
+ expect(repo.find('remark_schema.remark_type.wr:WR1')).to be_instance_of(Expressir::Model::Declarations::WhereRule)
135
+ expect(repo.find('remark_schema.remark_type.IP1')).to be_instance_of(Expressir::Model::Declarations::RemarkItem)
136
+ expect(repo.find('remark_schema.remark_type.ip:IP1')).to be_instance_of(Expressir::Model::Declarations::RemarkItem)
137
+ expect(repo.find('remark_schema.remark_enumeration_item')).to be_instance_of(Expressir::Model::DataTypes::EnumerationItem)
138
+ expect(repo.find('remark_schema.remark_entity')).to be_instance_of(Expressir::Model::Declarations::Entity)
139
+ expect(repo.find('remark_schema.remark_entity.remark_attribute')).to be_instance_of(Expressir::Model::Declarations::Attribute)
140
+ expect(repo.find('remark_schema.remark_entity.remark_derived_attribute')).to be_instance_of(Expressir::Model::Declarations::Attribute)
141
+ expect(repo.find('remark_schema.remark_entity.remark_inverse_attribute')).to be_instance_of(Expressir::Model::Declarations::Attribute)
142
+ expect(repo.find('remark_schema.remark_entity.UR1')).to be_instance_of(Expressir::Model::Declarations::UniqueRule)
143
+ expect(repo.find('remark_schema.remark_entity.WR1')).to be_instance_of(Expressir::Model::Declarations::WhereRule)
144
+ expect(repo.find('remark_schema.remark_entity.wr:WR1')).to be_instance_of(Expressir::Model::Declarations::WhereRule)
145
+ expect(repo.find('remark_schema.remark_entity.IP1')).to be_instance_of(Expressir::Model::Declarations::RemarkItem)
146
+ expect(repo.find('remark_schema.remark_entity.ip:IP1')).to be_instance_of(Expressir::Model::Declarations::RemarkItem)
147
+ expect(repo.find('remark_schema.remark_subtype_constraint')).to be_instance_of(Expressir::Model::Declarations::SubtypeConstraint)
148
+ expect(repo.find('remark_schema.remark_function')).to be_instance_of(Expressir::Model::Declarations::Function)
149
+ expect(repo.find('remark_schema.remark_function.remark_parameter')).to be_instance_of(Expressir::Model::Declarations::Parameter)
150
+ expect(repo.find('remark_schema.remark_function.remark_type')).to be_instance_of(Expressir::Model::Declarations::Type)
151
+ expect(repo.find('remark_schema.remark_function.remark_enumeration_item')).to be_instance_of(Expressir::Model::DataTypes::EnumerationItem)
152
+ expect(repo.find('remark_schema.remark_function.remark_constant')).to be_instance_of(Expressir::Model::Declarations::Constant)
153
+ expect(repo.find('remark_schema.remark_function.remark_variable')).to be_instance_of(Expressir::Model::Declarations::Variable)
154
+ expect(repo.find('remark_schema.remark_procedure')).to be_instance_of(Expressir::Model::Declarations::Procedure)
155
+ expect(repo.find('remark_schema.remark_procedure.remark_parameter')).to be_instance_of(Expressir::Model::Declarations::Parameter)
156
+ expect(repo.find('remark_schema.remark_procedure.remark_type')).to be_instance_of(Expressir::Model::Declarations::Type)
157
+ expect(repo.find('remark_schema.remark_procedure.remark_enumeration_item')).to be_instance_of(Expressir::Model::DataTypes::EnumerationItem)
158
+ expect(repo.find('remark_schema.remark_procedure.remark_constant')).to be_instance_of(Expressir::Model::Declarations::Constant)
159
+ expect(repo.find('remark_schema.remark_procedure.remark_variable')).to be_instance_of(Expressir::Model::Declarations::Variable)
160
+ expect(repo.find('remark_schema.remark_rule')).to be_instance_of(Expressir::Model::Declarations::Rule)
161
+ expect(repo.find('remark_schema.remark_rule.remark_type')).to be_instance_of(Expressir::Model::Declarations::Type)
162
+ expect(repo.find('remark_schema.remark_rule.remark_enumeration_item')).to be_instance_of(Expressir::Model::DataTypes::EnumerationItem)
163
+ expect(repo.find('remark_schema.remark_rule.remark_constant')).to be_instance_of(Expressir::Model::Declarations::Constant)
164
+ expect(repo.find('remark_schema.remark_rule.remark_variable')).to be_instance_of(Expressir::Model::Declarations::Variable)
165
+ expect(repo.find('remark_schema.remark_rule.WR1')).to be_instance_of(Expressir::Model::Declarations::WhereRule)
166
+ expect(repo.find('remark_schema.remark_rule.wr:WR1')).to be_instance_of(Expressir::Model::Declarations::WhereRule)
167
+ expect(repo.find('remark_schema.remark_rule.IP1')).to be_instance_of(Expressir::Model::Declarations::RemarkItem)
168
+ expect(repo.find('remark_schema.remark_rule.ip:IP1')).to be_instance_of(Expressir::Model::Declarations::RemarkItem)
169
+ expect(repo.find('remark_schema.remark_item')).to be_instance_of(Expressir::Model::Declarations::RemarkItem)
170
+
171
+ # schema scope
172
+ schema = repo.schemas.first
173
+ expect(schema.find('remark_constant')).to be_instance_of(Expressir::Model::Declarations::Constant)
174
+ expect(schema.find('remark_type')).to be_instance_of(Expressir::Model::Declarations::Type)
175
+ expect(schema.find('remark_type.WR1')).to be_instance_of(Expressir::Model::Declarations::WhereRule)
176
+ expect(schema.find('remark_type.wr:WR1')).to be_instance_of(Expressir::Model::Declarations::WhereRule)
177
+ expect(schema.find('remark_type.IP1')).to be_instance_of(Expressir::Model::Declarations::RemarkItem)
178
+ expect(schema.find('remark_type.ip:IP1')).to be_instance_of(Expressir::Model::Declarations::RemarkItem)
179
+ expect(schema.find('remark_enumeration_item')).to be_instance_of(Expressir::Model::DataTypes::EnumerationItem)
180
+ expect(schema.find('remark_entity')).to be_instance_of(Expressir::Model::Declarations::Entity)
181
+ expect(schema.find('remark_entity.remark_attribute')).to be_instance_of(Expressir::Model::Declarations::Attribute)
182
+ expect(schema.find('remark_entity.remark_derived_attribute')).to be_instance_of(Expressir::Model::Declarations::Attribute)
183
+ expect(schema.find('remark_entity.remark_inverse_attribute')).to be_instance_of(Expressir::Model::Declarations::Attribute)
184
+ expect(schema.find('remark_entity.UR1')).to be_instance_of(Expressir::Model::Declarations::UniqueRule)
185
+ expect(schema.find('remark_entity.WR1')).to be_instance_of(Expressir::Model::Declarations::WhereRule)
186
+ expect(schema.find('remark_entity.wr:WR1')).to be_instance_of(Expressir::Model::Declarations::WhereRule)
187
+ expect(schema.find('remark_entity.IP1')).to be_instance_of(Expressir::Model::Declarations::RemarkItem)
188
+ expect(schema.find('remark_entity.ip:IP1')).to be_instance_of(Expressir::Model::Declarations::RemarkItem)
189
+ expect(schema.find('remark_subtype_constraint')).to be_instance_of(Expressir::Model::Declarations::SubtypeConstraint)
190
+ expect(schema.find('remark_function')).to be_instance_of(Expressir::Model::Declarations::Function)
191
+ expect(schema.find('remark_function.remark_parameter')).to be_instance_of(Expressir::Model::Declarations::Parameter)
192
+ expect(schema.find('remark_function.remark_type')).to be_instance_of(Expressir::Model::Declarations::Type)
193
+ expect(schema.find('remark_function.remark_enumeration_item')).to be_instance_of(Expressir::Model::DataTypes::EnumerationItem)
194
+ expect(schema.find('remark_function.remark_constant')).to be_instance_of(Expressir::Model::Declarations::Constant)
195
+ expect(schema.find('remark_function.remark_variable')).to be_instance_of(Expressir::Model::Declarations::Variable)
196
+ expect(schema.find('remark_procedure')).to be_instance_of(Expressir::Model::Declarations::Procedure)
197
+ expect(schema.find('remark_procedure.remark_parameter')).to be_instance_of(Expressir::Model::Declarations::Parameter)
198
+ expect(schema.find('remark_procedure.remark_type')).to be_instance_of(Expressir::Model::Declarations::Type)
199
+ expect(schema.find('remark_procedure.remark_enumeration_item')).to be_instance_of(Expressir::Model::DataTypes::EnumerationItem)
200
+ expect(schema.find('remark_procedure.remark_constant')).to be_instance_of(Expressir::Model::Declarations::Constant)
201
+ expect(schema.find('remark_procedure.remark_variable')).to be_instance_of(Expressir::Model::Declarations::Variable)
202
+ expect(schema.find('remark_rule')).to be_instance_of(Expressir::Model::Declarations::Rule)
203
+ expect(schema.find('remark_rule.remark_type')).to be_instance_of(Expressir::Model::Declarations::Type)
204
+ expect(schema.find('remark_rule.remark_enumeration_item')).to be_instance_of(Expressir::Model::DataTypes::EnumerationItem)
205
+ expect(schema.find('remark_rule.remark_constant')).to be_instance_of(Expressir::Model::Declarations::Constant)
206
+ expect(schema.find('remark_rule.remark_variable')).to be_instance_of(Expressir::Model::Declarations::Variable)
207
+ expect(schema.find('remark_rule.WR1')).to be_instance_of(Expressir::Model::Declarations::WhereRule)
208
+ expect(schema.find('remark_rule.wr:WR1')).to be_instance_of(Expressir::Model::Declarations::WhereRule)
209
+ expect(schema.find('remark_rule.IP1')).to be_instance_of(Expressir::Model::Declarations::RemarkItem)
210
+ expect(schema.find('remark_rule.ip:IP1')).to be_instance_of(Expressir::Model::Declarations::RemarkItem)
211
+ expect(schema.find('remark_item')).to be_instance_of(Expressir::Model::Declarations::RemarkItem)
160
212
 
161
213
  # type scope
162
214
  type = schema.types.first
163
- expect(type.find('WR1')).to be_instance_of(Expressir::Model::Where)
164
- expect(type.find('wr:WR1')).to be_instance_of(Expressir::Model::Where)
165
- expect(type.find('IP1')).to be_instance_of(Expressir::Model::RemarkItem)
166
- expect(type.find('ip:IP1')).to be_instance_of(Expressir::Model::RemarkItem)
215
+ expect(type.find('WR1')).to be_instance_of(Expressir::Model::Declarations::WhereRule)
216
+ expect(type.find('wr:WR1')).to be_instance_of(Expressir::Model::Declarations::WhereRule)
217
+ expect(type.find('IP1')).to be_instance_of(Expressir::Model::Declarations::RemarkItem)
218
+ expect(type.find('ip:IP1')).to be_instance_of(Expressir::Model::Declarations::RemarkItem)
167
219
 
168
220
  # entity scope
169
221
  entity = schema.entities.first
170
- expect(entity.find('remark_attribute')).to be_instance_of(Expressir::Model::Attribute)
171
- expect(entity.find('remark_derived_attribute')).to be_instance_of(Expressir::Model::Attribute)
172
- expect(entity.find('remark_inverse_attribute')).to be_instance_of(Expressir::Model::Attribute)
173
- expect(entity.find('UR1')).to be_instance_of(Expressir::Model::Unique)
174
- expect(entity.find('WR1')).to be_instance_of(Expressir::Model::Where)
175
- expect(entity.find('wr:WR1')).to be_instance_of(Expressir::Model::Where)
176
- expect(entity.find('IP1')).to be_instance_of(Expressir::Model::RemarkItem)
177
- expect(entity.find('ip:IP1')).to be_instance_of(Expressir::Model::RemarkItem)
222
+ expect(entity.find('remark_attribute')).to be_instance_of(Expressir::Model::Declarations::Attribute)
223
+ expect(entity.find('remark_derived_attribute')).to be_instance_of(Expressir::Model::Declarations::Attribute)
224
+ expect(entity.find('remark_inverse_attribute')).to be_instance_of(Expressir::Model::Declarations::Attribute)
225
+ expect(entity.find('UR1')).to be_instance_of(Expressir::Model::Declarations::UniqueRule)
226
+ expect(entity.find('WR1')).to be_instance_of(Expressir::Model::Declarations::WhereRule)
227
+ expect(entity.find('wr:WR1')).to be_instance_of(Expressir::Model::Declarations::WhereRule)
228
+ expect(entity.find('IP1')).to be_instance_of(Expressir::Model::Declarations::RemarkItem)
229
+ expect(entity.find('ip:IP1')).to be_instance_of(Expressir::Model::Declarations::RemarkItem)
178
230
 
179
231
  # function scope
180
232
  function = schema.functions.first
181
- expect(function.find('remark_parameter')).to be_instance_of(Expressir::Model::Parameter)
182
- expect(function.find('remark_type')).to be_instance_of(Expressir::Model::Type)
183
- expect(function.find('remark_enumeration_item')).to be_instance_of(Expressir::Model::EnumerationItem)
184
- expect(function.find('remark_constant')).to be_instance_of(Expressir::Model::Constant)
185
- expect(function.find('remark_variable')).to be_instance_of(Expressir::Model::Variable)
233
+ expect(function.find('remark_parameter')).to be_instance_of(Expressir::Model::Declarations::Parameter)
234
+ expect(function.find('remark_type')).to be_instance_of(Expressir::Model::Declarations::Type)
235
+ expect(function.find('remark_enumeration_item')).to be_instance_of(Expressir::Model::DataTypes::EnumerationItem)
236
+ expect(function.find('remark_constant')).to be_instance_of(Expressir::Model::Declarations::Constant)
237
+ expect(function.find('remark_variable')).to be_instance_of(Expressir::Model::Declarations::Variable)
186
238
 
187
239
  # procedure scope
188
240
  procedure = schema.procedures.first
189
- expect(procedure.find('remark_parameter')).to be_instance_of(Expressir::Model::Parameter)
190
- expect(procedure.find('remark_type')).to be_instance_of(Expressir::Model::Type)
191
- expect(procedure.find('remark_enumeration_item')).to be_instance_of(Expressir::Model::EnumerationItem)
192
- expect(procedure.find('remark_constant')).to be_instance_of(Expressir::Model::Constant)
193
- expect(procedure.find('remark_variable')).to be_instance_of(Expressir::Model::Variable)
241
+ expect(procedure.find('remark_parameter')).to be_instance_of(Expressir::Model::Declarations::Parameter)
242
+ expect(procedure.find('remark_type')).to be_instance_of(Expressir::Model::Declarations::Type)
243
+ expect(procedure.find('remark_enumeration_item')).to be_instance_of(Expressir::Model::DataTypes::EnumerationItem)
244
+ expect(procedure.find('remark_constant')).to be_instance_of(Expressir::Model::Declarations::Constant)
245
+ expect(procedure.find('remark_variable')).to be_instance_of(Expressir::Model::Declarations::Variable)
194
246
 
195
247
  # rule scope
196
248
  rule = schema.rules.first
197
- expect(rule.find('remark_type')).to be_instance_of(Expressir::Model::Type)
198
- expect(rule.find('remark_enumeration_item')).to be_instance_of(Expressir::Model::EnumerationItem)
199
- expect(rule.find('remark_constant')).to be_instance_of(Expressir::Model::Constant)
200
- expect(rule.find('remark_variable')).to be_instance_of(Expressir::Model::Variable)
201
- expect(rule.find('WR1')).to be_instance_of(Expressir::Model::Where)
202
- expect(rule.find('wr:WR1')).to be_instance_of(Expressir::Model::Where)
203
- expect(rule.find('IP1')).to be_instance_of(Expressir::Model::RemarkItem)
204
- expect(rule.find('ip:IP1')).to be_instance_of(Expressir::Model::RemarkItem)
249
+ expect(rule.find('remark_type')).to be_instance_of(Expressir::Model::Declarations::Type)
250
+ expect(rule.find('remark_enumeration_item')).to be_instance_of(Expressir::Model::DataTypes::EnumerationItem)
251
+ expect(rule.find('remark_constant')).to be_instance_of(Expressir::Model::Declarations::Constant)
252
+ expect(rule.find('remark_variable')).to be_instance_of(Expressir::Model::Declarations::Variable)
253
+ expect(rule.find('WR1')).to be_instance_of(Expressir::Model::Declarations::WhereRule)
254
+ expect(rule.find('wr:WR1')).to be_instance_of(Expressir::Model::Declarations::WhereRule)
255
+ expect(rule.find('IP1')).to be_instance_of(Expressir::Model::Declarations::RemarkItem)
256
+ expect(rule.find('ip:IP1')).to be_instance_of(Expressir::Model::Declarations::RemarkItem)
205
257
 
206
258
  # retry search in parent scope
207
- expect(entity.find('remark_type')).to be_instance_of(Expressir::Model::Type)
208
- expect(entity.find('remark_type.WR1')).to be_instance_of(Expressir::Model::Where)
209
- expect(entity.find('remark_type.wr:WR1')).to be_instance_of(Expressir::Model::Where)
210
- expect(entity.find('remark_type.IP1')).to be_instance_of(Expressir::Model::RemarkItem)
211
- expect(entity.find('remark_type.ip:IP1')).to be_instance_of(Expressir::Model::RemarkItem)
259
+ expect(entity.find('remark_type')).to be_instance_of(Expressir::Model::Declarations::Type)
260
+ expect(entity.find('remark_type.WR1')).to be_instance_of(Expressir::Model::Declarations::WhereRule)
261
+ expect(entity.find('remark_type.wr:WR1')).to be_instance_of(Expressir::Model::Declarations::WhereRule)
262
+ expect(entity.find('remark_type.IP1')).to be_instance_of(Expressir::Model::Declarations::RemarkItem)
263
+ expect(entity.find('remark_type.ip:IP1')).to be_instance_of(Expressir::Model::Declarations::RemarkItem)
212
264
  end
213
265
  end
214
266
  end