expressir 0.2.21 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +7 -6
  3. data/.github/workflows/release.yml +22 -6
  4. data/.gitignore +2 -2
  5. data/demo.rb +5 -5
  6. data/exe/format +10 -73
  7. data/exe/format-test +81 -0
  8. data/expressir.gemspec +0 -1
  9. data/ext/express-parser/extconf.rb +1 -1
  10. data/lib/expressir.rb +0 -1
  11. data/lib/expressir/cli.rb +0 -6
  12. data/lib/expressir/{express_exp → express}/cache.rb +3 -6
  13. data/lib/expressir/{express_exp → express}/formatter.rb +84 -68
  14. data/lib/expressir/express/hyperlink_formatter.rb +22 -0
  15. data/lib/expressir/express/model_visitor.rb +23 -0
  16. data/lib/expressir/{express_exp → express}/parser.rb +16 -5
  17. data/lib/expressir/express/resolve_references_model_visitor.rb +29 -0
  18. data/lib/expressir/{express_exp → express}/schema_head_formatter.rb +1 -1
  19. data/lib/expressir/{express_exp → express}/visitor.rb +67 -44
  20. data/lib/expressir/model.rb +5 -3
  21. data/lib/expressir/model/attribute.rb +13 -6
  22. data/lib/expressir/model/cache.rb +2 -2
  23. data/lib/expressir/model/constant.rb +10 -3
  24. data/lib/expressir/model/entity.rb +18 -16
  25. data/lib/expressir/model/enumeration_item.rb +8 -1
  26. data/lib/expressir/model/expressions/aggregate_initializer.rb +2 -2
  27. data/lib/expressir/model/expressions/aggregate_item.rb +2 -2
  28. data/lib/expressir/model/expressions/attribute_reference.rb +2 -2
  29. data/lib/expressir/model/expressions/binary_expression.rb +3 -3
  30. data/lib/expressir/model/expressions/call.rb +3 -3
  31. data/lib/expressir/model/expressions/entity_constructor.rb +3 -3
  32. data/lib/expressir/model/expressions/group_reference.rb +2 -2
  33. data/lib/expressir/model/expressions/index_reference.rb +3 -3
  34. data/lib/expressir/model/expressions/interval.rb +5 -5
  35. data/lib/expressir/model/expressions/query_expression.rb +6 -4
  36. data/lib/expressir/model/expressions/simple_reference.rb +5 -1
  37. data/lib/expressir/model/expressions/unary_expression.rb +2 -2
  38. data/lib/expressir/model/function.rb +23 -21
  39. data/lib/expressir/model/identifier.rb +6 -3
  40. data/lib/expressir/model/interface.rb +4 -4
  41. data/lib/expressir/model/interface_item.rb +2 -2
  42. data/lib/expressir/model/interfaced_item.rb +10 -9
  43. data/lib/expressir/model/literals/binary.rb +1 -1
  44. data/lib/expressir/model/literals/integer.rb +1 -1
  45. data/lib/expressir/model/literals/logical.rb +1 -1
  46. data/lib/expressir/model/literals/real.rb +1 -1
  47. data/lib/expressir/model/literals/string.rb +2 -2
  48. data/lib/expressir/model/model_element.rb +39 -27
  49. data/lib/expressir/model/parameter.rb +10 -3
  50. data/lib/expressir/model/procedure.rb +22 -20
  51. data/lib/expressir/model/remark_item.rb +15 -0
  52. data/lib/expressir/model/repository.rb +2 -2
  53. data/lib/expressir/model/rule.rb +27 -25
  54. data/lib/expressir/model/schema.rb +24 -20
  55. data/lib/expressir/model/schema_version.rb +15 -0
  56. data/lib/expressir/model/schema_version_item.rb +15 -0
  57. data/lib/expressir/model/statements/alias.rb +7 -5
  58. data/lib/expressir/model/statements/assignment.rb +2 -2
  59. data/lib/expressir/model/statements/call.rb +3 -3
  60. data/lib/expressir/model/statements/case.rb +4 -4
  61. data/lib/expressir/model/statements/case_action.rb +3 -3
  62. data/lib/expressir/model/statements/compound.rb +2 -2
  63. data/lib/expressir/model/statements/if.rb +5 -5
  64. data/lib/expressir/model/statements/repeat.rb +11 -9
  65. data/lib/expressir/model/statements/return.rb +1 -1
  66. data/lib/expressir/model/subtype_constraint.rb +13 -6
  67. data/lib/expressir/model/type.rb +12 -10
  68. data/lib/expressir/model/types/aggregate.rb +9 -2
  69. data/lib/expressir/model/types/array.rb +5 -5
  70. data/lib/expressir/model/types/bag.rb +3 -3
  71. data/lib/expressir/model/types/binary.rb +2 -2
  72. data/lib/expressir/model/types/enumeration.rb +5 -7
  73. data/lib/expressir/model/types/generic.rb +8 -1
  74. data/lib/expressir/model/types/generic_entity.rb +8 -1
  75. data/lib/expressir/model/types/list.rb +4 -4
  76. data/lib/expressir/model/types/real.rb +1 -1
  77. data/lib/expressir/model/types/select.rb +6 -8
  78. data/lib/expressir/model/types/set.rb +3 -3
  79. data/lib/expressir/model/types/string.rb +2 -2
  80. data/lib/expressir/model/unique_rule.rb +26 -0
  81. data/lib/expressir/model/variable.rb +10 -3
  82. data/lib/expressir/model/where_rule.rb +26 -0
  83. data/lib/expressir/version.rb +1 -1
  84. data/rakelib/cross-ruby.rake +1 -1
  85. data/spec/expressir/{express_exp → express}/cache_spec.rb +9 -9
  86. data/spec/expressir/express/formatter_spec.rb +127 -0
  87. data/spec/expressir/{express_exp → express}/parser_spec.rb +24 -24
  88. data/spec/expressir/model/model_element_spec.rb +112 -60
  89. data/{original/examples → spec}/syntax/multiple.exp +1 -1
  90. data/{original/examples → spec}/syntax/multiple.yaml +19 -5
  91. data/{original/examples → spec}/syntax/multiple_formatted.exp +1 -1
  92. data/{original/examples → spec}/syntax/multiple_hyperlink_formatted.exp +4 -4
  93. data/{original/examples → spec}/syntax/multiple_schema_head_hyperlink_formatted.exp +1 -1
  94. data/{original/examples → spec}/syntax/remark.exp +12 -10
  95. data/{original/examples → spec}/syntax/remark.yaml +36 -16
  96. data/{original/examples → spec}/syntax/remark_formatted.exp +3 -1
  97. data/spec/syntax/single.exp +4 -0
  98. data/spec/syntax/single.yaml +18 -0
  99. data/spec/syntax/single_formatted.exp +10 -0
  100. data/spec/syntax/single_formatted.yaml +36 -0
  101. data/{original/examples → spec}/syntax/syntax.exp +11 -11
  102. data/{original/examples → spec}/syntax/syntax.yaml +205 -108
  103. data/{original/examples → spec}/syntax/syntax_formatted.exp +11 -11
  104. data/spec/syntax/syntax_hyperlink_formatted.exp +902 -0
  105. data/{original/examples → spec}/syntax/syntax_schema_head_formatted.exp +1 -1
  106. metadata +40 -82
  107. data/lib/expressir/express.rb +0 -11
  108. data/lib/expressir/express/aggregate_dimension.rb +0 -38
  109. data/lib/expressir/express/attribute.rb +0 -15
  110. data/lib/expressir/express/comment.rb +0 -7
  111. data/lib/expressir/express/defined_type.rb +0 -36
  112. data/lib/expressir/express/derived.rb +0 -65
  113. data/lib/expressir/express/derived_aggregate.rb +0 -43
  114. data/lib/expressir/express/entity.rb +0 -137
  115. data/lib/expressir/express/explicit.rb +0 -70
  116. data/lib/expressir/express/explicit_aggregate.rb +0 -46
  117. data/lib/expressir/express/explicit_or_derived.rb +0 -16
  118. data/lib/expressir/express/global_rule.rb +0 -44
  119. data/lib/expressir/express/interface_specification.rb +0 -51
  120. data/lib/expressir/express/interfaced_item.rb +0 -38
  121. data/lib/expressir/express/inverse.rb +0 -46
  122. data/lib/expressir/express/inverse_aggregate.rb +0 -37
  123. data/lib/expressir/express/model_element.rb +0 -7
  124. data/lib/expressir/express/named_type.rb +0 -19
  125. data/lib/expressir/express/remark.rb +0 -8
  126. data/lib/expressir/express/repository.rb +0 -306
  127. data/lib/expressir/express/schema_definition.rb +0 -96
  128. data/lib/expressir/express/subtype_constraint.rb +0 -14
  129. data/lib/expressir/express/type.rb +0 -26
  130. data/lib/expressir/express/type_aggregate.rb +0 -42
  131. data/lib/expressir/express/type_enum.rb +0 -29
  132. data/lib/expressir/express/type_parser.rb +0 -45
  133. data/lib/expressir/express/type_select.rb +0 -82
  134. data/lib/expressir/express/unique_rule.rb +0 -35
  135. data/lib/expressir/express/where_rule.rb +0 -32
  136. data/lib/expressir/express_exp/hyperlink_formatter.rb +0 -27
  137. data/lib/expressir/express_parser.rb +0 -30
  138. data/lib/expressir/model/informal_proposition.rb +0 -18
  139. data/lib/expressir/model/unique.rb +0 -19
  140. data/lib/expressir/model/where.rb +0 -19
  141. data/lib/expressir/parser.rb +0 -6
  142. data/lib/expressir/parser/owl_parser.rb +0 -8
  143. data/original/examples/syntax/single.exp +0 -3
  144. data/original/examples/syntax/single.yaml +0 -9
  145. data/original/examples/syntax/single_formatted.exp +0 -6
  146. data/original/examples/syntax/single_formatted.yaml +0 -19
  147. data/spec/acceptance/express_to_owl_spec.rb +0 -18
  148. data/spec/expressir/express/repository_spec.rb +0 -25
  149. data/spec/expressir/express_exp/formatter_spec.rb +0 -111
