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])
Exemple #3
0
    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")
Exemple #7
0
    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)