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

Method testSave

test/IECore/BasicPreset.py:124–181  ·  view source on GitHub ↗
( self )

Source from the content-addressed store, hash-verified

122 self.assertEqual( testObj.parameters()["b"].getTypedValue(), 1.0 )
123
124 def testSave( self ) :
125
126 testObj = IECore.Parameterised( "testParameterised1" )
127 testObj.parameters().addParameters(
128 [
129 IECore.BoolParameter( "a", "", True ),
130 IECore.FloatParameter( "b", "", 1.0 ),
131 ]
132 )
133
134 testObj2 = IECore.Parameterised( "testParameterised1" )
135 testObj2.parameters().addParameters(
136 [
137 IECore.BoolParameter( "a", "", False ),
138 IECore.FloatParameter( "c", "", 0.0 ),
139 ]
140 )
141
142 savePath = os.path.abspath( os.path.join( os.path.dirname( __file__ ), "data", "basicPreset" ) )
143
144 preset = IECore.BasicPreset( testObj, testObj.parameters() )
145
146 # Save for the classLoader and check its there, we test the 'loadability' later...
147 preset.save( savePath, "basicPresetTest" )
148 self.assertTrue( os.path.isfile( os.path.join( savePath, "basicPresetTest", "basicPresetTest-1.cob" ) ) )
149 self.assertTrue( os.path.isfile( os.path.join( savePath, "basicPresetTest", "basicPresetTest-1.py" ) ) )
150
151 # save without the classLoader and check its there
152 preset.save( savePath, "basicPresetTest", classLoadable=False )
153 self.assertTrue( os.path.isfile( os.path.join( savePath, "basicPresetTest.cob" ) ) )
154
155 # reload
156 p = IECore.BasicPreset( os.path.join( savePath, "basicPresetTest.cob" ) )
157
158 self.assertTrue( p.applicableTo( testObj, testObj.parameters() ) )
159 self.assertFalse( p.applicableTo( testObj2, testObj2.parameters() ) )
160
161 testObj.parameters()["a"].setTypedValue( False )
162 testObj.parameters()["b"].setTypedValue( 0.0 )
163
164 p( testObj, testObj.parameters() )
165
166 self.assertEqual( testObj.parameters()["a"].getTypedValue(), True )
167 self.assertEqual( testObj.parameters()["b"].getTypedValue(), 1.0 )
168
169 preset2 = IECore.BasicPreset( testObj, testObj.parameters(), parameters=( testObj.parameters()["a"], ) )
170 preset2.save( savePath, "basicPresetTest2", classLoadable=False )
171
172 #reload
173 p2 = IECore.BasicPreset( os.path.join( savePath, "basicPresetTest2.cob" ) )
174
175 self.assertTrue( p2.applicableTo( testObj, testObj.parameters() ) )
176 self.assertTrue( p2.applicableTo( testObj2, testObj.parameters() ) )
177
178 p2( testObj2, testObj2.parameters() )
179
180 self.assertEqual( testObj2.parameters()["a"].getTypedValue(), True )
181 self.assertEqual( testObj2.parameters()["c"].getTypedValue(), 0.0 )

Callers

nothing calls this directly

Calls 6

parametersMethod · 0.95
saveMethod · 0.95
applicableToMethod · 0.95
ParameterisedMethod · 0.80
addParametersMethod · 0.80
joinMethod · 0.80

Tested by

no test coverage detected