def test_export_monitor_data_with_id(fixed_nodenet):
    monitor1 = micropsi.add_gate_monitor(fixed_nodenet, 'A1', 'gen')
    micropsi.add_gate_monitor(fixed_nodenet, 'B1', 'gen')
    micropsi.step_nodenet(fixed_nodenet)
    data = micropsi.export_monitor_data(fixed_nodenet, monitor_uid=monitor1['uid'])
    assert data['node_name'] == 'A1'
    assert 'values' in data
def test_export_monitor_data_with_id(fixed_nodenet):
    uid1 = micropsi.add_gate_monitor(fixed_nodenet, 'n0001', 'gen', name="Testmonitor")
    micropsi.add_gate_monitor(fixed_nodenet, 'n0003', 'gen')
    micropsi.step_nodenet(fixed_nodenet)
    data = micropsi.export_monitor_data(fixed_nodenet, monitor_uid=uid1)
    assert data['name'] == 'Testmonitor'
    assert 'values' in data
def test_export_monitor_data_with_id(fixed_nodenet):
    uid1 = micropsi.add_gate_monitor(fixed_nodenet, 'n0001', 'gen', name="Testmonitor")
    micropsi.add_gate_monitor(fixed_nodenet, 'n0003', 'gen')
    micropsi.step_nodenet(fixed_nodenet)
    data = micropsi.export_monitor_data(fixed_nodenet, monitor_uid=uid1)
    assert data['name'] == 'Testmonitor'
    assert 'values' in data
def test_export_monitor_data(fixed_nodenet):
    uid1 = micropsi.add_gate_monitor(fixed_nodenet, 'n0001', 'gen')
    uid2 = micropsi.add_gate_monitor(fixed_nodenet, 'n0003', 'gen')
    micropsi.step_nodenet(fixed_nodenet)
    data = micropsi.export_monitor_data(fixed_nodenet)
    assert uid1 in data
    assert 'values' in data[uid1]
    assert uid2 in data
def test_export_monitor_data(fixed_nodenet):
    uid1 = micropsi.add_gate_monitor(fixed_nodenet, 'n0001', 'gen')
    uid2 = micropsi.add_gate_monitor(fixed_nodenet, 'n0003', 'gen')
    micropsi.step_nodenet(fixed_nodenet)
    data = micropsi.export_monitor_data(fixed_nodenet)
    assert uid1 in data
    assert 'values' in data[uid1]
    assert uid2 in data
def test_export_monitor_data(fixed_nodenet):
    monitor1 = micropsi.add_gate_monitor(fixed_nodenet, 'A1', 'gen')
    monitor2 = micropsi.add_gate_monitor(fixed_nodenet, 'B1', 'gen')
    micropsi.step_nodenet(fixed_nodenet)
    data = micropsi.export_monitor_data(fixed_nodenet)
    assert monitor1['uid'] in data
    assert 'values' in data[monitor1['uid']]
    assert monitor2['uid'] in data
def test_clear_monitor(fixed_nodenet):
    uid = micropsi.add_gate_monitor(fixed_nodenet, 'n0001', 'gen')
    micropsi.step_nodenet(fixed_nodenet)
    micropsi.clear_monitor(fixed_nodenet, uid)
    data = micropsi.get_monitor_data(fixed_nodenet)
    values = data['monitors'][uid]['values']
    assert len(values.keys()) == 0
def test_clear_monitor(fixed_nodenet):
    monitor = micropsi.add_gate_monitor(fixed_nodenet, 'A1', 'gen')
    micropsi.step_nodenet(fixed_nodenet)
    micropsi.clear_monitor(fixed_nodenet, monitor['uid'])
    data = micropsi.get_monitor_data(fixed_nodenet)
    values = data['monitors'][monitor['uid']]['values']
    assert len(values.keys()) == 0
def test_clear_monitor(fixed_nodenet):
    uid = micropsi.add_gate_monitor(fixed_nodenet, 'n0001', 'gen')
    micropsi.step_nodenet(fixed_nodenet)
    micropsi.clear_monitor(fixed_nodenet, uid)
    data = micropsi.get_monitor_data(fixed_nodenet)
    values = data['monitors'][uid]['values']
    assert len(values.keys()) == 0
def test_get_monitor_data(fixed_nodenet):
    monitor = micropsi.add_gate_monitor(fixed_nodenet, 'A1', 'gen')
    micropsi.step_nodenet(fixed_nodenet)
    data = micropsi.get_monitor_data(fixed_nodenet)
    assert data['current_step'] == 1
    assert data['monitors'][monitor['uid']]['node_name'] == 'A1'
    values = data['monitors'][monitor['uid']]['values']
    assert len(values.keys()) == 1
def test_add_gate_monitor(fixed_nodenet):
    data = micropsi.add_gate_monitor(fixed_nodenet, 'A1', 'gen')
    assert data['uid'] is not None
    assert data['node_name'] == 'A1'
    assert data['node_uid'] == 'A1'
    assert data['target'] == 'gen'
    assert data['type'] == 'gate'
    assert data['uid'] in micropsi.nodenets[fixed_nodenet].monitors
