Class: XMLInstantiatorTest
Defined Under Namespace
Modules: PruneTestMM
Classes: MyInstantiator, PruneTestInstantiator
Constant Summary
collapse
- XML_DIR =
File.join(File.dirname(__FILE__),"testmodel")
Constants included
from RGen::ECore
RGen::ECore::EBoolean, RGen::ECore::EFloat, RGen::ECore::EInt, RGen::ECore::EJavaClass, RGen::ECore::EJavaObject, RGen::ECore::ELong, RGen::ECore::ERubyClass, RGen::ECore::ERubyObject, RGen::ECore::EString
Instance Method Summary
collapse
#checkECoreModel
#_annotations, #_constantOrder, #annotation, extended, #final_method, #method_added
#_set_ecore_internal, clear_ecore_cache, #ecore
#dump
Instance Method Details
#remove_whitespace_elements(elements) ⇒ Object
146
147
148
|
# File 'lib/puppet/vendor/rgen/test/xml_instantiator_test.rb', line 146
def remove_whitespace_elements(elements)
elements.reject{|e| e.strip == ""}
end
|
#test_custom ⇒ Object
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
# File 'lib/puppet/vendor/rgen/test/xml_instantiator_test.rb', line 93
def test_custom
env = RGen::Environment.new
inst = MyInstantiator.new(env, DefaultMM, true)
inst.instantiate_file(File.join(XML_DIR,"manual_testmodel.xml"))
house = env.find(:class => DefaultMM::MNS::House).first
assert_not_nil house
assert_equal 2, house.room.size
rooms = env.find(:class => DefaultMM::MNS::Room)
assert_equal 2, rooms.size
assert_equal 0, (house.room - rooms).size
rooms.each {|r| assert r.parent == house}
tomsRoom = rooms.select{|r| r.name == "TomsRoom"}.first
assert_not_nil tomsRoom
persons = env.find(:class => DefaultMM::Person)
assert_equal 4, persons.size
tom = persons.select{|p| p.name == "Tom"}.first
assert_not_nil tom
assert tom.personalRoom == tomsRoom
mpns = env.find(:class => DefaultMM::MultiPartName)
assert mpns.first.respond_to?("insideMultiPart")
end
|
#test_default ⇒ Object
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
# File 'lib/puppet/vendor/rgen/test/xml_instantiator_test.rb', line 120
def test_default
env = RGen::Environment.new
inst = RGen::Instantiator::DefaultXMLInstantiator.new(env, EmptyMM, true)
inst.instantiate_file(File.join(XML_DIR,"manual_testmodel.xml"))
house = env.find(:class => EmptyMM::MNS_House).first
assert_not_nil house
assert_equal 2, house.mNS_Room.size
assert_equal "before kitchen", remove_whitespace_elements(house.chardata)[0].strip
assert_equal "after kitchen", remove_whitespace_elements(house.chardata)[1].strip
assert_equal "after toms room", remove_whitespace_elements(house.chardata)[2].strip
rooms = env.find(:class => EmptyMM::MNS_Room)
assert_equal 2, rooms.size
assert_equal 0, (house.mNS_Room - rooms).size
rooms.each {|r| assert r.parent == house}
tomsRoom = rooms.select{|r| r.name == "TomsRoom"}.first
assert_not_nil tomsRoom
assert_equal "within toms room", remove_whitespace_elements(tomsRoom.chardata)[0]
persons = env.find(:class => EmptyMM::Person)
assert_equal 4, persons.size
tom = persons.select{|p| p.name == "Tom"}.first
assert_not_nil tom
end
|
#test_pruning ⇒ Object
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
# File 'lib/puppet/vendor/rgen/test/xml_instantiator_test.rb', line 74
def test_pruning
env = RGen::Environment.new
inst = PruneTestInstantiator.new(env)
inst.instantiate_file(File.join(XML_DIR,"manual_testmodel.xml"))
assert_equal 2, inst.max_depth
PruneTestInstantiator.set_prune_level(0)
inst = PruneTestInstantiator.new(env)
inst.instantiate_file(File.join(XML_DIR,"manual_testmodel.xml"))
assert_equal 5, inst.max_depth
PruneTestInstantiator.set_prune_level(1)
inst = PruneTestInstantiator.new(env)
inst.instantiate_file(File.join(XML_DIR,"manual_testmodel.xml"))
assert_equal 1, inst.max_depth
end
|
#test_simle_xmi_ecore_instantiator ⇒ Object
152
153
154
155
156
157
158
|
# File 'lib/puppet/vendor/rgen/test/xml_instantiator_test.rb', line 152
def test_simle_xmi_ecore_instantiator
envECore = RGen::Environment.new
File.open(XML_DIR+"/ea_testmodel.xml") { |f|
SimpleXMIECoreInstantiator.new.instantiateECoreModel(envECore, f.read)
}
checkECoreModel(envECore)
end
|