Ejemplo n.º 1
0
 def test_activate(self):
     sb = fastwire.SignalBox()
     cid1 = sb.add()
     cid2 = sb.add(3049)
     sb.set_active(cid1)
     check = sb._active
     self.assertEqual(cid1, check)
Ejemplo n.º 2
0
    def test_remove_with(self):
        class A():
            pass

        a = A()
        sb = fastwire.SignalBox()
        sb.add(id(a), remove_with=a)
        self.assertEqual(len(sb._cs), 2)
        del a
        self.assertEqual(len(sb._cs), 1)
Ejemplo n.º 3
0
    def test_fn_receive_emit_box(self):
        box = fastwire.SignalBox()
        box.add('test')

        test = [0]

        @fastwire.fn_receive('test_signal', box=box)
        def connected(a):
            test[0] = a

        signal = box['test_signal']
        self.assertEqual(len(signal._receivers.keys()), 1)
        val = 5.7
        signal.emit(a=val)
        self.assertEqual(test[0], val)
Ejemplo n.º 4
0
    def test_receive_emit_box_decorator(self):
        box = fastwire.SignalBox()
        box.add('test')

        class A(fastwire.Wired):
            @box.receive('test_signal')
            def connected(self, a):
                self._a = a

        a = A()
        signal = box['test_signal']
        self.assertEqual(len(signal._receivers.keys()), 1)
        val = 5.7
        signal.emit(a=val)
        self.assertEqual(a._a, val)
Ejemplo n.º 5
0
 def test_get_repeated(self):
     sb = fastwire.SignalBox()
     sc = sb.add(id(self))
     wire_1 = sb.get('this_name')
     wire_2 = sb.get('this_name')
     self.assertEqual(wire_1, wire_2)
Ejemplo n.º 6
0
 def test_get(self):
     sb = fastwire.SignalBox()
     sc = sb.add(id(self))
     wire = sb.get('this_name')
     self.assertEqual(wire.name, 'this_name')
     self.assertEqual(wire.__class__, fastwire.Signal)
Ejemplo n.º 7
0
 def test_create_on_demand_repeated(self):
     sb = fastwire.SignalBox()
     sc = sb.add(id(self))
     wire_1 = sb['this_name']
     wire_2 = sb['this_name']
     self.assertEqual(wire_1, wire_2)
Ejemplo n.º 8
0
 def test_create_on_demand(self):
     sb = fastwire.SignalBox()
     sc = sb.add(id(self))
     signal = sb['this_name']
     self.assertEqual(signal.name, 'this_name')
     self.assertEqual(signal.__class__, fastwire.Signal)
Ejemplo n.º 9
0
 def test_get_attrs_kwarg(self):
     dct = {'a': 5}
     sb = fastwire.SignalBox()  # use default container
     signal = sb.get(name='test_name', attrs=dct)
     self.assertEqual(signal.attrs, dct)
Ejemplo n.º 10
0
 def test_get_doc_kwarg(self):
     sb = fastwire.SignalBox()  # use default container
     signal = sb.get(name='test_name', doc='test_doc')
     self.assertEqual(signal.doc, 'test_doc')
Ejemplo n.º 11
0
 def test_get_name_arg(self):
     sb = fastwire.SignalBox()  # use default container
     signal = sb.get('test_name')
     self.assertEqual(signal.name, 'test_name')
Ejemplo n.º 12
0
 def test_create_cid_str(self):
     b = fastwire.SignalBox()
     c = b.add('a_string')
     self.assertEqual(c.__class__, fastwire.SignalContainer)
     self.assertEqual(c.id, 'a_string')
     self.assertEqual(b.get_container('a_string'), c)
Ejemplo n.º 13
0
 def test_create_cid_int(self):
     b = fastwire.SignalBox()
     c = b.add(456)
     self.assertEqual(c.__class__, fastwire.SignalContainer)
     self.assertEqual(c.id, 456)
     self.assertEqual(b.get_container(456), c)
Ejemplo n.º 14
0
 def test_create_auto(self):
     b = fastwire.SignalBox()
     c = b.add()
     self.assertEqual(c.__class__, fastwire.SignalContainer)
     self.assertEqual(c.id, 1)
     self.assertEqual(b.get_container(0), c)
Ejemplo n.º 15
0
 def test_remove(self):
     sb = fastwire.SignalBox()
     sb.add(0)
     self.assertEqual(len(sb._cs), 2)
     sb.remove(0)
     self.assertEqual(len(sb._cs), 1)
Ejemplo n.º 16
0
@author: Reuben

Npsolve has a simple, small core built on fastwire. It's designed to give
good flexibility without compromising on performance.

"""

import numpy as np
import fastwire as fw
import traceback

from contextlib import contextmanager
from . import settings

sb = fw.SignalBox()

EMIT_VECTORS = 'EMIT_VECTORS'
EMIT_STATE = 'EMIT_STATE'
GET_VARS = 'GET_VARS'
GET_STEP_METHODS = 'GET_STEP_METHODS'
GET_PARTIALS = 'GET_PARTIALS'
SET_CACHING = 'SET_CACHING'
GET_CACHE_CLEARS = 'GET_CACHE_CLEARS'


class Partial():
    ''' A base class responsible for a set of variables 
    
    Note:
        __init__ method must be called.