예제 #1
0
	def test_createScan(self):
		
		a, b, c, mied = createScannables()
		scanobject = TrajScan()._createScan([a, 1, 10, 1, b, 2, c])
		
		self.MockTrajectoryScanLine.assert_called_with([a, 1, 10, 1, b, 2, c])
		self.assertEqual(scanobject, self.mockTrajectoryScanLine)
예제 #2
0
    def test_createScan(self):

        a, b, c, mied = createScannables()
        scanobject = TrajScan()._createScan([a, 1, 10, 1, b, 2, c])

        self.MockTrajectoryScanLine.assert_called_with([a, 1, 10, 1, b, 2, c])
        self.assertEqual(scanobject, self.mockTrajectoryScanLine)
예제 #3
0
	def test_createNestedOnceScanWithTuple(self):
		a, b, c, mie = createScannables()
		scanobject = TrajScan()._createScan([a, 1, 10, 1, b, (1,2,3), c, 1, mie])
		
		self.MockTrajectoryScanLine.assert_called_with([b, (1,2,3), c, 1, mie])
		self.MockConcurrentScan.assert_called_with([a, 1, 10, 1, self.mockTrajectoryScanLine])
		self.assertEqual(scanobject, self.mockConcurrentScan)
예제 #4
0
 def testCheckArgStructForLoops(self):
     scan = SpecScan(None)
     a, b, c, mie = createScannables()
     scan.checkArgStructForLoops([[a], [b, 1], [c], [mie, (1, 2)]])
     self.assertRaises(Exception, scan.checkArgStructForLoops,
                       [[a], [b, 1], [c], [mie, (1, 2), (1, 2)]])
     self.assertRaises(Exception, scan.checkArgStructForLoops,
                       [[a], [b, 1], [c, 1, 2, 3], [mie, (1, 2), (1, 2)]])
예제 #5
0
    def test_createNestedOnceScanWithTuple(self):
        a, b, c, mie = createScannables()
        scanobject = TrajScan()._createScan(
            [a, 1, 10, 1, b, (1, 2, 3), c, 1, mie])

        self.MockTrajectoryScanLine.assert_called_with(
            [b, (1, 2, 3), c, 1, mie])
        self.MockConcurrentScan.assert_called_with(
            [a, 1, 10, 1, self.mockTrajectoryScanLine])
        self.assertEqual(scanobject, self.mockConcurrentScan)
예제 #6
0
 def testConvertArgsToConcurrentScanArgs(self):
     convert = self.scan.convertArgStruct
     a, b, c, _ = createScannables()
     # ascan motor start finish intervals [scn [pos]]...
     self.assertEqual(convert([[a, 1, 10, 9]]), [[a, 1, 10, 1]])
     self.assertEqual(convert([[a, 10, 1, 9]]), [[a, 10, 1, -1]])
     self.assertEqual(convert([[a, 1, 10, 9], [b, 1], [c]]),
                      [[a, 1, 10, 1], [b, 1], [c]])
     self.assertRaises(Exception, convert,
                       [[a, 1, 10, 9], [b, 1, 2, 3], [c]])
     self.assertRaises(Exception, convert, [[a, 1, 10, 9], [b, 1, 2], [c]])
예제 #7
0
 def testConvertArgsToConcurrentScanArgs(self):
     convert = self.scan.convertArgStruct
     a, b, c, _ = createScannables()
     # cscan motor halfwidths step [motor halfwidth step] ...
     self.assertEqual(convert([[a, 10, 1]]), [[a, -10, 10, 1]])
     self.assertEqual(convert([[a, 10, 1], [b, 5, 2]]),
                      [[a, -10, 10, 1], [b, -5, 5, 2]])
     self.assertEqual(convert([[a, 10, 1], [b, 1]]),
                      [[a, -10, 10, 1], [b, 1]])
     self.assertEqual(convert([[a, 10, 1], [b, 1], [c]]),
                      [[a, -10, 10, 1], [b, 1], [c]])
예제 #8
0
 def testConvertArgsToConcurrentScanArgsWithMultipleInputFields(self):
     convert = self.scan.convertArgStruct
     a, b, c, _ = createScannables()
     # cscan motor halfwidths step [motor halfwidth step] ...
     self.assertEqual(convert([[a, [10, 100], [1, 10]]]),
                      [[a, [-10, -100], [10, 100], [1, 10]]])
     self.assertEqual(convert([[a, [10, 100], [1, 10]], [b, 5, 2]]),
                      [[a, [-10, -100], [10, 100], [1, 10]], [b, -5, 5, 2]])
     self.assertEqual(convert([[a, [10, 100], [1, 10]], [b, 1]]),
                      [[a, [-10, -100], [10, 100], [1, 10]], [b, 1]])
     self.assertEqual(convert([[a, [10, 100], [1, 10]], [b, 1], [c]]),
                      [[a, [-10, -100], [10, 100], [1, 10]], [b, 1], [c]])
예제 #9
0
 def testConvertArgsToConcurrentScanArgs(self):
     convert = self.scan.convertArgStruct
     a, b, c, _ = createScannables()
     # cscan motor halfwidths step [motor halfwidth step] ...
     self.assertEqual(convert([[a, .2, 10]]), [[a, -.9, .9, .2]])
     self.assertEqual(convert([[a, .2, 9]]), [[a, -.8, .8, .2]])
     self.assertEqual(convert([[a, .2, 9], [b, 1, 2]]),
                      [[a, -.8, .8, .2], [
                          b,
                          1,
                          2,
                      ]])
