def testMultipleStreams( self ) :

		p1 = GafferScene.Plane()
		g1 = GafferScene.Group()
		g1["in"][0].setInput( p1["out"] )
		s1 = GafferScene.Set()
		s1["in"].setInput( g1["out"] )
		s1["paths"].setValue( IECore.StringVectorData( [ "/group" ] ) )

		p2 = GafferScene.Plane()
		g2 = GafferScene.Group()
		g2["in"][0].setInput( p2["out"] )
		s2 = GafferScene.Set()
		s2["in"].setInput( g2["out"] )
		s2["paths"].setValue( IECore.StringVectorData( [ "/group/plane" ] ) )

		f = GafferScene.SetFilter()
		f["set"].setValue( "set" )

		a1 = GafferScene.StandardAttributes()
		a1["in"].setInput( s1["out"] )
		a1["attributes"]["doubleSided"]["enabled"].setValue( True )
		a1["filter"].setInput( f["out"] )

		a2 = GafferScene.StandardAttributes()
		a2["in"].setInput( s2["out"] )
		a2["attributes"]["doubleSided"]["enabled"].setValue( True )
		a2["filter"].setInput( f["out"] )

		self.assertSceneValid( a1["out"] )
		self.assertSceneValid( a2["out"] )

		self.assertTrue( "doubleSided" in a1["out"].attributes( "/group" ) )
		self.assertTrue( "doubleSided" not in a1["out"].attributes( "/group/plane" ) )

		self.assertTrue( "doubleSided" not in a2["out"].attributes( "/group" ) )
		self.assertTrue( "doubleSided" in a2["out"].attributes( "/group/plane" ) )
dataset/ETHPy150Open ImageEngine/gaffer/python/GafferSceneTest/SetFilterTest.py/SetFilterTest.testMultipleStreams/original