rgen 0.7.0 → 0.8.3

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 (59) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +23 -0
  3. data/README.rdoc +1 -1
  4. data/Rakefile +15 -25
  5. data/lib/rgen/ecore/ecore.rb +1 -1
  6. data/lib/rgen/ecore/ecore_ext.rb +9 -1
  7. data/lib/rgen/ecore/ecore_to_ruby.rb +133 -47
  8. data/lib/rgen/fragment/fragmented_model.rb +2 -0
  9. data/lib/rgen/fragment/model_fragment.rb +3 -0
  10. data/lib/rgen/instantiator/default_xml_instantiator.rb +93 -88
  11. data/lib/rgen/metamodel_builder/builder_extensions.rb +32 -8
  12. data/lib/rgen/metamodel_builder/builder_runtime.rb +12 -5
  13. data/lib/rgen/template_language/output_handler.rb +52 -19
  14. data/lib/rgen/template_language/template_container.rb +17 -7
  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 +73 -0
  21. data/test/environment_test.rb +2 -2
  22. data/test/json_test.rb +4 -4
  23. data/test/metamodel_builder_test.rb +71 -44
  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 +2 -1
  38. data/test/template_language_test/templates/indent_nonl_at_eof_test/test.tpl +14 -0
  39. data/test/template_language_test/templates/indent_same_line_sub/test.tpl +16 -0
  40. data/test/template_language_test/templates/line_endings/mixed.tpl +6 -0
  41. data/test/template_language_test/templates/line_endings/unix.tpl +6 -0
  42. data/test/template_language_test/templates/line_endings/windows.tpl +6 -0
  43. data/test/template_language_test/templates/ws_test.tpl +21 -0
  44. data/test/template_language_test.rb +60 -9
  45. data/test/testmodel/class_model_checker.rb +17 -17
  46. data/test/testmodel/ecore_model_checker.rb +13 -13
  47. data/test/testmodel/object_model_checker.rb +6 -6
  48. data/test/transformer_test.rb +3 -3
  49. data/test/util/file_cache_map_test.rb +2 -2
  50. data/test/util/pattern_matcher_test.rb +7 -7
  51. data/test/xml_instantiator_test/simple_ecore_model_checker.rb +12 -12
  52. data/test/xml_instantiator_test.rb +8 -8
  53. metadata +61 -20
  54. data/test/metamodel_roundtrip_test/TestModel_Regenerated.rb +0 -71
  55. data/test/metamodel_roundtrip_test/houseMetamodel_Regenerated.ecore +0 -162
  56. data/test/metamodel_roundtrip_test/using_builtin_types_serialized.ecore +0 -9
  57. data/test/model_builder/ecore_internal.rb +0 -113
  58. data/test/testmodel/ea_testmodel_regenerated.xml +0 -813
  59. data/test/util/file_cache_map_test/testdir/fileA +0 -1
@@ -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,14 @@ 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
+ end
174
+
175
+ class ManyReservedNameClass < RGen::MetamodelBuilder::MMBase
176
+ has_many_attr 'class', String
177
+ end
178
+
171
179
  end
172
180
 
173
181
  def mm
@@ -182,8 +190,8 @@ class MetamodelBuilderTest < Test::Unit::TestCase
182
190
  sc.name = "TestName"
183
191
  assert_equal "TestName", sc.name
184
192
  sc.name = nil
185
- assert_equal nil, sc.name
186
- err = assert_raise StandardError do
193
+ assert_nil sc.name
194
+ err = assert_raises StandardError do
187
195
  sc.name = 5
188
196
  end
189
197
  assert_match /In (\w+::)+SimpleClass : Can not use a Fixnum where a String is expected/, err.message
@@ -212,12 +220,12 @@ class MetamodelBuilderTest < Test::Unit::TestCase
212
220
  sc.allowed = false
213
221
  assert_equal false, sc.allowed
214
222
  sc.allowed = nil
215
- assert_equal nil, sc.allowed
216
- err = assert_raise StandardError do
223
+ assert_nil sc.allowed
224
+ err = assert_raises StandardError do
217
225
  sc.allowed = :someSymbol
218
226
  end
219
227
  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
228
+ err = assert_raises StandardError do
221
229
  sc.allowed = "a string"
222
230
  end
223
231
  assert_match /In (\w+::)+SimpleClass : Can not use a String where a \[true,false\] is expected/, err.message
@@ -230,12 +238,12 @@ class MetamodelBuilderTest < Test::Unit::TestCase
230
238
  sc.kind = :extended
231
239
  assert_equal :extended, sc.kind
232
240
  sc.kind = nil