def test_get_monitor_data(fixed_nodenet):
    uid = micropsi.add_gate_monitor(fixed_nodenet, 'n0001', 'gen', name="Testmonitor")
    micropsi.step_nodenet(fixed_nodenet)
    data = micropsi.get_monitor_data(fixed_nodenet)
    assert data['current_step'] == 1
    assert data['monitors'][uid]['name'] == 'Testmonitor'
    values = data['monitors'][uid]['values']
    assert len(values.keys()) == 1
    assert [k for k in values.keys()] == [1]
def test_remove_monitored_node(fixed_nodenet):
    uid = micropsi.add_gate_monitor(fixed_nodenet,
                                    'n0001',
                                    'gen',
                                    sheaf='default')
    micropsi.delete_nodes(fixed_nodenet, ['n0001'])
    micropsi.step_nodenet(fixed_nodenet)
    monitor = micropsi.export_monitor_data(fixed_nodenet)
    assert monitor[uid]['values'][1] is None
def test_get_monitor_data(fixed_nodenet):
    uid = micropsi.add_gate_monitor(fixed_nodenet, 'n0001', 'gen', name="Testmonitor")
    micropsi.step_nodenet(fixed_nodenet)
    data = micropsi.get_monitor_data(fixed_nodenet)
    assert data['current_step'] == 1
    assert data['monitors'][uid]['name'] == 'Testmonitor'
    values = data['monitors'][uid]['values']
    assert len(values.keys()) == 1
    assert [k for k in values.keys()] == [1]
def test_add_gate_monitor(fixed_nodenet):
    uid = micropsi.add_gate_monitor(fixed_nodenet, 'A1', 'gen', sheaf='default')
    monitor = micropsi.nodenets[fixed_nodenet].get_monitor(uid)
    assert monitor.name == 'gate gen @ Node A1'
    assert monitor.node_uid == 'A1'
    assert monitor.target == 'gen'
    assert monitor.type == 'gate'
    assert monitor.sheaf == 'default'
    assert len(monitor.values) == 0
    micropsi.step_nodenet(fixed_nodenet)
    monitor = micropsi.nodenets[fixed_nodenet].get_monitor(uid)
    assert len(monitor.values) == 1
def test_add_gate_monitor(fixed_nodenet):
    uid = micropsi.add_gate_monitor(fixed_nodenet, 'n0001', 'gen', sheaf='default')
    monitor = micropsi.nodenets[fixed_nodenet].get_monitor(uid)
    assert monitor.name == 'gate gen @ Node A1'
    assert monitor.node_uid == 'n0001'
    assert monitor.target == 'gen'
    assert monitor.type == 'gate'
    assert monitor.sheaf == 'default'
    assert monitor.color.startswith('#')
    assert len(monitor.values) == 0
    micropsi.step_nodenet(fixed_nodenet)
    monitor = micropsi.nodenets[fixed_nodenet].get_monitor(uid)
    assert len(monitor.values) == 1
Beispiel #17
0
def test_register_runner_condition_monitor(test_nodenet):
    import time
    nn = micropsi.nodenets[test_nodenet]
    node = nn.netapi.create_node('Register', None)
    nn.netapi.link(node, 'gen', node, 'gen', weight=2)
    node.activation = 0.1
    uid = micropsi.add_gate_monitor(test_nodenet, node.uid, 'gen')
    micropsi.set_runner_condition(test_nodenet, monitor={
        'uid': uid,
        'value': 0.8
    })
    micropsi.start_nodenetrunner(test_nodenet)
    assert micropsi.nodenets[test_nodenet].is_active
    time.sleep(1)
    assert not micropsi.nodenets[test_nodenet].is_active
    assert micropsi.nodenets[test_nodenet].current_step == 3
    assert round(nn.get_node(node.uid).get_gate('gen').activation, 4) == 0.8
Beispiel #18
0
def test_register_runner_condition_monitor(test_nodenet):
    import time
    nn = micropsi.nodenets[test_nodenet]
    node = nn.netapi.create_node('Register', None)
    nn.netapi.link(node, 'gen', node, 'gen', weight=2)
    node.activation = 0.1
    uid = micropsi.add_gate_monitor(test_nodenet, node.uid, 'gen')
    micropsi.set_runner_condition(test_nodenet,
                                  monitor={
                                      'uid': uid,
                                      'value': 0.8
                                  })
    micropsi.start_nodenetrunner(test_nodenet)
    assert micropsi.nodenets[test_nodenet].is_active
    time.sleep(1)
    assert not micropsi.nodenets[test_nodenet].is_active
    assert micropsi.nodenets[test_nodenet].current_step == 3
    assert round(nn.get_node(node.uid).get_gate('gen').activation, 4) == 0.8
