rgen 0.8.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG +21 -0
  3. data/Project.yaml +22 -0
  4. data/Rakefile +21 -25
  5. data/lib/rgen/ecore/ecore.rb +7 -1
  6. data/lib/rgen/ecore/ecore_ext.rb +9 -1
  7. data/lib/rgen/ecore/ecore_to_json.rb +189 -0
  8. data/lib/rgen/ecore/ecore_to_ruby.rb +46 -10
  9. data/lib/rgen/fragment/fragmented_model.rb +2 -0
  10. data/lib/rgen/fragment/model_fragment.rb +3 -0
  11. data/lib/rgen/metamodel_builder/builder_extensions.rb +14 -6
  12. data/lib/rgen/metamodel_builder/builder_runtime.rb +12 -5
  13. data/lib/rgen/template_language/output_handler.rb +10 -0
  14. data/lib/rgen/template_language/template_container.rb +7 -3
  15. data/lib/rgen/template_language.rb +2 -1
  16. data/test/array_extensions_test.rb +7 -7
  17. data/test/ea_instantiator_test.rb +2 -2
  18. data/test/ea_serializer_test.rb +2 -2
  19. data/test/ecore_self_test.rb +2 -2
  20. data/test/ecore_to_ruby_test.rb +2 -2
  21. data/test/environment_test.rb +2 -2
  22. data/test/json_test.rb +4 -4
  23. data/test/metamodel_builder_test.rb +81 -46
  24. data/test/metamodel_from_ecore_test.rb +1 -1
  25. data/test/metamodel_order_test.rb +2 -2
  26. data/test/metamodel_roundtrip_test.rb +2 -2
  27. data/test/method_delegation_test.rb +5 -5
  28. data/test/model_builder/builder_context_test.rb +3 -3
  29. data/test/model_builder/builder_test.rb +11 -11
  30. data/test/model_builder/reference_resolver_test.rb +3 -3
  31. data/test/model_builder/serializer_test.rb +2 -2
  32. data/test/model_fragment_test.rb +2 -2
  33. data/test/output_handler_test.rb +2 -2
  34. data/test/qualified_name_provider_test.rb +2 -2
  35. data/test/qualified_name_resolver_test.rb +4 -4
  36. data/test/reference_resolver_test.rb +4 -4
  37. data/test/rgen_test.rb +1 -1
  38. data/test/template_language_test/templates/line_endings/mixed.tpl +6 -0
  39. data/test/template_language_test/templates/line_endings/unix.tpl +6 -0
  40. data/test/template_language_test/templates/line_endings/windows.tpl +6 -0
  41. data/test/template_language_test/templates/ws_test.tpl +21 -0
  42. data/test/template_language_test.rb +45 -8
  43. data/test/testmodel/class_model_checker.rb +17 -17
  44. data/test/testmodel/ecore_model_checker.rb +13 -13
  45. data/test/testmodel/object_model_checker.rb +6 -6
  46. data/test/transformer_test.rb +3 -3
  47. data/test/util/file_cache_map_test.rb +2 -2
  48. data/test/util/pattern_matcher_test.rb +7 -7
  49. data/test/xml_instantiator_test/simple_ecore_model_checker.rb +12 -12
  50. data/test/xml_instantiator_test.rb +8 -8
  51. metadata +106 -51
  52. data/test/coverage/assets/0.10.0/application.css +0 -799
  53. data/test/coverage/assets/0.10.0/application.js +0 -1707
  54. data/test/coverage/assets/0.10.0/colorbox/border.png +0 -0
  55. data/test/coverage/assets/0.10.0/colorbox/controls.png +0 -0
  56. data/test/coverage/assets/0.10.0/colorbox/loading.gif +0 -0
  57. data/test/coverage/assets/0.10.0/colorbox/loading_background.png +0 -0
  58. data/test/coverage/assets/0.10.0/favicon_green.png +0 -0
  59. data/test/coverage/assets/0.10.0/favicon_red.png +0 -0
  60. data/test/coverage/assets/0.10.0/favicon_yellow.png +0 -0
  61. data/test/coverage/assets/0.10.0/loading.gif +0 -0
  62. data/test/coverage/assets/0.10.0/magnify.png +0 -0
  63. data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  64. data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  65. data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  66. data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  67. data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  68. data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  69. data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  70. data/test/coverage/assets/0.10.0/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  71. data/test/coverage/assets/0.10.0/smoothness/images/ui-icons_222222_256x240.png +0 -0
  72. data/test/coverage/assets/0.10.0/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  73. data/test/coverage/assets/0.10.0/smoothness/images/ui-icons_454545_256x240.png +0 -0
  74. data/test/coverage/assets/0.10.0/smoothness/images/ui-icons_888888_256x240.png +0 -0
  75. data/test/coverage/assets/0.10.0/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  76. data/test/coverage/index.html +0 -72
  77. data/test/metamodel_roundtrip_test/TestModel_Regenerated.rb +0 -71
  78. data/test/metamodel_roundtrip_test/houseMetamodel_Regenerated.ecore +0 -162
  79. data/test/metamodel_roundtrip_test/using_builtin_types_serialized.ecore +0 -9
  80. data/test/model_builder/ecore_internal.rb +0 -113
  81. data/test/testmodel/ea_testmodel_regenerated.xml +0 -813
  82. data/test/util/file_cache_map_test/testdir/fileA +0 -1