233
- assert_equal nil, sc.kind
234
- err = assert_raise StandardError do
241
+ assert_nil sc.kind
242
+ err = assert_raises StandardError do
235
243
  sc.kind = :false
236
244
  end
237
245
  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
246
+ err = assert_raises StandardError do
239
247
  sc.kind = "a string"
240
248
  end
241
249
  assert_match /In (\w+::)+SimpleClass : Can not use a String where a \[:simple,:extended\] is expected/, err.message
@@ -268,11 +276,11 @@ class MetamodelBuilderTest < Test::Unit::TestCase
268
276
  sc = mm::SimpleClass.new
269
277
  sc.longWithDefault = 5
270
278
  assert_equal 5, sc.longWithDefault
271
- sc.longWithDefault = 1234567890
272
- assert_equal 1234567890, sc.longWithDefault
279
+ sc.longWithDefault = (2**(0.size * 8 -2) -1) + 1
280
+ assert_equal (2**(0.size * 8 -2) -1) + 1, sc.longWithDefault
273
281
  assert sc.longWithDefault.is_a?(Bignum)
274
282
  assert sc.longWithDefault.is_a?(Integer)
275
- err = assert_raise StandardError do
283
+ err = assert_raises StandardError do
276
284
  sc.longWithDefault = "a string"
277
285
  end
278
286
  assert_match /In (\w+::)+SimpleClass : Can not use a String where a Integer is expected/, err.message
@@ -285,7 +293,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
285
293
  assert_respond_to o, :addLiterals
286
294
  assert_respond_to o, :removeLiterals
287
295
 
288
- err = assert_raise(StandardError) do
296
+ err = assert_raises(StandardError) do
289
297
  o.addLiterals(1)
290
298
  end
291
299
  assert_match /In (\w+::)+ManyAttrClass : Can not use a Fixnum where a String is expected/, err.message
@@ -320,7 +328,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
320
328
  o.literals = ["a", "b", "c"]
321
329
  assert_equal ["a", "b", "c"], o.literals
322
330
  # can only take enumerables
323
- err = assert_raise(StandardError) do
331
+ err = assert_raises(StandardError) do
324
332
  o.literals = 1
325
333
  end
326
334
  assert_match /In (\w+::)+ManyAttrClass : Can not use a Fixnum where a Enumerable is expected/, err.message
@@ -359,7 +367,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
359
367
  sc.classA = ca
360
368
  assert_equal ca, sc.classA
361
369
  sc.classA = nil
362
- assert_equal nil, sc.classA
370
+ assert_nil sc.classA
363
371
 
364
372
  assert_respond_to sc, :classB
365
373
  assert_respond_to sc, :classB=
@@ -367,7 +375,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
367
375
  sc.classB = cb
368
376
  assert_equal cb, sc.classB
369
377
 
370
- err = assert_raise StandardError do
378
+ err = assert_raises StandardError do
371
379
  sc.classB = ca
372
380
  end
373
381
  assert_match /In (\w+::)+HasOneTestClass : Can not use a (\w+::)+ClassA where a (\w+::)+ClassB is expected/, err.message
@@ -394,7 +402,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
394
402
  assert_equal [ca1, ca2], o.classA
395
403
  o.removeClassA(ca2)
396
404
  assert_equal [ca1], o.classA
397
- err = assert_raise StandardError do
405
+ err = assert_raises StandardError do
398
406
  o.addClassA(mm::ClassB.new)
399
407
  end
400
408
  assert_match /In (\w+::)+HasManyTestClass : Can not use a (\w+::)+ClassB where a (\w+::)+ClassA is expected/, err.message
@@ -434,7 +442,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
434
442
 
435
443
  # remove the OneClass from the ManyClass
436
444
  mc.oneClass = nil
437
- assert_equal nil, mc.oneClass
445
+ assert_nil mc.oneClass
438
446
  assert !oc.manyClasses.include?(mc)
439
447
 
440
448
  # put the ManyClass into the OneClass
@@ -445,7 +453,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
445
453
  # remove the ManyClass from the OneClass
446
454
  oc.removeManyClasses mc
447
455
  assert !oc.manyClasses.include?(mc)
448
- assert_equal nil, mc.oneClass
456
+ assert_nil mc.oneClass
449
457
 
450
458
  assert_equal [], mm::OneClass.ecore.eReferences.select{|r| r.many == false}
451
459
  assert_equal ["manyClasses"], mm::OneClass.ecore.eReferences.select{|r| r.many == true}.name
@@ -478,7 +486,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
478
486
  mc1.oneClass = oc
479
487
  assert_equal [mc1], oc.manyClasses
480
488
  assert_equal oc, mc1.oneClass
