Пример #1
0
    def _test_method_subscribers(self):
        opts = {}

        class OptionsSubscriber(object):
            def options_subscriber(self, key, value, opts=opts):
                opts[key] = value
        os = OptionsSubscriber()

        num_subscribers = len(_subscribers)

        subscribe(os.options_subscriber)

        self.assertEqual(len(_subscribers), num_subscribers + 1)

        options.cas.print_messages = False
        self.assertEqual(opts, {'cas.print_messages': False})

        options.cas.print_messages = True
        self.assertEqual(opts, {'cas.print_messages': True})

        options.cas.dataset.auto_index_style = 'sas'
        self.assertEqual(opts, {'cas.print_messages': True,
                                'cas.dataset.auto_index_style': 'sas'})

        options.cas.dataset.auto_index_style = 'pandas'
        self.assertEqual(opts, {'cas.print_messages': True,
                                'cas.dataset.auto_index_style': 'pandas'})

        options.cas.print_messages = False
        self.assertEqual(opts, {'cas.print_messages': False,
                                'cas.dataset.auto_index_style': 'pandas'})

        reset_option('cas.print_messages')
        self.assertEqual(opts, {'cas.print_messages': True,
                                'cas.dataset.auto_index_style': 'pandas'})

        unsubscribe(os.options_subscriber)

        self.assertEqual(len(_subscribers), num_subscribers)

        subscribe(os.options_subscriber)

        self.assertEqual(len(_subscribers), num_subscribers + 1)

        del os.options_subscriber

        self.assertEqual(len(_subscribers), num_subscribers)

        options.cas.print_messages = False

        self.assertEqual(opts, {'cas.print_messages': True,
                                'cas.dataset.auto_index_style': 'pandas'})
Пример #2
0
    def test_function_subscribers(self):
        opts = {}

        def options_subscriber(key, value, opts=opts):
            opts[key] = value

        num_subscribers = len(_subscribers)

        subscribe(options_subscriber)

        self.assertEqual(len(_subscribers), num_subscribers + 1)

        options.cas.print_messages = True
        self.assertEqual(opts, {'cas.print_messages': True})

        options.cas.print_messages = False
        self.assertEqual(opts, {'cas.print_messages': False})

        options.cas.dataset.index_name = 'foo'
        self.assertEqual(opts, {'cas.print_messages': False,
                                'cas.dataset.index_name': 'foo'})

        options.cas.dataset.index_name = 'bar'
        self.assertEqual(opts, {'cas.print_messages': False,
                                'cas.dataset.index_name': 'bar'})

        options.cas.print_messages = True
        self.assertEqual(opts, {'cas.print_messages': True,
                                'cas.dataset.index_name': 'bar'})

        options.cas.print_messages = False
        reset_option('cas.print_messages')
        self.assertEqual(opts, {'cas.print_messages': True,
                                'cas.dataset.index_name': 'bar'})

        unsubscribe(options_subscriber)

        self.assertEqual(len(_subscribers), num_subscribers)

        subscribe(options_subscriber)

        self.assertEqual(len(_subscribers), num_subscribers + 1)

        del options_subscriber

        self.assertEqual(len(_subscribers), num_subscribers)

        options.cas.print_messages = False

        self.assertEqual(opts, {'cas.print_messages': True,
                                'cas.dataset.index_name': 'bar'})