@@ -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/array_extensions'
5
5
 
6
- class ArrayExtensionsTest < Test::Unit::TestCase
6
+ class ArrayExtensionsTest < MiniTest::Test
7
7
 
8
8
  def test_element_methods
9
9
  c = Struct.new("SomeClass",:name,:age)
@@ -11,11 +11,11 @@ class ArrayExtensionsTest < Test::Unit::TestCase
11
11
  a << c.new('MyName',33)
12
12
  a << c.new('YourName',22)
13
13
  assert_equal ["MyName", "YourName"], a >> :name
14
- assert_raise NoMethodError do
14
+ assert_raises NoMethodError do
15
15
  a.name
16
16
  end
17
17
  assert_equal [33, 22], a>>:age
18
- assert_raise NoMethodError do
18
+ assert_raises NoMethodError do
19
19
  a.age
20
20
  end
21
21
  # unfortunately, any method can be called on an empty array
@@ -42,11 +42,11 @@ class ArrayExtensionsTest < Test::Unit::TestCase
42
42
  # put something into the array that is not an MMBase
43
43
  a << "not a MMBase"
44
44
  # the dot operator will tell that there is something not a MMBase
45
- assert_raise StandardError do
45
+ assert_raises StandardError do
46
46
  a.age
47
47
  end
48
48
  # the >> operator will try to call the method anyway
49
- assert_raise NoMethodError do
49
+ assert_raises NoMethodError do
50
50
  a >> :age
51
51
  end
52
52
  end
@@ -56,7 +56,7 @@ class ArrayExtensionsTest < Test::Unit::TestCase
56
56
  end
57
57
 
58
58
  def test_to_str_on_empty_array
59
- assert_raise NoMethodError do
59
+ assert_raises NoMethodError do
60
60
  [].to_str
61
61
  end
62
62
  end
@@ -1,6 +1,6 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__),"..","lib")
2
2
 
3
- require 'test/unit'
3
+ require 'minitest/autorun'
4
4
  require 'rgen/environment'
5
5
  require 'metamodels/uml13_metamodel'
6
6
  require 'ea_support/ea_support'
@@ -9,7 +9,7 @@ require 'testmodel/class_model_checker'
9
9
  require 'testmodel/object_model_checker'
10
10
  require 'testmodel/ecore_model_checker'
11
11
 
12
- class EAInstantiatorTest < Test::Unit::TestCase
12
+ class EAInstantiatorTest < MiniTest::Test
13
13
 
14
14
  include Testmodel::ClassModelChecker
15
15
  include Testmodel::ObjectModelChecker
@@ -1,12 +1,12 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__),"..","lib")
2
2
 
3
- require 'test/unit'
3
+ require 'minitest/autorun'
4
4
  require 'rgen/environment'
5
5
  require 'metamodels/uml13_metamodel'
6
6
  require 'ea_support/ea_support'
7
7
  require 'rgen/serializer/xmi11_serializer'
8
8
 