481
- assert_equal nil, mc2.oneClass
489
+ assert_nil mc2.oneClass
482
490
 
483
491
  mc2.oneClass = oc
484
492
  assert_equal [mc1, mc2], oc.manyClasses
@@ -515,7 +523,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
515
523
 
516
524
  # remove the OneClass from the ManyClass
517
525
  mc.oneClass = nil
518
- assert_equal nil, mc.oneClass
526
+ assert_nil mc.oneClass
519
527
  assert !oc.manyClasses.include?(mc)
520
528
 
521
529
  # put the ManyClass into the OneClass
@@ -526,7 +534,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
526
534
  # remove the ManyClass from the OneClass
527
535
  oc.removeManyClasses mc
528
536
  assert !oc.manyClasses.include?(mc)
529
- assert_equal nil, mc.oneClass
537
+ assert_nil mc.oneClass
530
538
 
531
539
  assert_equal [], mm::OneClass2.ecore.eReferences.select{|r| r.many == false}
532
540
  assert_equal ["manyClasses"], mm::OneClass2.ecore.eReferences.select{|r| r.many == true}.name
@@ -552,8 +560,8 @@ class MetamodelBuilderTest < Test::Unit::TestCase
552
560
 
553
561
  # remove the AClass from the BClass
554
562
  bc.aClass = nil
555
- assert_equal nil, bc.aClass
556
- assert_equal nil, ac.bClass
563
+ assert_nil bc.aClass
564
+ assert_nil ac.bClass
557
565
 
558
566
  # put the BClass into the AClass
559
567
  ac.bClass = bc
@@ -562,8 +570,8 @@ class MetamodelBuilderTest < Test::Unit::TestCase
562
570
 
563
571
  # remove the BClass from the AClass
564
572
  ac.bClass = nil
565
- assert_equal nil, ac.bClass
566
- assert_equal nil, bc.aClass
573
+ assert_nil ac.bClass
574
+ assert_nil bc.aClass
567
575
 
568
576
  assert_equal ["bClass"], mm::AClassOO.ecore.eReferences.select{|r| r.many == false}.name
569
577
  assert_equal [], mm::AClassOO.ecore.eReferences.select{|r| r.many == true}
@@ -579,11 +587,11 @@ class MetamodelBuilderTest < Test::Unit::TestCase
579
587
  a.bClass = b1
580
588
  assert_equal b1, a.bClass
581
589
  assert_equal a, b1.aClass
582
- assert_equal nil, b2.aClass
590
+ assert_nil b2.aClass
583
591
 
584
592
  a.bClass = b2
585
593
  assert_equal b2, a.bClass
586
- assert_equal nil, b1.aClass
594
+ assert_nil b1.aClass
587
595
  assert_equal a, b2.aClass
588
596
  end
589
597
 
@@ -603,7 +611,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
603
611
  assert ac.bClasses.include?(bc)
604
612
 
605
613
  # put something else into the BClass
606
- err = assert_raise StandardError do
614
+ err = assert_raises StandardError do
607
615
  bc.addAClasses :notaaclass
608
616
  end
609
617
  assert_match /In (\w+::)+BClassMM : Can not use a Symbol\(:notaaclass\) where a (\w+::)+AClassMM is expected/, err.message
@@ -619,7 +627,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
619
627
  assert bc.aClasses.include?(ac)
620
628
 
621
629
  # put something else into the AClass
622
- err = assert_raise StandardError do
630
+ err = assert_raises StandardError do
623
631
  ac.addBClasses :notabclass
624
632
  end
625
633
  assert_match /In (\w+::)+AClassMM : Can not use a Symbol\(:notabclass\) where a (\w+::)+BClassMM is expected/, err.message
@@ -705,7 +713,8 @@ class MetamodelBuilderTest < Test::Unit::TestCase
705
713
 
706
714
  def checkAnnotation(anno, source, hash)
707
715
  assert anno.is_a?(RGen::ECore::EAnnotation)
708
- assert_equal source, anno.source
716
+ assert_equal source, anno.source unless source.nil?
717
+ assert_nil anno.source if source.nil?
709
718
  assert_equal hash.size, anno.details.size
710
719
  hash.each_pair do |k, v|
711
720
  detail = anno.details.find{|d| d.key == k}
@@ -887,7 +896,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
887
896
  end
888
897
 
889
898
  def test_abstract
890
- err = assert_raise StandardError do
899
+ err = assert_raises StandardError do
891
900
  mm::AbstractClass.new
892
901
  end
893
902
  assert_match /Class (\w+::)+AbstractClass is abstract/, err.message