def test_fetch_partial_monitor_data(fixed_nodenet):
    uid = micropsi.add_gate_monitor(fixed_nodenet, 'n0001', 'gen')
    i = 0
    while i < 50:
        micropsi.step_nodenet(fixed_nodenet)
        i += 1
    assert micropsi.nodenets[fixed_nodenet].current_step == 50

    # get 10 items from [20 - 29]
    data = micropsi.export_monitor_data(fixed_nodenet,
                                        monitor_from=20,
                                        monitor_count=10)
    values = data[uid]['values']
    assert len(values.keys()) == 10
    assert set(list(values.keys())) == set(range(20, 30))

    # get 10 items from [20 - 29] for one monitor
    data = micropsi.export_monitor_data(fixed_nodenet,
                                        monitor_uid=uid,
                                        monitor_from=20,
                                        monitor_count=10)
    values = data['values']
    assert len(values.keys()) == 10
    assert set(list(values.keys())) == set(range(20, 30))

    # get 10 newest values [41-50]
    data = micropsi.export_monitor_data(fixed_nodenet, monitor_count=10)
    values = data[uid]['values']
    assert len(values.keys()) == 10
    assert set(list(values.keys())) == set(range(41, 51))

    # get 10 items, starting at 45 -- assert they are filled up to the left.
    data = micropsi.export_monitor_data(fixed_nodenet,
                                        monitor_from=40,
                                        monitor_count=15)
    values = data[uid]['values']
    assert len(values.keys()) == 15
    assert set(list(values.keys())) == set(range(36, 51))

    # get all items, starting at 10
    data = micropsi.export_monitor_data(fixed_nodenet, monitor_from=10)
    values = data[uid]['values']
    assert len(values.keys()) == 41
    assert set(list(values.keys())) == set(range(10, 51))
def test_fetch_partial_monitor_data(fixed_nodenet):
    uid = micropsi.add_gate_monitor(fixed_nodenet, 'n0001', 'gen')
    i = 0
    while i < 50:
        micropsi.step_nodenet(fixed_nodenet)
        i += 1
    assert micropsi.nodenets[fixed_nodenet].current_step == 50

    # get 10 items from [20 - 29]
    data = micropsi.export_monitor_data(fixed_nodenet, monitor_from=20, monitor_count=10)
    values = data[uid]['values']
    assert len(values.keys()) == 10
    assert set(list(values.keys())) == set(range(20, 30))

    # get 10 items from [20 - 29] for one monitor
    data = micropsi.export_monitor_data(fixed_nodenet, monitor_uid=uid, monitor_from=20, monitor_count=10)
    values = data['values']
    assert len(values.keys()) == 10
    assert set(list(values.keys())) == set(range(20, 30))

    # get 10 newest values [41-50]
    data = micropsi.export_monitor_data(fixed_nodenet, monitor_count=10)
    values = data[uid]['values']
    assert len(values.keys()) == 10
    assert set(list(values.keys())) == set(range(41, 51))

    # get 10 items, starting at 45 -- assert they are filled up to the left.
    data = micropsi.export_monitor_data(fixed_nodenet, monitor_from=40, monitor_count=15)
    values = data[uid]['values']
    assert len(values.keys()) == 15
    assert set(list(values.keys())) == set(range(36, 51))

    # get all items, starting at 10
    data = micropsi.export_monitor_data(fixed_nodenet, monitor_from=10)
    values = data[uid]['values']
    assert len(values.keys()) == 41
    assert set(list(values.keys())) == set(range(10, 51))
def test_remove_monitor(fixed_nodenet):
    uid = micropsi.add_gate_monitor(fixed_nodenet, 'n0001', 'gen')
    assert micropsi.nodenets[fixed_nodenet].get_monitor(uid) is not None
    micropsi.remove_monitor(fixed_nodenet, uid)
    monitor = micropsi.nodenets[fixed_nodenet].get_monitor(uid)
    assert monitor is None
def test_remove_monitor(fixed_nodenet):
    uid = micropsi.add_gate_monitor(fixed_nodenet, 'n0001', 'gen')
    assert micropsi.nodenets[fixed_nodenet].get_monitor(uid) is not None
    micropsi.remove_monitor(fixed_nodenet, uid)
    monitor = micropsi.nodenets[fixed_nodenet].get_monitor(uid)
    assert monitor is None
Beispiel #23
0
def add_gate_monitor(nodenet_uid, node_uid, gate, sheaf=None, name=None, color=None):
    return True, runtime.add_gate_monitor(nodenet_uid, node_uid, gate, sheaf=sheaf, name=name, color=color)
Beispiel #24
0
def add_gate_monitor(nodenet_uid, node_uid, gate):
    return runtime.add_gate_monitor(nodenet_uid, node_uid, gate)
def test_remove_monitored_node(fixed_nodenet):
    uid = micropsi.add_gate_monitor(fixed_nodenet, 'n0001', 'gen', sheaf='default')
    micropsi.delete_node(fixed_nodenet, 'n0001')
    micropsi.step_nodenet(fixed_nodenet)
    monitor = micropsi.export_monitor_data(fixed_nodenet)
    assert monitor[uid]['values'][1] is None
Beispiel #26
0
def add_gate_monitor(nodenet_uid, node_uid, gate, name=None, color=None):
    """ Add a gate monitor to the given node, recording outgoing activation"""
    return True, runtime.add_gate_monitor(nodenet_uid, node_uid, gate, name=name, color=color)