9
- class EASerializerTest < Test::Unit::TestCase
9
+ class EASerializerTest < MiniTest::Test
10
10
 
11
11
  MODEL_DIR = File.join(File.dirname(__FILE__),"testmodel")
12
12
  TEST_DIR = File.join(File.dirname(__FILE__),"ea_serializer_test")
@@ -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/ecore/ecore'
5
5
  require 'rgen/array_extensions'
6
6
 
7
- class ECoreSelfTest < Test::Unit::TestCase
7
+ class ECoreSelfTest < MiniTest::Test
8
8
  include RGen::ECore
9
9
 
10
10
  def test_simple
@@ -1,12 +1,12 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__),"..","lib")
2
2
 
3
- require 'test/unit'
3
+ require 'minitest/autorun'
4
4
  require 'rgen/environment'
5
5
  require 'rgen/ecore/ecore'
6
6
  require 'rgen/ecore/ecore_ext'
7
7
  require 'rgen/ecore/ecore_to_ruby'
8
8
 
9
- class ECoreToRubyTest < Test::Unit::TestCase
9
+ class ECoreToRubyTest < MiniTest::Test
10
10
 
11
11
  module ContainerSimple
12
12
  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/environment'
5
5
  require 'rgen/metamodel_builder'
6
6
 
7
- class EnvironmentTest < Test::Unit::TestCase
7
+ class EnvironmentTest < MiniTest::Test
8
8
 
9
9
  class Model
10
10
  attr_accessor :name