@@ -939,35 +948,35 @@ class MetamodelBuilderTest < Test::Unit::TestCase
939
948
  end
940
949
 
941
950
  def test_bad_default_value_literal
942
- err = assert_raise StandardError do
951
+ err = assert_raises StandardError do
943
952
  BadDefaultValueLiteralContainer::Test1.call
944
953
  end
945
954
  assert_equal "Property integerWithDefault can not take value 1.1, expected an Integer", err.message
946
- err = assert_raise StandardError do
955
+ err = assert_raises StandardError do
947
956
  BadDefaultValueLiteralContainer::Test2.call
948
957
  end
949
958
  assert_equal "Property integerWithDefault can not take value x, expected an Integer", err.message
950
- err = assert_raise StandardError do
959
+ err = assert_raises StandardError do
951
960
  BadDefaultValueLiteralContainer::Test3.call
952
961
  end
953
962
  assert_equal "Property boolWithDefault can not take value 1, expected true or false", err.message
954
- err = assert_raise StandardError do
963
+ err = assert_raises StandardError do
955
964
  BadDefaultValueLiteralContainer::Test4.call
956
965
  end
957
966
  assert_equal "Property floatWithDefault can not take value 1, expected a Float", err.message
958
- err = assert_raise StandardError do
967
+ err = assert_raises StandardError do
959
968
  BadDefaultValueLiteralContainer::Test5.call
960
969
  end
961
970
  assert_equal "Property floatWithDefault can not take value true, expected a Float", err.message
962
- err = assert_raise StandardError do
971
+ err = assert_raises StandardError do
963
972
  BadDefaultValueLiteralContainer::Test6.call
964
973
  end
965
974
  assert_equal "Property enumWithDefault can not take value xxx, expected one of :simple, :extended", err.message
966
- err = assert_raise StandardError do
975
+ err = assert_raises StandardError do
967
976
  BadDefaultValueLiteralContainer::Test7.call
968
977
  end
969
978
  assert_equal "Property enumWithDefault can not take value 7, expected one of :simple, :extended", err.message
970
- err = assert_raise StandardError do
979
+ err = assert_raises StandardError do
971
980
  BadDefaultValueLiteralContainer::Test8.call
972
981
  end
973
982
  assert_equal "Property longWithDefault can not take value 1.1, expected an Integer", err.message
@@ -1322,9 +1331,7 @@ class MetamodelBuilderTest < Test::Unit::TestCase
1322
1331
 
1323
1332
  def test_container_generic
1324
1333
  a = mm::ContainerClass.new
1325
- assert_nothing_raised do
1326
- a.oneChild = RGen::MetamodelBuilder::MMGeneric.new
1327
- end
1334
+ a.oneChild = RGen::MetamodelBuilder::MMGeneric.new
1328
1335
  end
1329
1336
 
1330
1337
  def test_opposite_assoc_on_first_write
@@ -1479,4 +1486,24 @@ class MetamodelBuilderTest < Test::Unit::TestCase
1479
1486
  assert_equal [], a1.manyChildUni
1480
1487
  end
1481
1488
 
1489
+ def test_reserved_names
1490
+ e = mm::ReservedNameClass.new
1491
+ e.setGeneric("class", "X")
1492
+ assert_equal "X", e.getGeneric(:class)
1493
+ assert_equal "X", e.getGeneric("class")
1494
+ assert_equal ["X"], e.getGenericAsArray(:class)
1495
+ assert_equal ["X"], e.getGenericAsArray("class")
1496
+ assert_equal "X", e.getClass
1497
+ end
1498
+
1499
+ def test_reserved_names_many
1500
+ e = mm::ManyReservedNameClass.new
1501
+ e.addGeneric("class", "X")
1502
+ e.addGeneric("class", "Y")
1503
+ assert_equal ["X", "Y"], e.getGeneric(:class)
1504
+ assert_equal ["X", "Y"], e.getGeneric("class")
1505
+ assert_equal ["X", "Y"], e.getGenericAsArray(:class)
1506
+ assert_equal ["X", "Y"], e.getGenericAsArray("class")
1507
+ assert_equal ["X", "Y"], e.getClass
1508
+ end
1482
1509
  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
@@ -1,13 +1,13 @@
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/ecore/ecore_builder_methods'
6
6
  require 'rgen/environment'
7
7
  require 'rgen/model_builder'
8
8
  require 'model_builder/statemachine_metamodel'
9
9
 
10
- class ModelBuilderTest < Test::Unit::TestCase
10
+ class ModelBuilderTest < MiniTest::Test
11
11
 
12
12
  def test_statemachine
13
13
  result = RGen::ModelBuilder.build(StatemachineMetamodel) do