@@ -2,18 +2,16 @@ module Expressir
2
2
  module Model
3
3
  module Types
4
4
  class Select < ModelElement
5
- attr_accessor :extensible
6
- attr_accessor :generic_entity
7
- attr_accessor :items
8
- attr_accessor :extension_type
9
- attr_accessor :extension_items
5
+ model_attr_accessor :extensible
6
+ model_attr_accessor :generic_entity
7
+ model_attr_accessor :based_on
8
+ model_attr_accessor :items
10
9
 
11
10
  def initialize(options = {})
12
11
  @extensible = options[:extensible]
13
12
  @generic_entity = options[:generic_entity]
14
- @items = options.fetch(:items, [])
15
- @extension_type = options[:extension_type]
16
- @extension_items = options.fetch(:extension_items, [])
13
+ @based_on = options[:based_on]
14
+ @items = options[:items] || []
17
15
 
18
16
  super
19
17
  end
@@ -2,9 +2,9 @@ module Expressir
2
2
  module Model
3
3
  module Types
4
4
  class Set < ModelElement
5
- attr_accessor :bound1
6
- attr_accessor :bound2
7
- attr_accessor :base_type
5
+ model_attr_accessor :bound1
6
+ model_attr_accessor :bound2
7
+ model_attr_accessor :base_type
8
8
 
