Ejemplo n.º 1
0
    def test_values(self):
        """Test values method"""
        sample_config = {
            "acq_port": {
                "value": "8000",
                "section": "acquisition",
                "readableName": "Acquisition Port",
                "helpTip": "",
                "recommended_values": "",
                "type": "int"
            },
            "acq_device": {
                "value": "LSL",
                "section": "acquisition",
                "readableName": "Acquisition Device",
                "helpTip": "",
                "recommended_values": ["LSL", "DSI"],
                "type": "str"
            }
        }
        parameters = Parameters(source=None, cast_values=True)
        parameters.load(sample_config)
        self.assertEqual(list(parameters.keys()), ['acq_port', 'acq_device'])
        self.assertEqual(list(parameters.values()), [8000, 'LSL'])

        parameters.cast_values = False
        for value in parameters.values():
            self.assertEqual(type(value), dict)
Ejemplo n.º 2
0
    def test_cast_values(self):
        """Test cast_values."""

        sample_config = {
            "myint": {
                "value": "1",
                "section": "",
                "readableName": "",
                "helpTip": "",
                "recommended_values": "",
                "type": "int"
            },
            "mybool": {
                "value": "true",
                "section": "",
                "readableName": "",
                "helpTip": "",
                "recommended_values": "",
                "type": "bool"
            },
            "mypath": {
                "value": "bcipy/parameters/parameters.json",
                "section": "",
                "readableName": "",
                "helpTip": "",
                "recommended_values": "",
                "type": "directorypath"
            },
            "mystr": {
                "value": "hello",
                "section": "",
                "readableName": "",
                "helpTip": "",
                "recommended_values": "",
                "type": "str"
            },
        }
        parameters = Parameters(source=None, cast_values=True)
        parameters.load(sample_config)

        self.assertEqual(parameters['myint'], 1)
        self.assertEqual(parameters.get('myint', 0), 1,
                         'Should support `get` method with a default value')
        self.assertEqual(
            parameters.get('myint'), 1,
            'Should support `get` method without a default value')

        self.assertEqual(parameters['mybool'], True)
        self.assertEqual(parameters.get('mybool', False), True)
        self.assertEqual(parameters['mypath'],
                         'bcipy/parameters/parameters.json')
        self.assertEqual(parameters['mystr'], 'hello')
        self.assertEqual(parameters.get('mystr'), 'hello')
        self.assertFalse(parameters.get('missing_param', False))

        parameters.cast_values = False
        self.assertEqual(parameters['myint']['value'], '1')
        self.assertEqual(parameters['mybool']['value'], 'true')
Ejemplo n.º 3
0
    def test_setting_existing_cast_values(self):
        """Test setting data when Parameters are cast"""
        sample_config = {
            "acq_port": {
                "value": "8000",
                "section": "acquisition",
                "readableName": "Acquisition Port",
                "helpTip": "",
                "recommended_values": "",
                "type": "int"
            },
            "acq_device": {
                "value": "LSL",
                "section": "acquisition",
                "readableName": "Acquisition Device",
                "helpTip": "",
                "recommended_values": ["LSL", "DSI"],
                "type": "str"
            },
            "is_txt_stim": {
                "value": "false",
                "section": "",
                "readableName": "",
                "helpTip": "",
                "recommended_values": "",
                "type": "bool"
            }
        }
        parameters = Parameters(source=None, cast_values=True)
        parameters.load(sample_config)
        self.assertEqual(parameters['is_txt_stim'], False)

        parameters['acq_port'] = 9000
        parameters['acq_device'] = 'DSI'
        parameters['is_txt_stim'] = True
        print(parameters)
        self.assertEqual(parameters['acq_port'], 9000)
        self.assertEqual(parameters['acq_device'], 'DSI')
        self.assertEqual(parameters['is_txt_stim'], True)

        parameters.cast_values = False
        self.assertEqual(parameters['acq_port']['value'], '9000')
        self.assertEqual(parameters['acq_device']['value'], 'DSI')
        self.assertEqual(parameters['is_txt_stim']['value'], 'true')
Ejemplo n.º 4
0
    def test_items(self):
        """Test items"""
        parameters = Parameters(source=None, cast_values=False)
        parameters['mystr'] = {
            "value": "hello",
            "section": "",
            "readableName": "",
            "helpTip": "",
            "recommended_values": "",
            "type": "str"
        }
        self.assertEqual(len(parameters.items()), 1)
        for key, val in parameters.items():
            self.assertEqual(key, 'mystr')
            self.assertEqual(type(val), dict)

        parameters.cast_values = True
        self.assertEqual(len(parameters.items()), 1)
        for key, val in parameters.items():
            self.assertEqual(key, 'mystr')
            self.assertEqual(val, 'hello')