def test_logger(self): hdl = MemHandler() logger = get_logger('lantz.driver') logger.addHandler(hdl) logger.setLevel(logging.DEBUG) class Spam(Driver): _eggs = {'answer': 42} @DictFeat() def eggs(self_, key): return self_._eggs[key] @eggs.setter def eggs(self_, key, value): self_._eggs[key] = value obj = Spam(name='myspam') x = obj.eggs['answer'] obj.eggs['answer'] = x obj.eggs['answer'] = x + 1 self.assertEqual(hdl.history, [ 'Created myspam', "Getting eggs['answer']", "Got 42 for eggs['answer']", "No need to set eggs['answer'] = 42 (current=42)", "Setting eggs['answer'] to 43", "eggs['answer'] was set to 43" ])
class Spam(Driver): _logger = get_logger('test.feat') _logger.addHandler(hdl) _logger.setLevel(logging.DEBUG) _eggs = {'answer': 42} @DictFeat(units='s') def eggs(self_, key): return self_._eggs[key] @eggs.setter def eggs(self_, key, value): self_._eggs[key] = value
class Spam2(Driver): _logger = get_logger('test.feat', False) _logger.addHandler(hdl) _logger.setLevel(logging.DEBUG) _eggs = (8, 1) # Transform each element of the return vector # based on the set signature @Feat(units=('s', None)) def eggs(self_): return self_._eggs @eggs.setter def eggs(self_, values): self_._eggs = values
class Spam(Driver): _logger = get_logger('test.feat', False) _logger.addHandler(hdl) _logger.setLevel(logging.DEBUG) _eggs = 8 @Feat(units='s') def eggs(self_): return self_._eggs @eggs.setter def eggs(self_, value): self.assertIsInstance(value, float) self.assertEqual(value, float(value)) self_._eggs = value _eggs_str = '8' @Feat(units='s') def eggs_str(self_): return self_._eggs_str @eggs_str.setter def eggs_str(self_, value): self.assertIsInstance(value, float) self.assertEqual(value, float(value)) self_._eggs_str = str(value) _eggs_adim = 8 @Feat(units='') def eggs_adim(self_): return self_._eggs_adim @eggs_adim.setter def eggs_adim(self_, value): self.assertIsInstance(value, float) self.assertEqual(value, float(value)) self_._eggs_adim = value
# -*- coding: utf-8 -*- """ lantz.qt.log ~~~~~~~~~~~~ Implements base class for graphical applications. :copyright: 2018 by Lantz Authors, see AUTHORS for more details. :license: BSD, see LICENSE for more details. """ from lantz.core.log import get_logger LOGGER = get_logger('lantz.qt')