9
9
  def initialize(options = {})
10
10
  @bound1 = options[:bound1]
@@ -2,8 +2,8 @@ module Expressir
2
2
  module Model
3
3
  module Types
4
4
  class String < ModelElement
5
- attr_accessor :width
6
- attr_accessor :fixed
5
+ model_attr_accessor :width
6
+ model_attr_accessor :fixed
7
7
 
8
8
  def initialize(options = {})
9
9
  @width = options[:width]
@@ -0,0 +1,26 @@
1
+ module Expressir
2
+ module Model
3
+ class UniqueRule < ModelElement
4
+ include Identifier
5
+
6
+ model_attr_accessor :attributes
7
+
8
+ def initialize(options = {})
9
+ @id = options[:id]
10
+ @remarks = options[:remarks] || []
11
+ @remark_items = options[:remark_items] || []
12
+ @source = options[:source]
13
+
14
+ @attributes = options[:attributes] || []
15
+
16
+ super
17
+ end
18
+
19
+ def children
20
+ [
21
+ *remark_items
22
+ ]
23
+ end
24
+ end
25
+ end
26
+ end
@@ -3,12 +3,13 @@ module Expressir
3
3
  class Variable < ModelElement
4
4
  include Identifier
5
5
 
6
- attr_accessor :type
7
- attr_accessor :expression
6
+ model_attr_accessor :type
7
+ model_attr_accessor :expression
8
8
 
