Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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')
Пример #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')
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #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.