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'})
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'})