9
9
  def initialize(options = {})
10
10
  @id = options[:id]
11
- @remarks = options.fetch(:remarks, [])
11
+ @remarks = options[:remarks] || []
12
+ @remark_items = options[:remark_items] || []
12
13
  @source = options[:source]
13
14
 
14
15
  @type = options[:type]
@@ -16,6 +17,12 @@ module Expressir
16
17
 
17
18
  super
18
19
  end
20
+
21
+ def children
22
+ [
23
+ *remark_items
24
+ ]
25
+ end
19
26
  end
20
27
  end
21
28
  end
@@ -0,0 +1,26 @@
1
+ module Expressir
2
+ module Model
3
+ class WhereRule < ModelElement
4
+ include Identifier
5
+
6
+ model_attr_accessor :expression
7
+
8
+ def initialize(options = {})
9
+ @id = options[:id]
10
+ @remarks = options[:remarks] || []
11
+ @remark_items = options[:remark_items] || []
12
+ @source = options[:source]
13
+
14
+ @expression = options[:expression]
15
+
16
+ super
17
+ end
18
+
19
+ def children
20
+ [
21
+ *remark_items
22
+ ]
23
+ end
24
+ end
25
+ end
26
+ end
@@ -1,3 +1,3 @@
1
1
  module Expressir
2
- VERSION = "0.2.21".freeze
2
+ VERSION = "1.0.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,29 +71,79 @@ 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
+
79
+ # universal scope
80
+ expect(repo.find('single_schema')).to be_instance_of(Expressir::Model::Schema)
81
+ expect(repo.find('single_schema.empty_entity')).to be_instance_of(Expressir::Model::Entity)
82
+
83
+ # schema scope
84
+ schema = repo.schemas.first
85
+ expect(schema.find('empty_entity')).to be_instance_of(Expressir::Model::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::Schema)
95
+ expect(repo.find('multiple_schema.empty_entity')).to be_instance_of(Expressir::Model::Entity)
96
+ expect(repo.find('multiple_schema.attribute_entity')).to be_instance_of(Expressir::Model::Entity)
97
+ expect(repo.find('multiple_schema.attribute_entity2')).to be_instance_of(Expressir::Model::Entity)
98
+ expect(repo.find('multiple_schema.attribute_entity3')).to be_instance_of(Expressir::Model::Entity)
99
+ expect(repo.find('multiple_schema.attribute_entity4')).to be_instance_of(Expressir::Model::Entity)
100
+
101
+ # schema scope
102
+ schema = repo.schemas.first
103
+ expect(schema.find('empty_entity')).to be_instance_of(Expressir::Model::Entity)
104
+ expect(schema.find('attribute_entity')).to be_instance_of(Expressir::Model::Entity)
105
+ expect(schema.find('attribute_entity2')).to be_instance_of(Expressir::Model::Entity)
106
+ expect(schema.find('attribute_entity3')).to be_instance_of(Expressir::Model::Entity)
107
+ expect(schema.find('attribute_entity4')).to be_instance_of(Expressir::Model::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::Schema)
117
+ expect(repo.find('syntax_schema.empty_entity')).to be_instance_of(Expressir::Model::Entity)
118
+
119
+ # schema scope
120
+ schema = repo.schemas.first
121
+ expect(schema.find('empty_entity')).to be_instance_of(Expressir::Model::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)
78
128
 
