rgen 0.7.0 → 0.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +27 -0
  3. data/Project.yaml +21 -0
  4. data/README.rdoc +1 -1
  5. data/Rakefile +22 -25
  6. data/lib/rgen/ecore/ecore.rb +1 -1
  7. data/lib/rgen/ecore/ecore_ext.rb +9 -1
  8. data/lib/rgen/ecore/ecore_to_json.rb +188 -0
  9. data/lib/rgen/ecore/ecore_to_ruby.rb +146 -47
  10. data/lib/rgen/fragment/fragmented_model.rb +2 -0
  11. data/lib/rgen/fragment/model_fragment.rb +3 -0
  12. data/lib/rgen/instantiator/default_xml_instantiator.rb +93 -88
  13. data/lib/rgen/metamodel_builder/builder_extensions.rb +33 -9
  14. data/lib/rgen/metamodel_builder/builder_runtime.rb +12 -5
  15. data/lib/rgen/template_language/output_handler.rb +52 -19
  16. data/lib/rgen/template_language/template_container.rb +17 -7
  17. data/lib/rgen/template_language.rb +2 -1
  18. data/test/array_extensions_test.rb +7 -7
  19. data/test/ea_instantiator_test.rb +2 -2
  20. data/test/ea_serializer_test.rb +2 -2
  21. data/test/ecore_self_test.rb +2 -2
  22. data/test/ecore_to_ruby_test.rb +73 -0
  23. data/test/environment_test.rb +2 -2
  24. data/test/json_test.rb +4 -4
  25. data/test/metamodel_builder_test.rb +79 -44
  26. data/test/metamodel_from_ecore_test.rb +1 -1
  27. data/test/metamodel_order_test.rb +2 -2
  28. data/test/metamodel_roundtrip_test.rb +2 -2
  29. data/test/method_delegation_test.rb +5 -5
  30. data/test/model_builder/builder_context_test.rb +3 -3
  31. data/test/model_builder/builder_test.rb +11 -11
  32. data/test/model_builder/reference_resolver_test.rb +3 -3
  33. data/test/model_builder/serializer_test.rb +2 -2
  34. data/test/model_fragment_test.rb +2 -2
  35. data/test/output_handler_test.rb +2 -2
  36. data/test/qualified_name_provider_test.rb +2 -2
  37. data/test/qualified_name_resolver_test.rb +4 -4
  38. data/test/reference_resolver_test.rb +4 -4
  39. data/test/rgen_test.rb +2 -1
  40. data/test/template_language_test/templates/indent_nonl_at_eof_test/test.tpl +14 -0
  41. data/test/template_language_test/templates/indent_same_line_sub/test.tpl +16 -0
  42. data/test/template_language_test/templates/line_endings/mixed.tpl +6 -0
  43. data/test/template_language_test/templates/line_endings/unix.tpl +6 -0
  44. data/test/template_language_test/templates/line_endings/windows.tpl +6 -0
  45. data/test/template_language_test/templates/ws_test.tpl +21 -0
  46. data/test/template_language_test.rb +60 -9
  47. data/test/testmodel/class_model_checker.rb +17 -17
  48. data/test/testmodel/ecore_model_checker.rb +13 -13
  49. data/test/testmodel/object_model_checker.rb +6 -6
  50. data/test/transformer_test.rb +3 -3
  51. data/test/util/file_cache_map_test.rb +2 -2
  52. data/test/util/pattern_matcher_test.rb +7 -7
  53. data/test/xml_instantiator_test/simple_ecore_model_checker.rb +12 -12
  54. data/test/xml_instantiator_test.rb +8 -8
  55. metadata +93 -22
  56. data/test/metamodel_roundtrip_test/TestModel_Regenerated.rb +0 -71
  57. data/test/metamodel_roundtrip_test/houseMetamodel_Regenerated.ecore +0 -162
  58. data/test/metamodel_roundtrip_test/using_builtin_types_serialized.ecore +0 -9
  59. data/test/model_builder/ecore_internal.rb +0 -113
  60. data/test/testmodel/ea_testmodel_regenerated.xml +0 -813
  61. data/test/util/file_cache_map_test/testdir/fileA +0 -1
@@ -1,10 +1,10 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__),"..","lib")
2
2
 
3
- require 'test/unit'
3
+ require 'minitest/autorun'
4
4
  require 'rgen/metamodel_builder'
5
5
  require 'rgen/fragment/model_fragment'
6
6
 
7
- class ModelFragmentTest < Test::Unit::TestCase
7
+ class ModelFragmentTest < MiniTest::Test
8
8
 
