def test_float_against_float32(self):
        nm = NumberArrayMeta("float32")
        values = [1.2, 3.4, 5.6]
        response = nm.validate(values)

        for i, value in enumerate(response):
            self.assertAlmostEqual(values[i], response[i], places=5)
    def test_int_against_int(self):
        nm = NumberArrayMeta("int32")
        values = [1, 2, 3]
        response = nm.validate(values)

        for i, value in enumerate(response):
            self.assertEqual(values[i], value)
    def test_float_against_float64(self):
        nm = NumberArrayMeta("float64")
        values = [1.2, 3.4, 5.6]
        response = nm.validate(values)

        for i, value in enumerate(response):
            self.assertEqual(values[i], value)
    def test_numpy_array(self):
        nm = NumberArrayMeta("float64")
        values = np.array([1.2, 3.4, 5.6])
        response = nm.validate(values)

        for i, value in enumerate(response):
            self.assertEqual(values[i], value)
Example #5
0
 def test_null_element_raises(self):
     nm = NumberArrayMeta("float32")
     self.assertRaises(ValueError, nm.validate, [1.2, None, 5.6])
Example #6
0
 def test_float_against_int_raises(self):
     nm = NumberArrayMeta("int32")
     self.assertRaises(ValueError, nm.validate, [1.2, 34, 56])
Example #7
0
    def test_numpy_array_wrong_number_type_raises(self):
        nm = NumberArrayMeta("int32")
        values = np.array([1.2, 3.4, 5.6])

        with self.assertRaises(TypeError):
            nm.validate(values)
Example #8
0
    def test_numpy_array_wrong_type_raises(self):
        nm = NumberArrayMeta("float64")
        values = "[1.2, 3.4, 5.6]"

        with self.assertRaises(TypeError):
            nm.validate(values)
 def test_none_validates(self):
     nm = NumberArrayMeta("int32")
     self.assertEquals(nm.validate(None), [])
    def test_numpy_array_wrong_number_type_raises(self):
        nm = NumberArrayMeta("int32")
        values = np.array([1.2, 3.4, 5.6])

        with self.assertRaises(TypeError):
            nm.validate(values)
    def test_numpy_array_wrong_type_raises(self):
        nm = NumberArrayMeta("float64")
        values = "[1.2, 3.4, 5.6]"

        with self.assertRaises(TypeError):
            nm.validate(values)
    NumberMeta, NumberArrayMeta, BooleanArrayMeta, TableMeta

sm = RunnableDeviceStateMachine

configure_args = [
    "generator",
    PointGeneratorMeta("Generator instance"), REQUIRED, "axes_to_move",
    StringArrayMeta("Axes that should be moved"), REQUIRED, "exposure",
    NumberMeta("float64", "How long to remain at each point"), REQUIRED
]

# Make a table for the layout info we need
columns = OrderedDict()
columns["name"] = StringArrayMeta("Name of layout part")
columns["mri"] = StringArrayMeta("Malcolm full name of child block")
columns["x"] = NumberArrayMeta("float64", "X Co-ordinate of child block")
columns["y"] = NumberArrayMeta("float64", "X Co-ordinate of child block")
columns["visible"] = BooleanArrayMeta("Whether child block is visible")
layout_table_meta = TableMeta("Layout of child blocks", columns=columns)

# Make a table for the port info we need
columns = OrderedDict()
columns["name"] = StringArrayMeta("Name of layout part")
columns["type"] = StringArrayMeta("Type of outport (e.g. bit or pos)")
columns["value"] = StringArrayMeta("Value of outport (e.g. PULSE1.OUT)")
outport_table_meta = TableMeta("List of ports on blocks", columns=columns)


@sm.insert
@method_takes()
class ManagerController(DefaultController):