data/test/json_test.rb CHANGED
@@ -1,12 +1,12 @@
1
1
  $:.unshift File.join(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/serializer/json_serializer'
7
7
  require 'rgen/instantiator/json_instantiator'
8
8
 
9
- class JsonTest < Test::Unit::TestCase
9
+ class JsonTest < MiniTest::Test
10
10
 
11
11
  module TestMM
12
12
  extend RGen::MetamodelBuilder::ModuleExtension
@@ -61,7 +61,7 @@ class JsonTest < Test::Unit::TestCase
61
61
  inst.instantiate(%q({ "_class": "TestNode", "text": "some text", "childs": [
62
62
  { "_class": "TestNode", "text": "child" }] }))
63
63
  root = env.find(:class => TestMM::TestNode, :text => "some text").first
64
- assert_not_nil root
64
+ assert root != nil
65
65
  assert_equal 1, root.childs.size
66
66
  assert_equal TestMM::TestNode, root.childs.first.class
67
67
  assert_equal "child", root.childs.first.text
@@ -149,7 +149,7 @@ class JsonTest < Test::Unit::TestCase
149
149
  def test_json_instantiator_subpackage_no_shortname_opt
150
150
  env = RGen::Environment.new
151
151
  inst = RGen::Instantiator::JsonInstantiator.new(env, TestMMSubpackage, :short_class_names => false)
152
- assert_raise RuntimeError do
152
+ assert_raises RuntimeError do
153
153
  inst.instantiate(%q({ "_class": "Data2", "data2": "something" }))
154
154
  end
155
155
  end
@@ -1,11 +1,11 @@
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/array_extensions'
6
6
  require 'bigdecimal'
7
7
 
8
- class MetamodelBuilderTest < Test::Unit::TestCase
8
+ class MetamodelBuilderTest < MiniTest::Test
9
9
 
10
10
  module TestMetamodel
11
11
  extend RGen::MetamodelBuilder::ModuleExtension
@@ -168,6 +168,16 @@ class MetamodelBuilderTest < Test::Unit::TestCase
168
168
  end
169
169
  OppositeRefAssocA.one_to_one 'bClass', OppositeRefAssocB, 'aClass'
170
170
 
171
+ class ReservedNameClass < RGen::MetamodelBuilder::MMBase
172
+ has_attr 'class', String
173
+ has_attr 'method', String
174
+ end
175
+
176
+ class ManyReservedNameClass < RGen::MetamodelBuilder::MMBase
177
+ has_many_attr 'class', String
178
+ has_many_attr 'method', String
179
+ end
180
+
171
181
  end
172
182
 
173
183
  def mm
@@ -182,11 +192,11 @@ class MetamodelBuilderTest < Test::Unit::TestCase
182
192
  sc.name = "TestName"
183
193
  assert_equal "TestName", sc.name
184
194
  sc.name = nil
185
- assert_equal nil, sc.name
186
- err = assert_raise StandardError do
195
+ assert_nil sc.name
196
+ err = assert_raises StandardError do
187
197
  sc.name = 5
188
198
  end
189
- assert_match /In (\w+::)+SimpleClass : Can not use a Fixnum where a String is expected/, err.message
199
+ assert_match /In (\w+::)+SimpleClass : Can not use a (Integer|Fixnum) where a String is expected/, err.message
190
200
  assert_equal "EString", mm::SimpleClass.ecore.eAttributes.find{|a| a.name=="name"}.eType.name
191
201
 
192
202
  assert_equal "xtest", sc.stringWithDefault
@@ -212,12 +222,12 @@ class MetamodelBuilderTest < Test::Unit::TestCase
212
222
  sc.allowed = false
213
223
  assert_equal false, sc.allowed
214
224
  sc.allowed = nil
215
- assert_equal nil, sc.allowed
216
- err = assert_raise StandardError do
225
+ assert_nil sc.allowed
226
+ err = assert_raises StandardError do
217
227
  sc.allowed = :someSymbol
218
228
  end
219
229
  assert_match /In (\w+::)+SimpleClass : Can not use a Symbol\(:someSymbol\) where a \[true,false\] is expected/, err.message
220
- err = assert_raise StandardError do
230
+ err = assert_raises StandardError do
221
231
  sc.allowed = "a string"
222
232
  end
223
233
  assert_match /In (\w+::)+SimpleClass : Can not use a String where a \[true,false\] is expected/, err.message
@@ -230,12 +240,12 @@ class MetamodelBuilderTest < Test::Unit::TestCase
230
240
  sc.kind = :extended
231
241
  assert_equal :extended, sc.kind
232
242
  sc.kind = nil
233
- assert_equal nil, sc.kind
234
- err = assert_raise StandardError do
243
+ assert_nil sc.kind
244
+ err = assert_raises StandardError do
235
245
  sc.kind = :false
236
246
  end
237
247
  assert_match /In (\w+::)+SimpleClass : Can not use a Symbol\(:false\) where a \[:simple,:extended\] is expected/, err.message
238
- err = assert_raise StandardError do
248
+ err = assert_raises StandardError do
239
249
  sc.kind = "a string"
240
250
  end
241
251
  assert_match /In (\w+::)+SimpleClass : Can not use a String where a \[:simple,:extended\] is expected/, err.message
@@ -254,7 +264,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
254
264
  assert_equal "123456789012345680.0", sprintf("%.1f", sc.floatWithDefault)
255
265
  end
256
266
  sc.floatWithDefault = nil
257
- sc.floatWithDefault = BigDecimal.new("123456789012345678.0")
267
+ sc.floatWithDefault = BigDecimal("123456789012345678.0")
258
268
  assert sc.floatWithDefault.is_a?(BigDecimal)
259
269
  assert_equal "123456789012345678.0", sc.floatWithDefault.to_s("F")
260
270
 
@@ -272,7 +282,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
272
282
  assert_equal (2**(0.size * 8 -2) -1) + 1, sc.longWithDefault
273
283
  assert sc.longWithDefault.is_a?(Bignum)
274
284
  assert sc.longWithDefault.is_a?(Integer)
275
- err = assert_raise StandardError do
285
+ err = assert_raises StandardError do
276
286
  sc.longWithDefault = "a string"
277
287
  end
278
288
  assert_match /In (\w+::)+SimpleClass : Can not use a String where a Integer is expected/, err.message
@@ -285,10 +295,10 @@ class MetamodelBuilderTest < Test::Unit::TestCase
285
295
  assert_respond_to o, :addLiterals
286
296
  assert_respond_to o, :removeLiterals
287
297
 
288
- err = assert_raise(StandardError) do
298
+ err = assert_raises(StandardError) do
289
299
  o.addLiterals(1)
290
300
  end
291
- assert_match /In (\w+::)+ManyAttrClass : Can not use a Fixnum where a String is expected/, err.message
301
+ assert_match /In (\w+::)+ManyAttrClass : Can not use a (Integer|Fixnum) where a String is expected/, err.message
292
302
 
293
303
  assert_equal [], o.literals
294
304
  o.addLiterals("a")
@@ -320,10 +330,10 @@ class MetamodelBuilderTest < Test::Unit::TestCase
320
330
  o.literals = ["a", "b", "c"]
321
331
  assert_equal ["a", "b", "c"], o.literals
322
332
  # can only take enumerables
323
- err = assert_raise(StandardError) do
333
+ err = assert_raises(StandardError) do
324
334
  o.literals = 1
325
335
  end
326
- assert_match /In (\w+::)+ManyAttrClass : Can not use a Fixnum where a Enumerable is expected/, err.message
336
+ assert_match /In (\w+::)+ManyAttrClass : Can not use a (Integer|Fixnum) where a Enumerable is expected/, err.message
327
337
 
328
338
  o.bools = [true, false, true, false]
329
339
  assert_equal [true, false, true, false], o.bools
@@ -359,7 +369,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
359
369
  sc.classA = ca
360
370
  assert_equal ca, sc.classA
361
371
  sc.classA = nil
362
- assert_equal nil, sc.classA
372
+ assert_nil sc.classA
363
373
 
364
374
  assert_respond_to sc, :classB
365
375
  assert_respond_to sc, :classB=
@@ -367,7 +377,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
367
377
  sc.classB = cb
368
378
  assert_equal cb, sc.classB
369
379
 
370
- err = assert_raise StandardError do
380
+ err = assert_raises StandardError do
371
381
  sc.classB = ca
372
382
  end
373
383
  assert_match /In (\w+::)+HasOneTestClass : Can not use a (\w+::)+ClassA where a (\w+::)+ClassB is expected/, err.message
@@ -394,7 +404,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
394
404
  assert_equal [ca1, ca2], o.classA
395
405
  o.removeClassA(ca2)
396
406
  assert_equal [ca1], o.classA
397
- err = assert_raise StandardError do
407
+ err = assert_raises StandardError do
398
408
  o.addClassA(mm::ClassB.new)
399
409
  end
400
410
  assert_match /In (\w+::)+HasManyTestClass : Can not use a (\w+::)+ClassB where a (\w+::)+ClassA is expected/, err.message
@@ -434,7 +444,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
434
444
 
435
445
  # remove the OneClass from the ManyClass
436
446
  mc.oneClass = nil
437
- assert_equal nil, mc.oneClass
447
+ assert_nil mc.oneClass
438
448
  assert !oc.manyClasses.include?(mc)
439
449
 
440
450
  # put the ManyClass into the OneClass
@@ -445,7 +455,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
445
455
  # remove the ManyClass from the OneClass
446
456
  oc.removeManyClasses mc
447
457
  assert !oc.manyClasses.include?(mc)
448
- assert_equal nil, mc.oneClass
458
+ assert_nil mc.oneClass
449
459
 
450
460
  assert_equal [], mm::OneClass.ecore.eReferences.select{|r| r.many == false}
451
461
  assert_equal ["manyClasses"], mm::OneClass.ecore.eReferences.select{|r| r.many == true}.name
@@ -478,7 +488,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
478
488
  mc1.oneClass = oc
479
489
  assert_equal [mc1], oc.manyClasses
480
490
  assert_equal oc, mc1.oneClass
481
- assert_equal nil, mc2.oneClass
491
+ assert_nil mc2.oneClass
482
492
 
483
493
  mc2.oneClass = oc
484
494
  assert_equal [mc1, mc2], oc.manyClasses
@@ -515,7 +525,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
515
525
 
516
526
  # remove the OneClass from the ManyClass
517
527
  mc.oneClass = nil
518
- assert_equal nil, mc.oneClass
528
+ assert_nil mc.oneClass
519
529
  assert !oc.manyClasses.include?(mc)
520
530
 
521
531
  # put the ManyClass into the OneClass
@@ -526,7 +536,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
526
536
  # remove the ManyClass from the OneClass
527
537
  oc.removeManyClasses mc
528
538
  assert !oc.manyClasses.include?(mc)
529
- assert_equal nil, mc.oneClass
539
+ assert_nil mc.oneClass
530
540
 
531
541
  assert_equal [], mm::OneClass2.ecore.eReferences.select{|r| r.many == false}
532
542
  assert_equal ["manyClasses"], mm::OneClass2.ecore.eReferences.select{|r| r.many == true}.name
@@ -552,8 +562,8 @@ class MetamodelBuilderTest < Test::Unit::TestCase
552
562
 
553
563
  # remove the AClass from the BClass
554
564
  bc.aClass = nil
555
- assert_equal nil, bc.aClass
556
- assert_equal nil, ac.bClass
565
+ assert_nil bc.aClass
566
+ assert_nil ac.bClass
557
567
 
558
568
  # put the BClass into the AClass
559
569
  ac.bClass = bc
@@ -562,8 +572,8 @@ class MetamodelBuilderTest < Test::Unit::TestCase
562
572
 
563
573
  # remove the BClass from the AClass
564
574
  ac.bClass = nil
565
- assert_equal nil, ac.bClass
566
- assert_equal nil, bc.aClass
575
+ assert_nil ac.bClass
576
+ assert_nil bc.aClass
567
577
 
568
578
  assert_equal ["bClass"], mm::AClassOO.ecore.eReferences.select{|r| r.many == false}.name
569
579
  assert_equal [], mm::AClassOO.ecore.eReferences.select{|r| r.many == true}
@@ -579,11 +589,11 @@ class MetamodelBuilderTest < Test::Unit::TestCase
579
589
  a.bClass = b1
580
590
  assert_equal b1, a.bClass
581
591
  assert_equal a, b1.aClass
582
- assert_equal nil, b2.aClass
592
+ assert_nil b2.aClass
583
593
 
584
594
  a.bClass = b2
585
595
  assert_equal b2, a.bClass
586
- assert_equal nil, b1.aClass
596
+ assert_nil b1.aClass
587
597
  assert_equal a, b2.aClass
588
598
  end
589
599
 
@@ -603,7 +613,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
603
613
  assert ac.bClasses.include?(bc)
604
614
 
605
615
  # put something else into the BClass
606
- err = assert_raise StandardError do
616
+ err = assert_raises StandardError do
607
617
  bc.addAClasses :notaaclass
608
618
  end
609
619
  assert_match /In (\w+::)+BClassMM : Can not use a Symbol\(:notaaclass\) where a (\w+::)+AClassMM is expected/, err.message
@@ -619,7 +629,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
619
629
  assert bc.aClasses.include?(ac)
620
630
 
621
631
  # put something else into the AClass
622
- err = assert_raise StandardError do
632
+ err = assert_raises StandardError do
623
633
  ac.addBClasses :notabclass
624
634
  end
625
635
  assert_match /In (\w+::)+AClassMM : Can not use a Symbol\(:notabclass\) where a (\w+::)+BClassMM is expected/, err.message
@@ -705,7 +715,8 @@ class MetamodelBuilderTest < Test::Unit::TestCase
705
715
 
706
716
  def checkAnnotation(anno, source, hash)
707
717
  assert anno.is_a?(RGen::ECore::EAnnotation)
708
- assert_equal source, anno.source
718
+ assert_equal source, anno.source unless source.nil?
719
+ assert_nil anno.source if source.nil?
709
720
  assert_equal hash.size, anno.details.size
710
721
  hash.each_pair do |k, v|
711
722
  detail = anno.details.find{|d| d.key == k}
@@ -887,7 +898,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
887
898
  end
888
899
 
889
900
  def test_abstract
890
- err = assert_raise StandardError do
901
+ err = assert_raises StandardError do
891
902
  mm::AbstractClass.new
892
903
  end
893
904
  assert_match /Class (\w+::)+AbstractClass is abstract/, err.message
@@ -939,35 +950,35 @@ class MetamodelBuilderTest < Test::Unit::TestCase
939
950
  end
940
951
 
941
952
  def test_bad_default_value_literal
942
- err = assert_raise StandardError do
953
+ err = assert_raises StandardError do
943
954
  BadDefaultValueLiteralContainer::Test1.call
944
955
  end
945
956
  assert_equal "Property integerWithDefault can not take value 1.1, expected an Integer", err.message
946
- err = assert_raise StandardError do
957
+ err = assert_raises StandardError do
947
958
  BadDefaultValueLiteralContainer::Test2.call
948
959
  end
949
960
  assert_equal "Property integerWithDefault can not take value x, expected an Integer", err.message
950
- err = assert_raise StandardError do
961
+ err = assert_raises StandardError do
951
962
  BadDefaultValueLiteralContainer::Test3.call
952
963
  end
953
964
  assert_equal "Property boolWithDefault can not take value 1, expected true or false", err.message
954
- err = assert_raise StandardError do
965
+ err = assert_raises StandardError do
955
966
  BadDefaultValueLiteralContainer::Test4.call
956
967
  end
957
968
  assert_equal "Property floatWithDefault can not take value 1, expected a Float", err.message
958
- err = assert_raise StandardError do
969
+ err = assert_raises StandardError do
959
970
  BadDefaultValueLiteralContainer::Test5.call
960
971
  end
961
972
  assert_equal "Property floatWithDefault can not take value true, expected a Float", err.message
962
- err = assert_raise StandardError do
973
+ err = assert_raises StandardError do
963
974
  BadDefaultValueLiteralContainer::Test6.call
964
975
  end
965
976
  assert_equal "Property enumWithDefault can not take value xxx, expected one of :simple, :extended", err.message
966
- err = assert_raise StandardError do
977
+ err = assert_raises StandardError do
967
978
  BadDefaultValueLiteralContainer::Test7.call
968
979
  end
969
980
  assert_equal "Property enumWithDefault can not take value 7, expected one of :simple, :extended", err.message
970
- err = assert_raise StandardError do
981
+ err = assert_raises StandardError do
971
982
  BadDefaultValueLiteralContainer::Test8.call
972
983
  end
973
984
  assert_equal "Property longWithDefault can not take value 1.1, expected an Integer", err.message
@@ -1322,9 +1333,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
1322
1333
 
1323
1334
  def test_container_generic
1324
1335
  a = mm::ContainerClass.new
1325
- assert_nothing_raised do
1326
- a.oneChild = RGen::MetamodelBuilder::MMGeneric.new
1327
- end
1336
+ a.oneChild = RGen::MetamodelBuilder::MMGeneric.new
1328
1337
  end
1329
1338
 
1330
1339
  def test_opposite_assoc_on_first_write
@@ -1479,4 +1488,30 @@ class MetamodelBuilderTest < Test::Unit::TestCase
1479
1488
  assert_equal [], a1.manyChildUni
1480
1489
  end
1481
1490
 
1491
+ def test_reserved_names
1492
+ e = mm::ReservedNameClass.new
1493
+ %w(class method).each do |reserved|
1494
+ e.setGeneric(reserved, "X")
1495
+ assert_equal "X", e.getGeneric(reserved.to_sym)
1496
+ assert_equal "X", e.getGeneric(reserved)
1497
+ assert_equal ["X"], e.getGenericAsArray(reserved.to_sym)
1498
+ assert_equal ["X"], e.getGenericAsArray(reserved)
1499
+ end
1500
+ assert_equal "X", e.getClass
1501
+ assert_equal "X", e.getMethod
1502
+ end
1503
+
1504
+ def test_reserved_names_many
1505
+ e = mm::ManyReservedNameClass.new
1506
+ %w(class method).each do |reserved|
1507
+ e.addGeneric(reserved, "X")
1508
+ e.addGeneric(reserved, "Y")
1509
+ assert_equal ["X", "Y"], e.getGeneric(reserved.to_sym)
1510
+ assert_equal ["X", "Y"], e.getGeneric(reserved)
1511
+ assert_equal ["X", "Y"], e.getGenericAsArray(reserved.to_sym)
1512
+ assert_equal ["X", "Y"], e.getGenericAsArray(reserved)
1513
+ end
1514
+ assert_equal ["X", "Y"], e.getClass
1515
+ assert_equal ["X", "Y"], e.getMethod
1516
+ end
1482
1517
  end
@@ -37,7 +37,7 @@ class MetamodelFromEcoreTest < MetamodelBuilderTest
37
37
  mod = RGen::ECore::ECoreToRuby.new.create_module(package)
38
38
  obj = mod::Class1.new
39
39
  # the error is raised only when the feature is lazily constructed
40
- assert_raise StandardError do
40
+ assert_raises StandardError do
41
41
  obj.value
42
42
  end
43
43
  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/ecore/ecore'
5
5
  require 'rgen/array_extensions'
6
6
 
7
- class MetamodelOrderTest < Test::Unit::TestCase
7
+ class MetamodelOrderTest < MiniTest::Test
8
8
  include RGen::ECore
9
9
 
10
10
  module TestMM1
@@ -1,13 +1,13 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__),"..","lib")
2
2
 
