def __init__(self, dt=0.001, machine_timestep=1000, decoder_cache=NoDecoderCache(), keyspaces=None): self.dt = dt self.machine_timestep = machine_timestep self.decoder_cache = decoder_cache self.params = dict() self.seeds = dict() self.rngs = dict() self.rng = None self.config = None self.object_operators = dict() self.extra_operators = list() self.connections_signals = dict() self.extra_signals = list() if keyspaces is None: keyspaces = KeyspaceContainer() self.keyspaces = keyspaces # Internally used dictionaries to construct keyspace information self._obj_ids = collections.defaultdict(collections_ext.counter()) self._obj_conn_ids = collections.defaultdict( lambda: collections.defaultdict(collections_ext.counter()) ) # Internally used dictionaries of build methods self._builders = dict() self._connection_parameter_builders = dict() self._source_getters = dict() self._sink_getters = dict() self._probe_builders = dict()
def test_counter(): """Test an object which increments every time it is called.""" counter = nscollections.counter() for i in range(10): assert counter() == i