9
9
  module TestMetamodel
10
10
  extend RGen::MetamodelBuilder::ModuleExtension
@@ -1,9 +1,9 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__),"..","lib")
2
2
 
3
- require 'test/unit'
3
+ require 'minitest/autorun'
4
4
  require 'rgen/template_language/output_handler'
5
5
 
6
- class MetamodelBuilderTest < Test::Unit::TestCase
6
+ class MetamodelBuilderTest < MiniTest::Test
7
7
  def test_direct_nl
8
8
  h = RGen::TemplateLanguage::OutputHandler.new
9
9
  h.mode = :direct
@@ -1,10 +1,10 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__),"..","lib")
2
2
 
3
- require 'test/unit'
3
+ require 'minitest/autorun'
4
4
  require 'rgen/metamodel_builder'
5
5
  require 'rgen/serializer/qualified_name_provider'
6
6
 
7
- class QualifiedNameProviderTest < Test::Unit::TestCase
7
+ class QualifiedNameProviderTest < MiniTest::Test
8
8
 
9
9
  class AbstractTestNode < RGen::MetamodelBuilder::MMBase
10
10
  contains_many 'children', AbstractTestNode, "parent"
@@ -1,10 +1,10 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__),"..","lib")
2
2
 
3
- require 'test/unit'
3
+ require 'minitest/autorun'
4
4
  require 'rgen/metamodel_builder'
5
5
  require 'rgen/instantiator/qualified_name_resolver'
6
6
 
7
- class QualifiedNameResolverTest < Test::Unit::TestCase
7
+ class QualifiedNameResolverTest < MiniTest::Test
8
8
 
9
9
  class TestNode < RGen::MetamodelBuilder::MMBase
10
10
  has_attr 'name', String
@@ -86,8 +86,8 @@ class QualifiedNameResolverTest < Test::Unit::TestCase
86
86
  assert_equal model[1].children[0].children[0], res.resolveIdentifier("/Root2/Sub21/Sub211")
87
87
  # duplicate name yields two result elements
88
88
  assert_equal [model[2], model[3]], res.resolveIdentifier("/Root3")
89
- assert_equal nil, res.resolveIdentifier("/RootX")
90
- assert_equal nil, res.resolveIdentifier("/Root1/SubX")
89
+ assert_nil res.resolveIdentifier("/RootX")
90
+ assert_nil res.resolveIdentifier("/Root1/SubX")
91
91
  end
92
92
 
93
93
  def test_oneChild
@@ -1,10 +1,10 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__),"..","lib")
2
2
 
3
- require 'test/unit'
3
+ require 'minitest/autorun'
4
4
  require 'rgen/metamodel_builder'
5
5
  require 'rgen/instantiator/reference_resolver'
6
6
 
7
- class ReferenceResolverTest < Test::Unit::TestCase
7
+ class ReferenceResolverTest < MiniTest::Test
8
8
 
9
9
  class TestNode < RGen::MetamodelBuilder::MMBase
10
10
  has_attr 'name', String
@@ -107,9 +107,9 @@ class ReferenceResolverTest < Test::Unit::TestCase
107
107
  def check_model(nodeA, nodeB, nodeC)
108
108
  assert_equal nodeB, nodeA.other
109
109
  assert_equal [], nodeA.others
110
- assert_equal nil, nodeB.other
110
+ assert_nil nodeB.other
111
111
  assert_equal [nodeA, nodeC], nodeB.others
112
- assert_equal nil, nodeC.other
112
+ assert_nil nodeC.other
113
113
  assert_equal [], nodeC.others
114
114
  end
115
115
 
data/test/rgen_test.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  $:.unshift File.dirname(__FILE__)
2
2
 
3
- require 'test/unit'
3
+ require 'minitest/autorun'
4
4
 
5
5
  require 'array_extensions_test'
6
6
  require 'ea_instantiator_test'
@@ -23,4 +23,5 @@ require 'metamodel_from_ecore_test'
23
23
  require 'util_test'
24
24
  require 'model_fragment_test'
25
25
  require 'qualified_name_provider_test'
26
+ require 'ecore_to_ruby_test'
26
27
 
@@ -0,0 +1,14 @@
1
+ <% define 'Test', :for => Object do %>
2
+ <%iinc%>
3
+ <% expand 'Sub' %>
4
+ <%idec%>
5
+ <% end %>
6
+
7
+ <% define 'Sub', :for => Object do %>
8
+ Sub
9
+ <%# white space after the following end tag but no NL %>
10
+ <%# the bug was triggered when the @output of template loading %>
11
+ <%# was non empty and not terminated by a newline; %>
12
+ <%# without the space after end, the newline above this %>
13
+ <%# define block would be the last character %>
14
+ <% end %>
@@ -0,0 +1,16 @@
1
+ <% define 'Test', :for => Object do %>
2
+ <%iinc%>
3
+ Start <% expand 'Sub' %><%nows%>
4
+ <%idec%>
5
+ <% end %>
6
+
7
+ <% define 'Sub', :for => Object do %>
8
+ <%# here we have the noIndentNextLine flag set %>
9
+ <% expand 'Sub2' %>
10
+ Sub
11
+ <% end %>
12
+
13
+ <% define 'Sub2', :for => Object do %>
14
+ <%# here we reset the noIndentNextLine flag %>
15
+ Sub2
16
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <% define 'Mixed', :for => Object do %>
2
+ <% file "line_endings_mixed.txt" do %>
3
+ first line (unix) |
4
+ second line (windows) |
5
+ <% end %>
6
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <% define 'Unix', :for => Object do %>
2
+ <% file "line_endings_unix.txt" do %>
3
+ first line |
4
+ second line |
5
+ <% end %>
6
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <% define 'Windows', :for => Object do %>
2
+ <% file "line_endings_windows.txt" do %>
3
+ first line |
4
+ second line |
5
+ <% end %>
6
+ <% end %>
@@ -0,0 +1,21 @@
1
+ <% define 'WSTest', :for => Object do %>
2
+ /*
3
+ <%ws%>*
4
+ <%ws%>*/
5
+ <% end %>
6
+
7
+ <% define 'WSTest2', :for => Object do %>
8
+ <% expand 'SubWithNows' %><%ws%>= 1;
9
+ <% end %>
10
+
11
+ <% define 'SubWithNows', :for => Object do %>
12
+ somevar<%nows%>
13
+ <% end %>
14
+
15
+ <% define 'WSTest3', :for => Object do %>
16
+ <%iinc%>
17
+ /*
18
+ <%ws%>*
19
+ <%ws%>*/
20
+ <%idec%>
21
+ <% end %>
@@ -1,10 +1,10 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__),"..","lib")
2
2
 
3
- require 'test/unit'
3
+ require 'minitest/autorun'
4
4
  require 'rgen/template_language'
5
5
  require 'rgen/metamodel_builder'
6
6
 
7
- class TemplateContainerTest < Test::Unit::TestCase
7
+ class TemplateContainerTest < MiniTest::Test
8
8
 
9
9
  TEMPLATES_DIR = File.dirname(__FILE__)+"/template_language_test/templates"
10
10
  OUTPUT_DIR = File.dirname(__FILE__)+"/template_language_test"
@@ -93,17 +93,15 @@ class TemplateContainerTest < Test::Unit::TestCase
93
93
  def test_null_context
94
94
  tc = RGen::TemplateLanguage::DirectoryTemplateContainer.new([MyMM, CCodeMM], OUTPUT_DIR)
95
95
  tc.load(TEMPLATES_DIR)
96
- assert_raise StandardError do
96
+ assert_raises StandardError do
97
97
  # the template must raise an exception because it calls expand :for => nil
98
98
  tc.expand('null_context_test::NullContextTestBad', :for => :dummy)
99
99
  end
100
- assert_raise StandardError do
100
+ assert_raises StandardError do
101
101
  # the template must raise an exception because it calls expand :foreach => nil
102
102
  tc.expand('null_context_test::NullContextTestBad2', :for => :dummy)
103
103
  end
104
- assert_nothing_raised do
105
- tc.expand('null_context_test::NullContextTestOk', :for => :dummy)
106
- end
104
+ tc.expand('null_context_test::NullContextTestOk', :for => :dummy)
107
105
  end
108
106
 
109
107
  def test_no_indent
@@ -141,7 +139,7 @@ class TemplateContainerTest < Test::Unit::TestCase
141
139
  tc = RGen::TemplateLanguage::DirectoryTemplateContainer.new([MyMM, CCodeMM], OUTPUT_DIR)
142
140
  tc.load(TEMPLATES_DIR)
143
141
  assert_equal "Local1\r\n", tc.expand('define_local_test/test::Test', :for => :dummy)
144
- assert_raise StandardError do
142
+ assert_raises StandardError do
145
143
  tc.expand('define_local_test/test::TestForbidden', :for => :dummy)
146
144
  end
147
145
  end
@@ -158,6 +156,59 @@ class TemplateContainerTest < Test::Unit::TestCase
158
156
  tc = RGen::TemplateLanguage::DirectoryTemplateContainer.new([MyMM, CCodeMM], OUTPUT_DIR)
