ATLAS Offline Software
Loading...
Searching...
No Matches
python.CFElements.TestCF Class Reference
Inheritance diagram for python.CFElements.TestCF:
Collaboration diagram for python.CFElements.TestCF:

Public Member Functions

 setUp (self)
 test_findTop (self)
 test_findDeep (self)
 test_findMissing (self)
 test_findRespectingScope (self)
 test_iterSequences (self)
 test_findAlgorithms (self)

Public Attributes

 top = top

Detailed Description

Definition at line 204 of file CFElements.py.

Member Function Documentation

◆ setUp()

python.CFElements.TestCF.setUp ( self)

Definition at line 205 of file CFElements.py.

205 def setUp( self ):
206 import AthenaPython.PyAthena as PyAthena
207
208 top = parOR("top")
209 top.Members += [parOR("nest1")]
210 nest2 = seqAND("nest2")
211 top.Members += [nest2]
212 top.Members += [PyAthena.Alg("SomeAlg0")]
213 nest2.Members += [parOR("deep_nest1")]
214 nest2.Members += [parOR("deep_nest2")]
215
216 nest2.Members += [PyAthena.Alg("SomeAlg1")]
217 nest2.Members += [PyAthena.Alg("SomeAlg2")]
218 nest2.Members += [PyAthena.Alg("SomeAlg3")]
219 self.top = top
220

◆ test_findAlgorithms()

python.CFElements.TestCF.test_findAlgorithms ( self)

Definition at line 284 of file CFElements.py.

284 def test_findAlgorithms( self ):
285 a1 = findAlgorithm( self.top, "SomeAlg0" )
286 self.assertIsNotNone( a1, "Can't find algorithm present in sequence" )
287
288 a1 = findAlgorithm( self.top, "SomeAlg1" )
289 self.assertIsNotNone( a1, "Can't find nested algorithm " )
290
291 nest2 = findSubSequence( self.top, "nest2" )
292
293 a1 = findAlgorithm( nest2, "SomeAlg0" )
294 self.assertIsNone( a1, "Finding algorithm that is in the upper sequence" )
295
296 a1 = findAlgorithm( nest2, "NonexistentAlg" )
297 self.assertIsNone( a1, "Finding algorithm that is does not exist" )
298
299 a1 = findAlgorithm( self.top, "SomeAlg0", 1)
300 self.assertIsNotNone( a1, "Could not find algorithm within the required nesting depth == 1" )
301
302 a1 = findAlgorithm( self.top, "SomeAlg1", 1)
303 self.assertIsNone( a1, "Could find algorithm even if it is deep in sequences structure" )
304
305 a1 = findAlgorithm( self.top, "SomeAlg1", 2)
306 self.assertIsNotNone( a1, "Could not find algorithm within the required nesting depth == 2" )
307
308 a1 = findAlgorithm( self.top, "SomeAlg3", 2)
309 self.assertIsNotNone( a1 is None, "Could find algorithm even if it is deep in sequences structure" )
310
311

◆ test_findDeep()

python.CFElements.TestCF.test_findDeep ( self)

Definition at line 230 of file CFElements.py.

230 def test_findDeep( self ):
231 # deeper search
232 d = findSubSequence( self.top, "deep_nest2")
233 self.assertIsNotNone( d, "Deep searching for sub seqeunce fails" )
234 self.assertEqual( d.getName(), "deep_nest2", "Wrong sub sequence in deep search" )
235

◆ test_findMissing()

python.CFElements.TestCF.test_findMissing ( self)

Definition at line 236 of file CFElements.py.

236 def test_findMissing( self ):
237 # algorithm is not a sequence
238 d = findSubSequence( self.top, "SomeAlg1")
239 self.assertIsNone( d, "Algorithm confused as a sequence" )
240
241 # no on demand creation
242 inexistent = findSubSequence( self.top, "not_there" )
243 self.assertIsNone( inexistent, "ERROR, found sub sequence that does not relay exist" )
244
245 # owner finding
246 inexistent = findOwningSequence(self.top, "not_there")
247 self.assertIsNone( inexistent, "ERROR, found owner of inexistent sequence " )
248

◆ test_findRespectingScope()

python.CFElements.TestCF.test_findRespectingScope ( self)

Definition at line 249 of file CFElements.py.

249 def test_findRespectingScope( self ):
250 owner = findOwningSequence( self.top, "deep_nest1")
251 self.assertEqual( owner.getName(), "nest2", "Wrong owner %s" % owner.getName() )
252
253 owner = findOwningSequence( self.top, "deep_nest2")
254 self.assertEqual( owner.getName(), "nest2", "Wrong owner %s" % owner.getName() )
255
256 owner = findOwningSequence( self.top, "SomeAlg1")
257 self.assertEqual( owner.getName(), "nest2", "Wrong owner %s" % owner.getName() )
258
259 owner = findOwningSequence( self.top, "SomeAlg0")
260 self.assertEqual( owner.getName() , "top", "Wrong owner %s" % owner.getName() )
261

◆ test_findTop()

python.CFElements.TestCF.test_findTop ( self)

Definition at line 221 of file CFElements.py.

221 def test_findTop( self ):
222 f = findSubSequence( self.top, "top")
223 self.assertIsNotNone( f, "Can not find sequence at start" )
224 self.assertEqual( f.getName(), "top", "Wrong sequence" )
225 # a one level deep search
226 nest2 = findSubSequence( self.top, "nest2" )
227 self.assertIsNotNone( nest2, "Can not find sub sequence" )
228 self.assertEqual( nest2.getName(), "nest2", "Sub sequence incorrect" )
229

◆ test_iterSequences()

python.CFElements.TestCF.test_iterSequences ( self)

Definition at line 262 of file CFElements.py.

262 def test_iterSequences( self ):
263 # Traverse from top
264 result = [seq.getName() for seq in iterSequences( self.top )]
265 self.assertEqual( result, ['top', 'nest1', 'nest2', 'deep_nest1', 'deep_nest2',
266 'SomeAlg1', 'SomeAlg2', 'SomeAlg3', 'SomeAlg0'] )
267
268 # Traverse from nested sequence
269 nest2 = findSubSequence( self.top, "nest2" )
270 result = [seq.getName() for seq in iterSequences( nest2 )]
271 self.assertEqual( result, ['nest2', 'deep_nest1', 'deep_nest2',
272 'SomeAlg1', 'SomeAlg2', 'SomeAlg3'] )
273
274 # Traverse empty sequence
275 deep_nest2 = findSubSequence( self.top, "deep_nest2" )
276 result = [seq.getName() for seq in iterSequences( deep_nest2 )]
277 self.assertEqual( result, ['deep_nest2'] )
278
279 # Traverse from algorithm
280 alg1 = findAlgorithm( self.top, "SomeAlg1" )
281 result = [seq.getName() for seq in iterSequences( alg1 )]
282 self.assertEqual( result, ['SomeAlg1'] )
283

Member Data Documentation

◆ top

python.CFElements.TestCF.top = top

Definition at line 219 of file CFElements.py.


The documentation for this class was generated from the following file: