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

Method testEquality

test/IECoreScene/ShaderNetworkTest.py:338–377  ·  view source on GitHub ↗
( self )

Source from the content-addressed store, hash-verified

336 self.assertEqual( len( { x.hash().toString() for x in s } ), 1 )
337
338 def testEquality( self ) :
339
340 s1 = IECoreScene.Shader( "constant", "surface" )
341 s2 = IECoreScene.Shader( "noise", "shader" )
342
343 n1 = IECoreScene.ShaderNetwork()
344 n2 = IECoreScene.ShaderNetwork()
345 self.assertEqual( n1, n2 )
346
347 n1.addShader( "s1", s1 )
348 n2.addShader( "s2", s2 )
349 self.assertNotEqual( n1, n2 )
350
351 n1.addShader( "s2", s2 )
352 n2.addShader( "s1", s1 )
353 self.assertEqual( n1, n2 )
354
355 n2.setOutput( n2.Parameter( "s1" ) )
356 self.assertNotEqual( n1, n2 )
357 n1.setOutput( n2.Parameter( "s1" ) )
358 self.assertEqual( n1, n2 )
359
360 c = IECoreScene.ShaderNetwork.Connection(
361 IECoreScene.ShaderNetwork.Parameter(
362 "s2", "",
363 ),
364 IECoreScene.ShaderNetwork.Parameter(
365 "s1", "Cs",
366 ),
367 )
368
369 n1.addConnection( c )
370
371 # Ensure equality is order independent, as we compare lists,
372 # we need to ensure n2 being a super-set of n1 doesn't pass.
373 self.assertNotEqual( n1, n2 )
374 self.assertNotEqual( n2, n1 )
375
376 n2.addConnection( c )
377 self.assertEqual( n1, n2 )
378
379 def testEqualityIgnoresShaderIdentity( self ) :
380

Callers

nothing calls this directly

Calls 7

addShaderMethod · 0.95
setOutputMethod · 0.95
addConnectionMethod · 0.95
ShaderNetworkMethod · 0.80
ConnectionMethod · 0.80
ShaderMethod · 0.45
ParameterMethod · 0.45

Tested by

no test coverage detected