예제 #10
0
 def testConvertArgsToConcurrentScanArgsWithMultipleInputFields(self):
     convert = self.scan.convertArgStruct
     a, b, c, _ = createScannables()
     # cscan motor halfwidths step [motor halfwidth step] ...
     self.assertEqual(convert([[a, [.2, 20], 10]]),
                      [[a, [-.9, -90], [.9, 90], [.2, 20]]])
     self.assertEqual(convert([[a, [.2, 20], 9]]),
                      [[a, [-.8, -80], [.8, 80], [.2, 20]]])
     self.assertEqual(convert([[a, [.2, 20], 9], [b, 1, 2]]),
                      [[a, [-.8, -80], [.8, 80], [.2, 20]], [
                          b,
                          1,
                          2,
                      ]])
예제 #11
0
 def testConvertArgsToConcurrentScanArgs(self):
     convert = self.scan.convertArgStruct
     a, b, c, _ = createScannables()
     #mesh m1 s1 f1 intervals1 m2 s2 f2 intervals2 time ...
     self.assertEqual(convert([[a, 1, 10, 18], [b, 11, 20, 9]]),
                      [[a, 1, 10, .5], [b, 11, 20, 1]])
     self.assertEqual(convert([[a, 1, 10, 18], [b, 20, 11, 9]]),
                      [[a, 1, 10, .5], [b, 20, 11, -1]])
     self.assertEqual(
         convert([[a, 1, 10, 18], [b, 11, 20, 9], [b, 1], [c]]),
         [[a, 1, 10, .5], [b, 11, 20, 1], [b, 1], [c]])
     self.assertRaises(Exception, convert,
                       [[a, 1, 10, 18], [b, 11, 20, 9], [b, 1, 2], [c]])
     self.assertRaises(Exception, convert,
                       [[a, 1, 10, 18], [b, 11, 20, 9], [b, 1, 2, 3], [c]])
예제 #12
0
    def testConvertArgsToConcurrentScanArgs(self):
        convert = self.scan.convertArgStruct
        a, b, c, _ = createScannables()
        # a3scan m1 s1 f1 m2 s2 f2 m3 s3 f3 intervals [scn [pos]] ...
        self.assertEqual(convert([[a, 1, 10], [b, 11, 20], [c, 21, 30, 9]]),
                         [[a, 1, 10, 1], [b, 11, 20, 1], [c, 21, 30, 1]])
        self.assertEqual(convert([[a, 10, 1], [b, 11, 20], [c, 30, 21, 9]]),
                         [[a, 10, 1, -1], [b, 11, 20, 1], [c, 30, 21, -1]])
        self.assertEqual(
            convert([[a, 10, 1], [b, 11, 20], [c, 30, 21, 9], [b, 1], [c]]),
            [[a, 10, 1, -1], [b, 11, 20, 1], [c, 30, 21, -1], [b, 1], [c]])

        self.assertRaises(
            Exception, convert,
            [[a, 10, 1], [b, 11, 20], [c, 30, 21, 9], [b, 1, 2], [c]])
        self.assertRaises(
            Exception, convert,
            [[a, 10, 1], [b, 11, 20], [c, 30, 21, 9], [b, 1, 2, 3], [c]])
예제 #13
0
 def testConvertArgsToConcurrentScanArgs(self):
     # Well tested in testConcurrentScanWrapper already!
     a, b, c, _ = createScannables()
     argStruct = [[a, 1, 2, 1], [b, 3, 5, 1], [c]]
     self.assertEqual(self.scan.convertArgStruct(argStruct), argStruct)
예제 #14
0
	def setUp(self):
		self.a, self.b, self.c, self.mie = createScannables()
		self.scan = SecondaryConcurrentScan([self.a, 1, 3, 1, self.b, 4, self.c])
예제 #15
0
    def test_createScanWithTuple(self):
        a, b, c, _ = createScannables()
        scanobject = TrajScan()._createScan([a, (1, 2, 3), b, 2, c])

        self.MockTrajectoryScanLine.assert_called_with([a, (1, 2, 3), b, 2, c])
        self.assertEqual(scanobject, self.mockTrajectoryScanLine)
예제 #16
0
	def test_createScan(self):
		a, b, c, _ = createScannables()
		scanobject = Scan()._createScan([a, 1, 10, 1, b, 2, c])
		self.assertEqual(scanobject, self.mockConcurrentScan)
		self.MockConcurrentScan.assert_called_with([a, 1, 10, 1, b, 2, c])
	def setUp(self):
		self.a, self.b, self.c, _ = createScannables()
		self.mie = MultiInputExtraFieldsDummyPD('mie', ['i1'], ['e1','e2'])
		self.col = SelectableCollectionOfScannables('c', [self.a, self.b, self.mie, self.c])
예제 #18
0
	def test_createScanWithTuple(self):
		a, b, c, _ = createScannables()
		scanobject = TrajScan()._createScan([a, (1, 2, 3), b, 2, c])
		
		self.MockTrajectoryScanLine.assert_called_with([a, (1, 2, 3), b, 2, c])
		self.assertEqual(scanobject, self.mockTrajectoryScanLine)
예제 #19
0
 def test_createScan(self):
     a, b, c, _ = createScannables()
     scanobject = Scan()._createScan([a, 1, 10, 1, b, 2, c])
     self.assertEqual(scanobject, self.mockConcurrentScan)
     self.MockConcurrentScan.assert_called_with([a, 1, 10, 1, b, 2, c])
예제 #20
0
 def setUp(self):
     self.a, self.b, self.c, _ = createScannables()
     self.mie = MultiInputExtraFieldsDummyPD('mie', ['i1'], ['e1', 'e2'])
     self.col = SelectableCollectionOfScannables(
         'c', [self.a, self.b, self.mie, self.c])