@@ -193,47 +193,47 @@ class ModelBuilderTest < Test::Unit::TestCase
193
193
 
194
194
  # TestClass1
195
195
  class1 = p1.eClassifiers.find{|c| c.name == "TestClass1"}
196
- assert_not_nil class1
196
+ assert class1 != nil
197
197
  assert class1.is_a?(RGen::ECore::EClass)
198
198
 
199
199
  # TestClass1.attr1
200
200
  attr1 = class1.eAllAttributes.find{|a| a.name == "attr1"}
201
- assert_not_nil attr1
201
+ assert attr1 != nil
202
202
  assert_equal RGen::ECore::EString, attr1.eType
203
203
 
204
204
  # TestClass1.attr2
205
205
  attr2 = class1.eAllAttributes.find{|a| a.name == "attr2"}
206
- assert_not_nil attr2
206
+ assert attr2 != nil
207
207
  assert_equal RGen::ECore::EInt, attr2.eType
208
208
 
209
209
  # TestClass2
210
210
  class2 = p1.eClassifiers.find{|c| c.name == "TestClass2"}
211
- assert_not_nil class2
211
+ assert class2 != nil
212
212
  assert class2.is_a?(RGen::ECore::EClass)
213
213
 
214
214
  # TestClass2.ref1
215
215
  ref1 = class2.eAllReferences.find{|a| a.name == "ref1"}
216
- assert_not_nil ref1
216
+ assert ref1 != nil
217
217
  assert_equal class1, ref1.eType
218
218
 
219
219
  # TestClass1.biRef1
220
220
  biRef1 = class1.eAllReferences.find{|r| r.name == "biRef1"}
221
- assert_not_nil biRef1
221
+ assert biRef1 != nil
222
222
  assert_equal class2, biRef1.eType
223
223
  biRef1Opp = class2.eAllReferences.find {|r| r.name == "testClass1"}
224
- assert_not_nil biRef1Opp
224
+ assert biRef1Opp != nil
225
225
  assert_equal class1, biRef1Opp.eType
226
226
  assert_equal biRef1Opp, biRef1.eOpposite
227
227
  assert_equal biRef1, biRef1Opp.eOpposite
228
228
 
229
229
  # TestClass1.testClass2
230
230
  tc2Ref = class1.eAllReferences.find{|r| r.name == "testClass2"}
231
- assert_not_nil tc2Ref
231
+ assert tc2Ref != nil
232
232
  assert_equal class2, tc2Ref.eType
233
233
  assert tc2Ref.containment
234
234
  assert_equal -1, tc2Ref.upperBound
235
235
  tc2RefOpp = class2.eAllReferences.find{|r| r.name == "tc1Parent"}
236
- assert_not_nil tc2RefOpp
236
+ assert tc2RefOpp != nil
237
237
  assert_equal class1, tc2RefOpp.eType
238
238
  assert !tc2RefOpp.containment
239
239
  assert_equal 1, tc2RefOpp.upperBound
@@ -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/metamodel_builder'
5
5
  require 'rgen/model_builder/reference_resolver'
6
6
 
7
- class ReferenceResolverTest < Test::Unit::TestCase
7
+ class ReferenceResolverTest < MiniTest::Test
8
8
 
9
9
  class ClassA < RGen::MetamodelBuilder::MMBase
10
10
  has_attr "name"
@@ -122,7 +122,7 @@ class ReferenceResolverTest < Test::Unit::TestCase
122
122
  :reference => ClassC.ecore.eReferences.find{|r| r.name == "refCs"},
123
123
  :namespace => b1,
124
124
  :string => "b1.c5"))
125
- assert_raise RGen::ModelBuilder::ReferenceResolver::ResolverException do
125
+ assert_raises RGen::ModelBuilder::ReferenceResolver::ResolverException do
126
126
  resolver.resolve(toplevelNamespace)
127
127
  end
128
128
  end
@@ -1,6 +1,6 @@
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
 
6
6
  # The following would also influence other tests...
@@ -28,7 +28,7 @@ require 'rgen/instantiator/ecore_xml_instantiator'
28
28
  require 'rgen/model_builder'
29
29
  require 'model_builder/statemachine_metamodel'
30
30
 
31
- class ModelSerializerTest < Test::Unit::TestCase
31
+ class ModelSerializerTest < MiniTest::Test
32
32
  def test_ecore_internal
33
33
  File.open(File.dirname(__FILE__)+"/ecore_internal.rb","w") do |f|
34
34
  serializer = RGen::ModelBuilder::ModelSerializer.new(f, RGen::ECore.ecore)
@@ -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 %>