MCPcopy Create free account
hub / github.com/ImageEngine/cortex / testFileNameChange

Method testFileNameChange

test/IECoreScene/PDCReader.py:256–313  ·  view source on GitHub ↗

Now Readers are Ops, the filename can be changed and read() can be called again. So we need to check that that works.

( self )

Source from the content-addressed store, hash-verified

254 self.assertTrue( abs( p.z ) < 1.1 )
255
256 def testFileNameChange( self ) :
257
258 """Now Readers are Ops, the filename can be changed and read() can be called
259 again. So we need to check that that works."""
260
261 r = IECore.Reader.create( os.path.join( "test", "IECore", "data", "pdcFiles", "particleShape1.250.pdc" ) )
262 self.assertEqual( type( r ), IECoreScene.PDCParticleReader )
263
264 r.parameters()["realType"].setValue( "float" )
265
266 expectedAttrNamesAndTypes = {
267 "particleId" : IECore.FloatVectorData,
268 "mass" : IECore.FloatVectorData,
269 "lastWorldVelocity" : IECore.V3fVectorData,
270 "worldVelocityInObjectSpace" : IECore.V3fVectorData,
271 "worldVelocity" : IECore.V3fVectorData,
272 "lastWorldPosition" : IECore.V3fVectorData,
273 "worldPosition" : IECore.V3fVectorData,
274 "acceleration" : IECore.V3fVectorData,
275 "lastVelocity" : IECore.V3fVectorData,
276 "velocity" : IECore.V3fVectorData,
277 "lastPosition" : IECore.V3fVectorData,
278 "P" : IECore.V3fVectorData,
279 "lifespanPP" : IECore.FloatVectorData,
280 "finalLifespanPP" : IECore.FloatVectorData,
281 "emitterId" : IECore.FloatVectorData,
282 "birthTime" : IECore.FloatVectorData,
283 "age" : IECore.FloatVectorData,
284 }
285
286 c = r.read()
287 self.assertEqual( type( c ), IECoreScene.PointsPrimitive )
288 self.assertEqual( len( c ), len( expectedAttrNamesAndTypes ) )
289 for i in expectedAttrNamesAndTypes.keys() :
290 self.assertTrue( i in c )
291 self.assertEqual( type(c[i].data), expectedAttrNamesAndTypes[i] )
292 self.assertEqual( len(c[i].data), r.numParticles() )
293
294 for p in c["P"].data :
295 self.assertEqual( p.y, 0 )
296 self.assertTrue( abs( p.x ) < 1.1 )
297 self.assertTrue( abs( p.z ) < 1.1 )
298
299 r["fileName"].setValue( IECore.StringData( os.path.join( "test", "IECore", "data", "pdcFiles", "10Particles.pdc" ) ) )
300
301 self.assertEqual( r.numParticles(), 10 )
302 c = r.read()
303 self.assertEqual( type( c ), IECoreScene.PointsPrimitive )
304 self.assertEqual( len( c ), len( expectedAttrNamesAndTypes ) )
305 for i in expectedAttrNamesAndTypes.keys() :
306 self.assertTrue( i in c )
307 self.assertEqual( type(c[i].data), expectedAttrNamesAndTypes[i] )
308 self.assertEqual( len(c[i].data), 10 )
309
310 for p in c["P"].data :
311 self.assertEqual( p.y, 0 )
312 self.assertTrue( abs( p.x ) < 1.1 )
313 self.assertTrue( abs( p.z ) < 1.1 )

Callers

nothing calls this directly

Calls 9

typeFunction · 0.85
joinMethod · 0.80
lenFunction · 0.50
createMethod · 0.45
setValueMethod · 0.45
parametersMethod · 0.45
readMethod · 0.45
keysMethod · 0.45
numParticlesMethod · 0.45

Tested by

no test coverage detected