159
157
  tc.load(TEMPLATES_DIR)
160
158
  assert_equal("|before callback\r\n |in callback\r\n|after callback\r\n |after iinc\r\n",
161
- tc.expand('callback_indent_test/a::caller', :for => :dummy))
159
+ tc.expand('callback_indent_test/a::caller', :for => :dummy))
162
160
  end
161
+
162
+ def test_indent_nonl_at_eof
163
+ tc = RGen::TemplateLanguage::DirectoryTemplateContainer.new([MyMM, CCodeMM], OUTPUT_DIR)
164
+ tc.load(TEMPLATES_DIR)
165
+ assert_equal(" Sub\n",
166
+ tc.expand('indent_nonl_at_eof_test/test::Test', :for => :dummy))
167
+ end
168
+
169
+ def test_indent_same_line_sub
170
+ tc = RGen::TemplateLanguage::DirectoryTemplateContainer.new([MyMM, CCodeMM], OUTPUT_DIR)
171
+ tc.load(TEMPLATES_DIR)
172
+ assert_equal(" Start Sub2\r\n Sub\r\n",
173
+ tc.expand('indent_same_line_sub/test::Test', :for => :dummy))
174
+ end
175
+
176
+ def test_line_endings
177
+ tc = RGen::TemplateLanguage::DirectoryTemplateContainer.new([MyMM, CCodeMM], OUTPUT_DIR)
178
+ tc.load(TEMPLATES_DIR)
179
+ tc.expand('line_endings/unix::Unix', :for => :dummy)
180
+ tc.expand('line_endings/windows::Windows', :for => :dummy)
181
+ tc.expand('line_endings/mixed::Mixed', :for => :dummy)
182
+
183
+ unix = binread(OUTPUT_DIR+'/line_endings_unix.txt')
184
+ assert unix.include?("|\n") && !unix.include?("|\r\n"), unix
185
+
186
+ windows = binread(OUTPUT_DIR+'/line_endings_windows.txt')
187
+ assert windows.include?("|\r\n") && !windows.include?("|\n"), windows
188
+
189
+ mixed = binread(OUTPUT_DIR+'/line_endings_mixed.txt')
190
+ assert mixed.include?("|\r\n") && mixed.include?("|\n"), mixed
191
+ end
192
+
193
+ def test_ws
194
+ tc = RGen::TemplateLanguage::DirectoryTemplateContainer.new([MyMM, CCodeMM], OUTPUT_DIR)
195
+ tc.load(TEMPLATES_DIR)
196
+ assert_equal("/*\n *\n */\n",
197
+ tc.expand('ws_test::WSTest', :for => :dummy))
198
+ assert_equal("somevar = 1;\n",
199
+ tc.expand('ws_test::WSTest2', :for => :dummy))
200
+ assert_equal(" /*\n *\n */\n",
201
+ tc.expand('ws_test::WSTest3', :for => :dummy))
202
+ end
203
+
204
+ private
205
+
206
+ def binread(file)
207
+ result = nil
208
+ File.open(file, "rb") do |f|
209
+ result = f.read
210
+ end
211
+ result
212
+ end
213
+
163
214
  end
@@ -11,7 +11,7 @@ module ClassModelChecker
11
11
 
12
12
  # check main package
13
13
  mainPackage = envUML.find(:class => UML13::Package, :name => "HouseMetamodel").first
14
- assert_not_nil mainPackage
14
+ assert mainPackage != nil
15
15
 
16
16
  # check Rooms package
17
17
  subs = mainPackage.ownedElement.select{|e| e.is_a?(UML13::Package)}
@@ -26,10 +26,10 @@ module ClassModelChecker
26
26
  personClass = classes.find{|c| c.name == "Person"}
27
27
  meetingPlaceClass = classes.find{|c| c.name == "MeetingPlace"}
28
28
  cookingPlaceInterface = mainPackage.ownedElement.find{|e| e.is_a?(UML13::Interface) && e.name == "CookingPlace"}
29
- assert_not_nil houseClass
30
- assert_not_nil personClass
31
- assert_not_nil meetingPlaceClass
32
- assert_not_nil cookingPlaceInterface
29
+ assert houseClass != nil
30
+ assert personClass != nil
31
+ assert meetingPlaceClass != nil
32
+ assert cookingPlaceInterface != nil
33
33
 
34
34
  # check Rooms package classes
35
35
  classes = roomsPackage.ownedElement.select{|e| e.is_a?(UML13::Class)}
