def test_set_non_default_complex_value_synonims(self): propman = PropertyManager("MAP") propman.test_ei2_mon_spectra = 10000 self.assertEqual(propman.ei_mon_spectra,(41475,10000)) prop_changed = propman.getChangedProperties() self.assertEqual(len(prop_changed),1) self.assertTrue("ei-mon2-spec" in prop_changed,"changing test_ei2_mon_spectra should change ei-mon2-spectra") propman.test_mon_spectra_composite = [10000,2000] self.assertEqual(propman.ei_mon_spectra,(10000,2000)) prop_changed = propman.getChangedProperties() self.assertEqual(len(prop_changed),2) self.assertTrue("ei_mon_spectra" in prop_changed,"changing test_mon_spectra_composite should change ei_mon_spectra") ## weird way to prohibit this assignment # But it works and I was not able to find any other way! try: propman.ei_mon_spectra[1] = 100 Success=True except TypeError: Success=False self.assertFalse(Success) self.assertEqual(10000,propman.ei_mon_spectra[0]) self.assertEqual(2000,propman.ei_mon_spectra[1]) # This works as should propman.ei_mon_spectra = (100,200) self.assertEqual(100,propman.ei_mon_spectra[0]) self.assertEqual(200,propman.ei_mon_spectra[1])
def test_set_non_default_complex_value_synonims(self): propman = PropertyManager("MAP") propman.test_ei2_mon_spectra = 10000 self.assertEqual(propman.ei_mon_spectra, [41474, 10000]) prop_changed = propman.getChangedProperties() self.assertEqual(len(prop_changed), 1) self.assertTrue( "ei-mon2-spec" in prop_changed, "changing test_ei2_mon_spectra should change ei-mon2-spectra") propman.test_mon_spectra_composite = [10000, 2000] self.assertEqual(propman.ei_mon_spectra, [10000, 2000]) prop_changed = propman.getChangedProperties() self.assertEqual(len(prop_changed), 2) self.assertTrue( "ei_mon_spectra" in prop_changed, "changing test_mon_spectra_composite should change ei_mon_spectra") ## HOW TO MAKE IT WORK? it fails silently propman.ei_mon_spectra[1] = 100 self.assertEqual(10000, propman.ei_mon_spectra[0]) self.assertEqual(2000, propman.ei_mon_spectra[1]) propman.ei_mon_spectra = [100, 200] self.assertEqual(100, propman.ei_mon_spectra[0]) self.assertEqual(200, propman.ei_mon_spectra[1])
def test_set_non_default_complex_value_synonims(self): propman = PropertyManager("MAP") propman.test_ei2_mon_spectra = 10000 self.assertEqual(propman.ei_mon_spectra,(41475,10000)) prop_changed = propman.getChangedProperties() self.assertEqual(len(prop_changed),1) self.assertTrue("ei-mon2-spec" in prop_changed,"changing test_ei2_mon_spectra should change ei-mon2-spectra") propman.test_mon_spectra_composite = [10000,2000] self.assertEqual(propman.ei_mon_spectra,(10000,2000)) prop_changed = propman.getChangedProperties() self.assertEqual(len(prop_changed),2) self.assertTrue("ei_mon_spectra" in prop_changed,"changing test_mon_spectra_composite should change ei_mon_spectra") ## weird way to prohibit this assignment # But it works and I was not able to find any other way! try: propman.ei_mon_spectra[1] = 100 Success=True except TypeError: Success=False self.assertFalse(Success) self.assertEqual(10000,propman.ei_mon_spectra[0]) self.assertEqual(2000,propman.ei_mon_spectra[1]) # This works as should propman.ei_mon_spectra = (100,200) self.assertEqual(100,propman.ei_mon_spectra[0]) self.assertEqual(200,propman.ei_mon_spectra[1])
def test_set_non_default_complex_value_synonims(self): propman = PropertyManager("MAP") propman.test_ei2_mon_spectra = 10000 self.assertEqual(propman.ei_mon_spectra,[41474,10000]) prop_changed = propman.getChangedProperties() self.assertEqual(len(prop_changed),1) self.assertTrue("ei-mon2-spec" in prop_changed,"changing test_ei2_mon_spectra should change ei-mon2-spectra") propman.test_mon_spectra_composite = [10000,2000] self.assertEqual(propman.ei_mon_spectra,[10000,2000]) prop_changed = propman.getChangedProperties() self.assertEqual(len(prop_changed),2) self.assertTrue("ei_mon_spectra" in prop_changed,"changing test_mon_spectra_composite should change ei_mon_spectra") ## HOW TO MAKE IT WORK? it fails silently propman.ei_mon_spectra[1]=100 self.assertEqual(10000,propman.ei_mon_spectra[0]) self.assertEqual(2000,propman.ei_mon_spectra[1]) propman.ei_mon_spectra=[100,200] self.assertEqual(100,propman.ei_mon_spectra[0]) self.assertEqual(200,propman.ei_mon_spectra[1])
def test_set_defailts_from_instrument(self): ws = CreateSampleWorkspace(NumBanks=1, BankPixelWidth=4, NumEvents=100) SetInstrumentParameter(ws, ParameterName="TestParam1", Value="3.5", ParameterType="Number") SetInstrumentParameter(ws, ParameterName="TestParam2", Value="initial1", ParameterType="String") SetInstrumentParameter(ws, ParameterName="TestParam3", Value="initial2", ParameterType="String") instr = ws.getInstrument() propman = PropertyManager(instr) self.assertAlmostEqual(propman.TestParam1, 3.5) self.assertEquals(propman.TestParam2, "initial1") self.assertEquals(propman.TestParam3, "initial2") propman.TestParam2 = "gui_changed1" self.assertEquals(propman.TestParam2, "gui_changed1") SetInstrumentParameter(ws, ParameterName="TestParam2", Value="instr_changed1", ParameterType="String") SetInstrumentParameter(ws, ParameterName="TestParam3", Value="instr_changed2", ParameterType="String") self.assertAlmostEqual(propman.TestParam1, 3.5) self.assertEquals(propman.TestParam2, "gui_changed1") self.assertEquals(propman.TestParam3, "initial2") changes = propman.getChangedProperties() self.assertTrue('TestParam2' in changes) self.assertTrue(not ('TestParam3' in changes)) changes = propman.update_defaults_from_instrument(ws.getInstrument()) self.assertAlmostEqual(propman.TestParam1, 3.5) self.assertEquals(propman.TestParam2, "gui_changed1") self.assertEquals(propman.TestParam3, "instr_changed2") self.assertTrue('TestParam2' in changes) self.assertTrue('TestParam3' in changes)
def test_set_complex_defailts_from_instrument(self) : ws = CreateSampleWorkspace(NumBanks=1, BankPixelWidth=4, NumEvents=10) SetInstrumentParameter(ws,ParameterName="Param1",Value="BaseParam1:BaseParam2",ParameterType="String") SetInstrumentParameter(ws,ParameterName="BaseParam1",Value="Val1",ParameterType="String") SetInstrumentParameter(ws,ParameterName="BaseParam2",Value="Val2",ParameterType="String") SetInstrumentParameter(ws,ParameterName="synonims",Value="ParaPara=BaseParam2",ParameterType="String") instr = ws.getInstrument() propman = PropertyManager(instr) SampleResult = ['Val1','Val2'] cVal = propman.Param1 for test,sample in zip(cVal,SampleResult): self.assertEqual(test,sample) self.assertEqual(propman.ParaPara,'Val2') self.assertEqual(propman.BaseParam2,'Val2') propman.sample_run = ws # assume we get workspace with different instrument parameters SetInstrumentParameter(ws,ParameterName="Param1",Value="addParam1:addParam2",ParameterType="String") SetInstrumentParameter(ws,ParameterName="BaseParam1",Value="OtherVal1",ParameterType="String") SetInstrumentParameter(ws,ParameterName="BaseParam2",Value="OtherVal2",ParameterType="String") SetInstrumentParameter(ws,ParameterName="addParam1",Value="Ignore1",ParameterType="String") SetInstrumentParameter(ws,ParameterName="addParam2",Value="Ignore2",ParameterType="String") SetInstrumentParameter(ws,ParameterName="mask_run",Value="None",ParameterType="String") old_changes = propman.getChangedProperties() changed_prop = propman.update_defaults_from_instrument(ws.getInstrument()) self.assertEqual(len(changed_prop),4) #property have been changed from GUI and changes from instrument are #ignored SampleResult = ['OtherVal1','OtherVal2'] cVal = propman.Param1 for test,sample in zip(cVal,SampleResult): self.assertEqual(test,sample) self.assertEqual(propman.ParaPara,'OtherVal2') self.assertEqual(propman.BaseParam2,'OtherVal2') self.assertEqual(propman.BaseParam1,"OtherVal1")
def test_set_complex_defaults_from_instrument(self) : ws = CreateSampleWorkspace(NumBanks=1, BankPixelWidth=4, NumEvents=10) SetInstrumentParameter(ws,ParameterName="Param1",Value="BaseParam1:BaseParam2",ParameterType="String") SetInstrumentParameter(ws,ParameterName="BaseParam1",Value="Val1",ParameterType="String") SetInstrumentParameter(ws,ParameterName="BaseParam2",Value="Val2",ParameterType="String") SetInstrumentParameter(ws,ParameterName="synonims",Value="ParaPara=BaseParam2",ParameterType="String") instr = ws.getInstrument() propman = PropertyManager(instr) SampleResult = ['Val1','Val2'] cVal = propman.Param1 for test,sample in zip(cVal,SampleResult): self.assertEqual(test,sample) self.assertEqual(propman.ParaPara,'Val2') self.assertEqual(propman.BaseParam2,'Val2') propman.sample_run = ws # assume we get workspace with different instrument parameters SetInstrumentParameter(ws,ParameterName="Param1",Value="addParam1:addParam2",ParameterType="String") SetInstrumentParameter(ws,ParameterName="BaseParam1",Value="OtherVal1",ParameterType="String") SetInstrumentParameter(ws,ParameterName="BaseParam2",Value="OtherVal2",ParameterType="String") SetInstrumentParameter(ws,ParameterName="addParam1",Value="Ignore1",ParameterType="String") SetInstrumentParameter(ws,ParameterName="addParam2",Value="Ignore2",ParameterType="String") SetInstrumentParameter(ws,ParameterName="mask_run",Value="None",ParameterType="String") old_changes = propman.getChangedProperties() changed_prop = propman.update_defaults_from_instrument(ws.getInstrument()) self.assertEqual(len(changed_prop),4) #property have been changed from GUI and changes from instrument are #ignored SampleResult = ['OtherVal1','OtherVal2'] cVal = propman.Param1 for test,sample in zip(cVal,SampleResult): self.assertEqual(test,sample) self.assertEqual(propman.ParaPara,'OtherVal2') self.assertEqual(propman.BaseParam2,'OtherVal2') self.assertEqual(propman.BaseParam1,"OtherVal1")
def test_set_defailts_from_instrument(self) : ws = CreateSampleWorkspace(NumBanks=1, BankPixelWidth=4, NumEvents=100) SetInstrumentParameter(ws,ParameterName="TestParam1",Value="3.5",ParameterType="Number") SetInstrumentParameter(ws,ParameterName="TestParam2",Value="initial1",ParameterType="String") SetInstrumentParameter(ws,ParameterName="TestParam3",Value="initial2",ParameterType="String") instr = ws.getInstrument() propman = PropertyManager(instr) self.assertAlmostEqual(propman.TestParam1,3.5) self.assertEqual(propman.TestParam2,"initial1") self.assertEqual(propman.TestParam3,"initial2") propman.TestParam2 = "gui_changed1" self.assertEqual(propman.TestParam2,"gui_changed1") SetInstrumentParameter(ws,ParameterName="TestParam2",Value="instr_changed1",ParameterType="String") SetInstrumentParameter(ws,ParameterName="TestParam3",Value="instr_changed2",ParameterType="String") self.assertAlmostEqual(propman.TestParam1,3.5) self.assertEqual(propman.TestParam2,"gui_changed1") self.assertEqual(propman.TestParam3,"initial2") changes = propman.getChangedProperties() self.assertTrue('TestParam2' in changes) self.assertTrue(not('TestParam3' in changes)) changes = propman.update_defaults_from_instrument(ws.getInstrument()) self.assertAlmostEqual(propman.TestParam1,3.5) self.assertEqual(propman.TestParam2,"gui_changed1") self.assertEqual(propman.TestParam3,"instr_changed2") self.assertTrue('TestParam2' in changes) self.assertTrue('TestParam3' in changes)