79
129
  # universal scope
80
130
  expect(repo.find('remark_schema')).to be_instance_of(Expressir::Model::Schema)
81
131
  expect(repo.find('remark_schema.remark_constant')).to be_instance_of(Expressir::Model::Constant)
82
132
  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::InformalProposition)
86
- expect(repo.find('remark_schema.remark_type.ip:IP1')).to be_instance_of(Expressir::Model::InformalProposition)
133
+ expect(repo.find('remark_schema.remark_type.WR1')).to be_instance_of(Expressir::Model::WhereRule)
134
+ expect(repo.find('remark_schema.remark_type.wr:WR1')).to be_instance_of(Expressir::Model::WhereRule)
135
+ expect(repo.find('remark_schema.remark_type.IP1')).to be_instance_of(Expressir::Model::RemarkItem)
136
+ expect(repo.find('remark_schema.remark_type.ip:IP1')).to be_instance_of(Expressir::Model::RemarkItem)
87
137
  expect(repo.find('remark_schema.remark_enumeration_item')).to be_instance_of(Expressir::Model::EnumerationItem)
88
138
  expect(repo.find('remark_schema.remark_entity')).to be_instance_of(Expressir::Model::Entity)
89
139
  expect(repo.find('remark_schema.remark_entity.remark_attribute')).to be_instance_of(Expressir::Model::Attribute)
90
140
  expect(repo.find('remark_schema.remark_entity.remark_derived_attribute')).to be_instance_of(Expressir::Model::Attribute)
91
141
  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::InformalProposition)
96
- expect(repo.find('remark_schema.remark_entity.ip:IP1')).to be_instance_of(Expressir::Model::InformalProposition)
142
+ expect(repo.find('remark_schema.remark_entity.UR1')).to be_instance_of(Expressir::Model::UniqueRule)
143
+ expect(repo.find('remark_schema.remark_entity.WR1')).to be_instance_of(Expressir::Model::WhereRule)
144
+ expect(repo.find('remark_schema.remark_entity.wr:WR1')).to be_instance_of(Expressir::Model::WhereRule)
145
+ expect(repo.find('remark_schema.remark_entity.IP1')).to be_instance_of(Expressir::Model::RemarkItem)
146
+ expect(repo.find('remark_schema.remark_entity.ip:IP1')).to be_instance_of(Expressir::Model::RemarkItem)
97
147
  expect(repo.find('remark_schema.remark_subtype_constraint')).to be_instance_of(Expressir::Model::SubtypeConstraint)
98
148
  expect(repo.find('remark_schema.remark_function')).to be_instance_of(Expressir::Model::Function)
99
149
  expect(repo.find('remark_schema.remark_function.remark_parameter')).to be_instance_of(Expressir::Model::Parameter)
@@ -112,29 +162,30 @@ RSpec.describe Expressir::Model::ModelElement do
112
162
  expect(repo.find('remark_schema.remark_rule.remark_enumeration_item')).to be_instance_of(Expressir::Model::EnumerationItem)