@@ -37,20 +37,20 @@ module ClassModelChecker
37
37
  roomClass = classes.find{|c| c.name == "Room"}
38
38
  kitchenClass = classes.find{|c| c.name == "Kitchen"}
39
39
  bathroomClass = classes.find{|c| c.name == "Bathroom"}
40
- assert_not_nil roomClass
41
- assert_not_nil kitchenClass
42
- assert_not_nil bathroomClass
40
+ assert roomClass != nil
41
+ assert kitchenClass != nil
42
+ assert bathroomClass != nil
43
43
 
44
44
  # check Room inheritance
45
45
  assert_equal 2, roomClass.specialization.child.size
46
- assert_not_nil roomClass.specialization.child.find{|c| c.name == "Kitchen"}
47
- assert_not_nil roomClass.specialization.child.find{|c| c.name == "Bathroom"}
46
+ assert nil != roomClass.specialization.child.find{|c| c.name == "Kitchen"}
47
+ assert nil != roomClass.specialization.child.find{|c| c.name == "Bathroom"}
48
48
  assert_equal 2, kitchenClass.generalization.parent.size
49
49
  assert_equal roomClass.object_id, kitchenClass.generalization.parent.find{|c| c.name == "Room"}.object_id
50
50
  assert_equal meetingPlaceClass.object_id, kitchenClass.generalization.parent.find{|c| c.name == "MeetingPlace"}.object_id
51
51
  assert_equal 1, bathroomClass.generalization.parent.size
52
52
  assert_equal roomClass.object_id, bathroomClass.generalization.parent.first.object_id
53
- assert_not_nil kitchenClass.clientDependency.find{|d| d.stereotype.name == "implements"}
53
+ assert nil != kitchenClass.clientDependency.find{|d| d.stereotype.name == "implements"}
54
54
  assert_equal cookingPlaceInterface.object_id, kitchenClass.clientDependency.supplier.find{|c| c.name == "CookingPlace"}.object_id
55
55
  assert_equal kitchenClass.object_id, cookingPlaceInterface.supplierDependency.client.find{|c| c.name == "Kitchen"}.object_id
56
56
 
@@ -72,8 +72,8 @@ module ClassModelChecker
72
72
  assert_equal 2, houseClass.remoteNavigableEnd.size
73
73
  bathEnd = houseClass.remoteNavigableEnd.find{|e| e.name == "bathroom"}
74
74
  kitchenEnd = houseClass.remoteNavigableEnd.find{|e| e.name== "kitchen"}
75
- assert_not_nil bathEnd
76
- assert_not_nil kitchenEnd
75
+ assert bathEnd != nil
76
+ assert kitchenEnd != nil
77
77
  assert_equal UML13::Association, bathEnd.association.class
78
78
  assert_equal UML13::Association, kitchenEnd.association.class
79
79
  assert_equal "1", kitchenEnd.multiplicity.range.first.lower
@@ -82,7 +82,7 @@ module ClassModelChecker
82
82
  # check House IN associations
83
83
  assert_equal 3, houseClass.localNavigableEnd.size
84
84
  homeEnd = houseClass.localNavigableEnd.find{|e| e.name == "home"}
85
- assert_not_nil homeEnd
85
+ assert homeEnd != nil
86
86
  assert_equal UML13::Association, homeEnd.association.class
87
87
  assert_equal "0", homeEnd.multiplicity.range.first.lower
88
88
  assert_equal "*", homeEnd.multiplicity.range.first.upper
@@ -97,14 +97,14 @@ module ClassModelChecker
97
97
  assert_nil mainPackage
98
98
 
99
99
  roomsPackage = envUML.find(:class => UML13::Package, :name => "Rooms").first
100
- assert_not_nil roomsPackage
100
+ assert roomsPackage != nil
101
101
 
102
102
  roomClass = envUML.find(:class => UML13::Class, :name => "Room").first
103
- assert_not_nil roomClass
103
+ assert roomClass != nil
104
104
 
105
105
  # House is created from an EAStub
106
106
  houseClass = roomClass.remoteCompositeEnd.first.type
107
- assert_not_nil houseClass
107
+ assert houseClass != nil
108
108
  assert_equal "House", houseClass.name
109
109
  # House is not in a package since it's just a stub
110
110
  assert houseClass.namespace.nil?
@@ -12,7 +12,7 @@ module ECoreModelChecker
12
12
 
13
13
  # check main package
14
14
  mainPackage = env.elements.select {|e| e.is_a? EPackage and e.name == "HouseMetamodel"}.first
