def testTimeCodeParameter( self ) :

		p = IECore.Parameterised( "" )

		p.parameters().addParameters(

			[
				IECore.TimeCodeParameter(
					"t",
					"",
					IECore.TimeCode(
						hours = 10,
						minutes = 15,
						seconds = 1,
						frame = 12,
					)
				)
			]

		)

		ph = GafferCortex.ParameterisedHolderNode()
		ph.setParameterised( p )

		self.failUnless( ph["parameters"] in "t" )
		self.failUnless( isinstance( ph["parameters"]["t"], Gaffer.CompoundPlug ) )

		self.failUnless( isinstance( ph["parameters"]["t"]["hours"], Gaffer.IntPlug ) )
		self.assertEqual( ph["parameters"]["t"]["hours"].minValue(), 0 )
		self.assertEqual( ph["parameters"]["t"]["hours"].maxValue(), 23 )
		self.assertEqual( ph["parameters"]["t"]["hours"].defaultValue(), 10 )
		self.assertEqual( ph["parameters"]["t"]["hours"].getValue(), 10 )

		self.failUnless( isinstance( ph["parameters"]["t"]["minutes"], Gaffer.IntPlug ) )
		self.assertEqual( ph["parameters"]["t"]["minutes"].minValue(), 0 )
		self.assertEqual( ph["parameters"]["t"]["minutes"].maxValue(), 59 )
		self.assertEqual( ph["parameters"]["t"]["minutes"].defaultValue(), 15 )
		self.assertEqual( ph["parameters"]["t"]["minutes"].getValue(), 15 )

		self.failUnless( isinstance( ph["parameters"]["t"]["seconds"], Gaffer.IntPlug ) )
		self.assertEqual( ph["parameters"]["t"]["seconds"].minValue(), 0 )
		self.assertEqual( ph["parameters"]["t"]["seconds"].maxValue(), 59 )
		self.assertEqual( ph["parameters"]["t"]["seconds"].defaultValue(), 1 )
		self.assertEqual( ph["parameters"]["t"]["seconds"].getValue(), 1 )

		self.failUnless( isinstance( ph["parameters"]["t"]["frame"], Gaffer.IntPlug ) )
		self.assertEqual( ph["parameters"]["t"]["frame"].minValue(), 0 )
		self.assertEqual( ph["parameters"]["t"]["frame"].maxValue(), 29 )
		self.assertEqual( ph["parameters"]["t"]["frame"].defaultValue(), 12 )
		self.assertEqual( ph["parameters"]["t"]["frame"].getValue(), 12 )

		ph["parameters"]["t"]["hours"].setValue( 11 )
		ph["parameters"]["t"]["minutes"].setValue( 10 )
		ph["parameters"]["t"]["seconds"].setValue( 2 )
		ph["parameters"]["t"]["frame"].setValue( 20 )

		ph.parameterHandler().setParameterValue()

		tc = p["t"].getTypedValue()
		self.assertEqual( tc.hours(), 11 )
		self.assertEqual( tc.minutes(), 10 )
		self.assertEqual( tc.seconds(), 2 )
		self.assertEqual( tc.frame(), 20 )

		with ph.parameterModificationContext() :

			tc.setHours( 1 )
			tc.setMinutes( 2 )
			tc.setSeconds( 3 )
			tc.setFrame( 4 )
			p["t"].setTypedValue( tc )

		self.assertEqual( ph["parameters"]["t"]["hours"].getValue(), 1 )
		self.assertEqual( ph["parameters"]["t"]["minutes"].getValue(), 2 )
		self.assertEqual( ph["parameters"]["t"]["seconds"].getValue(), 3 )
		self.assertEqual( ph["parameters"]["t"]["frame"].getValue(), 4 )
dataset/ETHPy150Open ImageEngine/gaffer/python/GafferCortexTest/ParameterisedHolderTest.py/ParameterisedHolderTest.testTimeCodeParameter/swapped operands of `in`