113
163
  expect(repo.find('remark_schema.remark_rule.remark_constant')).to be_instance_of(Expressir::Model::Constant)
114
164
  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::InformalProposition)
118
- expect(repo.find('remark_schema.remark_rule.ip:IP1')).to be_instance_of(Expressir::Model::InformalProposition)
165
+ expect(repo.find('remark_schema.remark_rule.WR1')).to be_instance_of(Expressir::Model::WhereRule)
166
+ expect(repo.find('remark_schema.remark_rule.wr:WR1')).to be_instance_of(Expressir::Model::WhereRule)
167
+ expect(repo.find('remark_schema.remark_rule.IP1')).to be_instance_of(Expressir::Model::RemarkItem)
168
+ expect(repo.find('remark_schema.remark_rule.ip:IP1')).to be_instance_of(Expressir::Model::RemarkItem)
169
+ expect(repo.find('remark_schema.remark_item')).to be_instance_of(Expressir::Model::RemarkItem)
119
170
 
120
171
  # schema scope
121
172
  schema = repo.schemas.first
122
173
  expect(schema.find('remark_constant')).to be_instance_of(Expressir::Model::Constant)
123
174
  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::InformalProposition)
127
- expect(schema.find('remark_type.ip:IP1')).to be_instance_of(Expressir::Model::InformalProposition)
175
+ expect(schema.find('remark_type.WR1')).to be_instance_of(Expressir::Model::WhereRule)
176
+ expect(schema.find('remark_type.wr:WR1')).to be_instance_of(Expressir::Model::WhereRule)
177
+ expect(schema.find('remark_type.IP1')).to be_instance_of(Expressir::Model::RemarkItem)
178
+ expect(schema.find('remark_type.ip:IP1')).to be_instance_of(Expressir::Model::RemarkItem)
128
179
  expect(schema.find('remark_enumeration_item')).to be_instance_of(Expressir::Model::EnumerationItem)
129
180
  expect(schema.find('remark_entity')).to be_instance_of(Expressir::Model::Entity)
130
181
  expect(schema.find('remark_entity.remark_attribute')).to be_instance_of(Expressir::Model::Attribute)
131
182
  expect(schema.find('remark_entity.remark_derived_attribute')).to be_instance_of(Expressir::Model::Attribute)
132
183
  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::InformalProposition)
137
- expect(schema.find('remark_entity.ip:IP1')).to be_instance_of(Expressir::Model::InformalProposition)
184
+ expect(schema.find('remark_entity.UR1')).to be_instance_of(Expressir::Model::UniqueRule)
185
+ expect(schema.find('remark_entity.WR1')).to be_instance_of(Expressir::Model::WhereRule)
186
+ expect(schema.find('remark_entity.wr:WR1')).to be_instance_of(Expressir::Model::WhereRule)
187
+ expect(schema.find('remark_entity.IP1')).to be_instance_of(Expressir::Model::RemarkItem)
188
+ expect(schema.find('remark_entity.ip:IP1')).to be_instance_of(Expressir::Model::RemarkItem)
138
189
  expect(schema.find('remark_subtype_constraint')).to be_instance_of(Expressir::Model::SubtypeConstraint)
139
190
  expect(schema.find('remark_function')).to be_instance_of(Expressir::Model::Function)
140
191
  expect(schema.find('remark_function.remark_parameter')).to be_instance_of(Expressir::Model::Parameter)
@@ -153,28 +204,29 @@ RSpec.describe Expressir::Model::ModelElement do
153
204
  expect(schema.find('remark_rule.remark_enumeration_item')).to be_instance_of(Expressir::Model::EnumerationItem)
154
205
  expect(schema.find('remark_rule.remark_constant')).to be_instance_of(Expressir::Model::Constant)
155
206
  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::InformalProposition)