3
- require 'test/unit'
3
+ require 'minitest/autorun'
4
4
  require 'rgen/array_extensions'
5
5
  require 'rgen/util/model_comparator'
6
6
  require 'mmgen/metamodel_generator'
7
7
  require 'rgen/instantiator/ecore_xml_instantiator'
8
8
  require 'rgen/serializer/xmi20_serializer'
9
9
 
10
- class MetamodelRoundtripTest < Test::Unit::TestCase
10
+ class MetamodelRoundtripTest < MiniTest::Test
11
11
 
12
12
  TEST_DIR = File.dirname(__FILE__)+"/metamodel_roundtrip_test"
13
13
 
@@ -1,9 +1,9 @@
1
1
  $:.unshift File.dirname(__FILE__) + "/../lib"
2
2
 
3
- require 'test/unit'
3
+ require 'minitest/autorun'
4
4
  require 'rgen/util/method_delegation'
5
5
 
6
- class MethodDelegationTest < Test::Unit::TestCase
6
+ class MethodDelegationTest < MiniTest::Test
7
7
  include RGen
8
8
 
9
9
  class TestDelegate
@@ -88,7 +88,7 @@ class MethodDelegationTest < Test::Unit::TestCase
88
88
  assert_equal "AnotherConst::A::B::C", AnotherConst::A::B::C.to_s