15
- assert_not_nil mainPackage
15
+ assert mainPackage != nil
16
16
 
17
17
  # check Rooms package
18
18
  assert mainPackage.eSubpackages.is_a?(Array)
@@ -29,10 +29,10 @@ module ECoreModelChecker
29
29
  personClass = mainPackage.eClassifiers.select{|c| c.name == "Person"}.first
30
30
  meetingPlaceClass = mainPackage.eClassifiers.select{|c| c.name == "MeetingPlace"}.first
31
31
  cookingPlaceInterface = mainPackage.eClassifiers.select{|c| c.name == "CookingPlace"}.first
32
- assert_not_nil houseClass
33
- assert_not_nil personClass
34
- assert_not_nil meetingPlaceClass
35
- assert_not_nil cookingPlaceInterface
32
+ assert houseClass != nil
33
+ assert personClass != nil
34
+ assert meetingPlaceClass != nil
35
+ assert cookingPlaceInterface != nil
36
36
 
37
37
  # check Rooms package classes
38
38
  assert roomsPackage.eClassifiers.is_a?(Array)
@@ -41,9 +41,9 @@ module ECoreModelChecker
41
41
  roomClass = roomsPackage.eClassifiers.select{|c| c.name == "Room"}.first
42
42
  kitchenClass = roomsPackage.eClassifiers.select{|c| c.name == "Kitchen"}.first
43
43
  bathroomClass = roomsPackage.eClassifiers.select{|c| c.name == "Bathroom"}.first
44
- assert_not_nil roomClass
45
- assert_not_nil kitchenClass
46
- assert_not_nil bathroomClass
44
+ assert roomClass != nil
45
+ assert kitchenClass != nil
46
+ assert bathroomClass != nil
47
47
 
48
48
  # check Room inheritance
49
49
  assert kitchenClass.eSuperTypes.is_a?(Array)
@@ -63,7 +63,7 @@ module ECoreModelChecker
63
63
  assert_equal "room", roomRef.name
64
64
  assert_equal 1, roomRef.lowerBound
65
65
  assert_equal(-1, roomRef.upperBound)
66
- assert_not_nil roomRef.eOpposite
66
+ assert roomRef.eOpposite != nil
67
67
  assert_equal houseClass.object_id, roomRef.eOpposite.eType.object_id
68
68
 
69
69
  partOfRefs = roomClass.eReferences.select{|r| r.eOpposite && r.eOpposite.containment}
@@ -78,10 +78,10 @@ module ECoreModelChecker
78
78
  bathRef = houseClass.eReferences.find {|e| e.name == "bathroom"}
79
79
  kitchenRef = houseClass.eReferences.find {|e| e.name == "kitchen"}
80
80
  roomRef = houseClass.eReferences.find {|e| e.name == "room"}
81
- assert_not_nil bathRef
81
+ assert bathRef != nil
82
82
  assert_nil bathRef.eOpposite
83
- assert_not_nil kitchenRef
84
- assert_not_nil roomRef
83
+ assert kitchenRef != nil
84
+ assert roomRef != nil
85
85
  assert_equal 1, kitchenRef.lowerBound
86
86
  assert_equal 1, kitchenRef.upperBound
87
87
  assert_equal 1, roomRef.lowerBound
@@ -91,7 +91,7 @@ module ECoreModelChecker
91
91
  houseInRefs = env.find(:class => EReference, :eType => houseClass)
92
92
  assert_equal 3, houseInRefs.size
93
93
  homeEnd = houseInRefs.find{|e| e.name == "home"}
94
- assert_not_nil homeEnd
94
+ assert homeEnd != nil
95
95
  assert_equal 0, homeEnd.lowerBound
96
96
  assert_equal(-1, homeEnd.upperBound)
97
97
 
@@ -18,10 +18,10 @@ module ObjectModelChecker
18
18
 
19
19
  # check main package
20
20
  mainPackage = envUML.find(:class => UML13::Package, :name => "HouseExampleModel").first
21
- assert_not_nil mainPackage
21
+ assert mainPackage != nil
22
22
 
23
23
  eaRootCollaboration = mainPackage.ownedElement.find{|e| e.is_a?(UML13::Collaboration) && e.name == "Collaborations"}
24
- assert_not_nil eaRootCollaboration
24
+ assert eaRootCollaboration != nil
25
25
 
26
26
  # check main package objects
27
27
  objects = eaRootCollaboration.ownedElement.select{|e| e.is_a?(UML13::ClassifierRole)}
@@ -56,10 +56,10 @@ module ObjectModelChecker
56
56
  assert someonesHouse.localCompositeEnd.otherEnd.is_a?(Array)
