def setup_method(self): self.dummyMainNamespace = namespace = {} namespace['notAScannable'] = 3.124 namespace['scnA'] = SingleFieldDummyScannable('scnA') namespace['scnB'] = SingleFieldDummyScannable('scnB') namespace['scnC'] = SingleFieldDummyScannable('scnC') namespace['scnD'] = SingleFieldDummyScannable('scnD') namespace['scnNone'] = \ NoneReturningSingleFieldDummyScannable('scnNone') namespace['scnBad'] = BadSingleFieldDummyScannable('scnBad') diffcalc.gdasupport.minigda.command.ROOT_NAMESPACE_DICT = \ self.dummyMainNamespace self.pos = Pos()
def test__parseScanArgsIntoScannableArgGroups(self): scnA = SingleFieldDummyScannable('scnA') scnB = SingleFieldDummyScannable('scnB') scnC = SingleFieldDummyScannable('scnC') scnD = SingleFieldDummyScannable('scnD') scanargs = (scnA, 1, 2, 3, scnB, [4, 5, 6], scnC, scnD, 1.123456) r = self.scan._parseScanArgsIntoScannableArgGroups(scanargs) result = [ r[0].scannable, r[0].args, r[1].scannable, r[1].args, r[2].scannable, r[2].args, r[3].scannable, r[3].args ] desired = [ scnA, [1, 2, 3], scnB, [ [4, 5, 6], ], scnC, list(), scnD, [1.123456] ] assert result == desired
def testSomethingUnrelated(self): a = SingleFieldDummyScannable('a') print isinstance(a, Scannable)
def test__Call__(self): scn4 = SingleFieldDummyScannable('scn4') scn4.setLevel(4) scn5a = SingleFieldDummyScannable('scn5a') scn5a.setLevel(5) scn5b = SingleFieldDummyScannable('scn5b') scn5b.setLevel(5) scn6 = SingleFieldDummyScannable('scn6') scn6.setLevel(6) self.scan.__call__(scn5a, 1, 3, 1, scn6, 1, scn5b, scn4)
def test__reorderGroupsAccordingToLevel(self): scn4 = SingleFieldDummyScannable('scn4') scn4.setLevel(4) scn5a = SingleFieldDummyScannable('scn5a') scn5a.setLevel(5) scn5b = SingleFieldDummyScannable('scn5b') scn5b.setLevel(5) scn6 = SingleFieldDummyScannable('scn6') scn6.setLevel(6) def t(scanargs): groups = self.scan._parseScanArgsIntoScannableArgGroups(scanargs) r = self.scan._reorderInnerGroupsAccordingToLevel(groups) return [r[0].scannable, r[1].scannable, r[2].scannable, r[3].scannable] assert (t((scn5a, 1, 2, 3, scn6, 1, scn5b, scn4)) == [scn5a, scn4, scn5b, scn6]) assert (t((scn5a, 1, 3, scn6, 1, scn5b, scn4)) == [scn4, scn5a, scn5b, scn6])
import diffcalc.util # @UnusedImport try: from numpy import matrix except ImportError: from numjy import matrix import diffcalc.gdasupport.minigda.command from test.tools import mneq_ from diffcalc import settings import diffcalc.hkl.you.calc diffcalc.gdasupport.minigda.command.ROOT_NAMESPACE_DICT = globals() pos = diffcalc.gdasupport.minigda.command.Pos() en = SingleFieldDummyScannable('en') # keV mu = SingleFieldDummyScannable('mu') delta = SingleFieldDummyScannable('delta') gam = SingleFieldDummyScannable('gam') eta = SingleFieldDummyScannable('eta') chi = SingleFieldDummyScannable('chi') phi = SingleFieldDummyScannable('phi') sixc_group = ScannableGroup('sixc', (mu, delta, gam, eta, chi, phi)) ubcalc_no = 1 you = None def setup_module(): global you settings.hardware = ScannableHardwareAdapter(sixc_group, en) settings.geometry = SixCircle()
#_demo.append("pos phi 90") #_demo.append("addref 0 1 0 'ref2'") #_demo.append("checkub") print '=' * 80 print "Creating dummy scannables:" print " mu, delta, gam, eta, chi, phi and en" mu = SingleFieldDummyScannable('mu') delta = SingleFieldDummyScannable('delta') gam = SingleFieldDummyScannable('gam') eta = SingleFieldDummyScannable('eta') chi = SingleFieldDummyScannable('chi') phi = SingleFieldDummyScannable('phi') en = SingleFieldDummyScannable('en') en.level = 3 virtual_angles = ('theta', 'qaz', 'alpha', 'naz', 'tau', 'psi', 'beta') _objects = create_objects( engine_name='you', geometry='sixc', axis_scannable_list=(mu, delta, gam, eta, chi, phi), energy_scannable=en, hklverbose_virtual_angles_to_report=virtual_angles, simulated_crystal_counter_name='ct', # demo_commands=_demo ) #_objects['diffcalcdemo'].commands = demoCommands add_objects_to_namespace(_objects, globals())
def test__reorderGroupsAccordingToLevel(self): scn4 = SingleFieldDummyScannable('scn4') scn4.setLevel(4) scn5a = SingleFieldDummyScannable('scn5a') scn5a.setLevel(5) scn5b = SingleFieldDummyScannable('scn5b') scn5b.setLevel(5) scn6 = SingleFieldDummyScannable('scn6') scn6.setLevel(6) def t(scanargs): groups = self.scan._parseScanArgsIntoScannableArgGroups(scanargs) r = self.scan._reorderInnerGroupsAccordingToLevel(groups) return [ r[0].scannable, r[1].scannable, r[2].scannable, r[3].scannable ] assert (t((scn5a, 1, 2, 3, scn6, 1, scn5b, scn4)) == [scn5a, scn4, scn5b, scn6]) assert (t( (scn5a, 1, 3, scn6, 1, scn5b, scn4)) == [scn4, scn5a, scn5b, scn6])