89
89
 
90
90
  Util::MethodDelegation.unregisterDelegate(ConstPathElement, surroundingModule, "const_missing")
91
- assert_raise NameError do
91
+ assert_raises NameError do
92
92
  SomeArbitraryConst
93
93
  end
94
94
  end
@@ -123,7 +123,7 @@ class MethodDelegationTest < Test::Unit::TestCase
123
123
 
124
124
  delegate1.mode = :nothing
125
125
  # delegate1 just exits and thus returns nil
126
- assert_equal nil, delegator.send(method)
126
+ assert_nil delegator.send(method)
127
127
  assert_equal 2, delegate1.callcount
128
128
  # delegate2 is not called
129
129
  assert_equal 0, delegate2.callcount
@@ -167,7 +167,7 @@ class MethodDelegationTest < Test::Unit::TestCase
167
167
 
168
168
  def checkCallOriginal(delegator, method, originalResult, newMethod)
169
169
  if newMethod
170
- assert_raise NoMethodError do
170
+ assert_raises NoMethodError do
171
171
  result = delegator.send(method)
172
172
  end
173
173
  else
@@ -1,10 +1,10 @@
1
1
  $:.unshift File.dirname(__FILE__)+"/../lib"
2
2
 
3
- require 'test/unit'
3
+ require 'minitest/autorun'
4
4
  require 'rgen/ecore/ecore'
5
5
  require 'rgen/model_builder/builder_context'
6
6
 
7
- class BuilderContextTest < Test::Unit::TestCase
7
+ class BuilderContextTest < MiniTest::Test
8
8
 
9
9
  module BuilderExtension1
10
10
  module PackageA
@@ -50,7 +50,7 @@ class BuilderContextTest < Test::Unit::TestCase
50
50
  assert_equal 5, packBExt.inPackBExt
51
51
  assert_equal 7, packBExt.inBuilderContext
52
52
 
53
- assert_raise RuntimeError do
53
+ assert_raises RuntimeError do
54
54
  # aboveRoot is not contained within root
55
55
  assert_nil factory.moduleForPackage(aboveRoot)
56
56
  end