( self )
| 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 |
nothing calls this directly
no test coverage detected