rgen 0.7.0 → 0.8.3

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