159
- expect(schema.find('remark_rule.ip:IP1')).to be_instance_of(Expressir::Model::InformalProposition)
207
+ expect(schema.find('remark_rule.WR1')).to be_instance_of(Expressir::Model::WhereRule)
208
+ expect(schema.find('remark_rule.wr:WR1')).to be_instance_of(Expressir::Model::WhereRule)
209
+ expect(schema.find('remark_rule.IP1')).to be_instance_of(Expressir::Model::RemarkItem)
210
+ expect(schema.find('remark_rule.ip:IP1')).to be_instance_of(Expressir::Model::RemarkItem)
211
+ expect(schema.find('remark_item')).to be_instance_of(Expressir::Model::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::InformalProposition)
166
- expect(type.find('ip:IP1')).to be_instance_of(Expressir::Model::InformalProposition)
215
+ expect(type.find('WR1')).to be_instance_of(Expressir::Model::WhereRule)
216
+ expect(type.find('wr:WR1')).to be_instance_of(Expressir::Model::WhereRule)
217
+ expect(type.find('IP1')).to be_instance_of(Expressir::Model::RemarkItem)
218
+ expect(type.find('ip:IP1')).to be_instance_of(Expressir::Model::RemarkItem)
167
219
 
168
220
  # entity scope
169
221
  entity = schema.entities.first
170
222
  expect(entity.find('remark_attribute')).to be_instance_of(Expressir::Model::Attribute)
171
223
  expect(entity.find('remark_derived_attribute')).to be_instance_of(Expressir::Model::Attribute)
172
224
  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::InformalProposition)
177
- expect(entity.find('ip:IP1')).to be_instance_of(Expressir::Model::InformalProposition)
225
+ expect(entity.find('UR1')).to be_instance_of(Expressir::Model::UniqueRule)
226
+ expect(entity.find('WR1')).to be_instance_of(Expressir::Model::WhereRule)
227
+ expect(entity.find('wr:WR1')).to be_instance_of(Expressir::Model::WhereRule)
228
+ expect(entity.find('IP1')).to be_instance_of(Expressir::Model::RemarkItem)
229
+ expect(entity.find('ip:IP1')).to be_instance_of(Expressir::Model::RemarkItem)
178
230
 
179
231
  # function scope
180
232
  function = schema.functions.first
@@ -198,17 +250,17 @@ RSpec.describe Expressir::Model::ModelElement do
198
250
  expect(rule.find('remark_enumeration_item')).to be_instance_of(Expressir::Model::EnumerationItem)
199
251
  expect(rule.find('remark_constant')).to be_instance_of(Expressir::Model::Constant)
200
252
  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::InformalProposition)
204
- expect(rule.find('ip:IP1')).to be_instance_of(Expressir::Model::InformalProposition)
253
+ expect(rule.find('WR1')).to be_instance_of(Expressir::Model::WhereRule)
254
+ expect(rule.find('wr:WR1')).to be_instance_of(Expressir::Model::WhereRule)
255
+ expect(rule.find('IP1')).to be_instance_of(Expressir::Model::RemarkItem)
256
+ expect(rule.find('ip:IP1')).to be_instance_of(Expressir::Model::RemarkItem)
205
257
 
206
258
  # retry search in parent scope
207
259
  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::InformalProposition)
211
- expect(entity.find('remark_type.ip:IP1')).to be_instance_of(Expressir::Model::InformalProposition)
260
+ expect(entity.find('remark_type.WR1')).to be_instance_of(Expressir::Model::WhereRule)
261
+ expect(entity.find('remark_type.wr:WR1')).to be_instance_of(Expressir::Model::WhereRule)
262
+ expect(entity.find('remark_type.IP1')).to be_instance_of(Expressir::Model::RemarkItem)
263
+ expect(entity.find('remark_type.ip:IP1')).to be_instance_of(Expressir::Model::RemarkItem)
212
264
  end
213
265
  end
214
266
  end