57
57
  assert_equal 4, someonesHouse.localCompositeEnd.otherEnd.size
58
58
  assert someonesHouse.localCompositeEnd.otherEnd.all?{|e| e.name == "room"}
59
- assert_not_nil someonesHouse.localCompositeEnd.otherEnd.getType.find{|o| o == yellowRoom}
60
- assert_not_nil someonesHouse.localCompositeEnd.otherEnd.getType.find{|o| o == greenRoom}
61
- assert_not_nil someonesHouse.localCompositeEnd.otherEnd.getType.find{|o| o == hotRoom}
62
- assert_not_nil someonesHouse.localCompositeEnd.otherEnd.getType.find{|o| o == wetRoom}
59
+ assert nil != someonesHouse.localCompositeEnd.otherEnd.getType.find{|o| o == yellowRoom}
60
+ assert nil != someonesHouse.localCompositeEnd.otherEnd.getType.find{|o| o == greenRoom}
61
+ assert nil != someonesHouse.localCompositeEnd.otherEnd.getType.find{|o| o == hotRoom}
62
+ assert nil != someonesHouse.localCompositeEnd.otherEnd.getType.find{|o| o == wetRoom}
63
63
 
64
64
  end
65
65
  end
@@ -1,14 +1,14 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__),"..","lib")
2
2
  $:.unshift File.join(File.dirname(__FILE__),"..","test")
3
3
 
4
- require 'test/unit'
4
+ require 'minitest/autorun'
5
5
  require 'rgen/transformer'
6
6
  require 'rgen/environment'
7
7
  require 'rgen/util/model_comparator'
8
8
  require 'metamodels/uml13_metamodel'
9
9
  require 'testmodel/class_model_checker'
10
10
 
11
- class TransformerTest < Test::Unit::TestCase
11
+ class TransformerTest < MiniTest::Test
12
12
 
13
13
  class ModelIn
14
14
  attr_accessor :name
@@ -135,7 +135,7 @@ class TransformerTest < Test::Unit::TestCase
135
135
  assert_equal t1.trans(from).object_id, t2.trans(from).object_id
136
136
  assert_equal :dummy, t2.trans(from2)
137
137
  # and no transformer rule is evaluated at this point
138
- assert_equal nil, t2.modelInTrans_count
138
+ assert_nil t2.modelInTrans_count
139
139
  # now transform a new object in second transformer
140
140
  assert t2.trans(from3).is_a?(ModelOut)
141
141
  assert_equal "Test3", t2.trans(from3).name
@@ -1,10 +1,10 @@
1
1
  $:.unshift(File.dirname(__FILE__)+"/../../lib")
2
2
 
3
- require 'test/unit'
3
+ require 'minitest/autorun'
4
4
  require 'fileutils'
5
5
  require 'rgen/util/file_cache_map'
6
6
 
7
- class FileCacheMapTest < Test::Unit::TestCase
7
+ class FileCacheMapTest < MiniTest::Test
8
8
 
9
9
  TestDir = File.dirname(__FILE__)+"/file_cache_map_test/testdir"
10
10
 
@@ -1,12 +1,12 @@
1
1
  $:.unshift(File.dirname(__FILE__)+"/../../lib")
2
2
 
3
- require 'test/unit'
3
+ require 'minitest/autorun'
4
4
  require 'rgen/environment'
5
5
  require 'rgen/metamodel_builder'
6
6
  require 'rgen/model_builder'
7
7
  require 'rgen/util/pattern_matcher'
8
8
 
9
- class PatternMatcherTest < Test::Unit::TestCase
9
+ class PatternMatcherTest < MiniTest::Test
10
10
 
11
11
  module TestMM
12
12
  extend RGen::MetamodelBuilder::ModuleExtension
@@ -51,7 +51,7 @@ def test_simple
51
51
  env = modelA
52
52
 
53
53
  match = matcher.find_pattern(env, "simple")
54
- assert_not_nil match
54
+ assert match != nil
55
55
  assert_equal "A", match.root.name
56
56
  assert_equal env.find(:class => TestMM::Node, :name => "A").first.object_id, match.root.object_id
57
57
  assert_equal 2, match.elements.size
@@ -75,21 +75,21 @@ def test_value_binding
75
75
  env = modelA
76
76
 
77
77
  match = matcher.find_pattern(env, "single_child")
78
- assert_not_nil match
78
+ assert match != nil
79
79
  assert_equal "A", match.root.name
80
80
  assert_equal "AA", match.bound_values[1].name
