rgen 0.7.0 → 0.8.4

Sign up to get free protection for your applications and to get access to all the features.
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