81
81
 
82
82
  match = matcher.find_pattern(env, "single_child", "D")
83
- assert_not_nil match
83
+ assert match != nil
84
84
  assert_equal "D", match.root.name
85
85
  assert_equal "DD", match.bound_values[0].name
86
86
 
87
87
  match = matcher.find_pattern(env, "double_child")
88
- assert_not_nil match
88
+ assert match != nil
89
89
  assert_equal "C", match.root.name
90
90
 
91
91
  match = matcher.find_pattern(env, "child_pattern")
92
- assert_not_nil match
92
+ assert match != nil
93
93
  assert_equal ["AA"], match.bound_values
94
94
  end
95
95
 
@@ -10,7 +10,7 @@ module SimpleECoreModelChecker
10
10
 
11
11
  # check main package
12
12
  mainPackage = env.elements.select {|e| e.is_a? EPackage and e.name == "HouseMetamodel"}.first
13
- assert_not_nil mainPackage
13
+ assert mainPackage != nil
14
14
 
15
15
  # check Rooms package
16
16
  assert mainPackage.eSubpackages.is_a?(Array)
@@ -26,9 +26,9 @@ module SimpleECoreModelChecker
26
26
  houseClass = mainPackage.eClassifiers.select{|c| c.name == "House"}.first
27
27
  personClass = mainPackage.eClassifiers.select{|c| c.name == "Person"}.first
28
28
  meetingPlaceClass = mainPackage.eClassifiers.select{|c| c.name == "MeetingPlace"}.first
29
- assert_not_nil houseClass
30
- assert_not_nil personClass
31
- assert_not_nil meetingPlaceClass
29
+ assert houseClass != nil
30
+ assert personClass != nil
31
+ assert meetingPlaceClass != nil
32
32
 
33
33
  # check Rooms package classes
34
34
  assert roomsPackage.eClassifiers.is_a?(Array)
@@ -37,9 +37,9 @@ module SimpleECoreModelChecker
37
37
  roomClass = roomsPackage.eClassifiers.select{|c| c.name == "Room"}.first
38
38
  kitchenClass = roomsPackage.eClassifiers.select{|c| c.name == "Kitchen"}.first
39
39
  bathroomClass = roomsPackage.eClassifiers.select{|c| c.name == "Bathroom"}.first
40
- assert_not_nil roomClass
41
- assert_not_nil kitchenClass
42
- assert_not_nil bathroomClass
40
+ assert roomClass != nil
41
+ assert kitchenClass != nil
42
+ assert bathroomClass != nil
43
43
 
44
44
  # check Room inheritance
45
45
  assert kitchenClass.eSuperTypes.is_a?(Array)
@@ -58,7 +58,7 @@ module SimpleECoreModelChecker
58
58
  assert_equal "room", roomRef.name
59
59
  assert_equal 1, roomRef.lowerBound
60
60
  assert_equal(-1, roomRef.upperBound)
61
- assert_not_nil roomRef.eOpposite
61
+ assert roomRef.eOpposite != nil
62
62
  assert_equal houseClass.object_id, roomRef.eOpposite.eType.object_id
63
63
 
64
64
  partOfRefs = roomClass.eReferences.select{|r| r.eOpposite && r.eOpposite.containment}
@@ -73,10 +73,10 @@ module SimpleECoreModelChecker
73
73
  bathRef = houseClass.eReferences.find {|e| e.name == "bathroom"}
74
74
  kitchenRef = houseClass.eReferences.find {|e| e.name == "kitchen"}
75
75
  roomRef = houseClass.eReferences.find {|e| e.name == "room"}
76
- assert_not_nil bathRef
76
+ assert bathRef != nil
77
77
  assert_nil bathRef.eOpposite
78
- assert_not_nil kitchenRef
79
- assert_not_nil roomRef
78
+ assert kitchenRef != nil
79
+ assert roomRef != nil
80
80
  assert_equal 1, kitchenRef.lowerBound
81
81
  assert_equal 1, kitchenRef.upperBound
82
82
  assert_equal 1, roomRef.lowerBound
@@ -86,7 +86,7 @@ module SimpleECoreModelChecker
86
86
  houseInRefs = env.find(:class => EReference, :eType => houseClass)
87
87
  assert_equal 3, houseInRefs.size
88
88
  homeEnd = houseInRefs.find{|e| e.name == "home"}
89
- assert_not_nil homeEnd
89
+ assert homeEnd != nil
90
90
  assert_equal 0, homeEnd.lowerBound
91
91
  assert_equal(-1, homeEnd.upperBound)
92
92