Exemple #1
0
def test_Node_copy_with_arrays_and_subnodes():
    node = mdp.Node()
    node.node = mdp.Node()
    node.node.x = mdp.numx.zeros((2, 2))
    node2 = node.copy()
    assert hasattr(node2, 'node')
    assert mdp.numx.all(node2.node.x == node.node.x)
Exemple #2
0
def test_Flow_deepcopy_lambda():
    """Copying a Flow with a lambda member function
    should not throw an Exception"""
    generic_node = mdp.Node()
    generic_node.lambda_function = lambda: 1
    generic_flow = mdp.Flow([generic_node])
    generic_flow.copy()
Exemple #3
0
def testMultipleExtensions():
    """Test behavior of multiple extensions."""
    class Test1ExtensionNode(mdp.ExtensionNode, mdp.Node):
        extension_name = "__test1"

        def _testtest1(self):
            pass

    class Test2ExtensionNode(mdp.ExtensionNode, mdp.Node):
        extension_name = "__test2"

        def _testtest2(self):
            pass

    mdp.activate_extension("__test1")
    node = mdp.Node()
    node._testtest1()
    mdp.activate_extension("__test2")
    node._testtest2()
    mdp.deactivate_extension("__test1")
    assert not hasattr(mdp.nodes.SFANode, "_testtest1")
    mdp.activate_extension("__test1")
    node._testtest1()
    mdp.deactivate_extensions(["__test1", "__test2"])
    assert not hasattr(mdp.nodes.SFANode, "_testtest1")
    assert not hasattr(mdp.nodes.SFANode, "_testtest2")
Exemple #4
0
def test_Node_copy():
    test_list = [1, 2, 3]
    generic_node = mdp.Node()
    generic_node.dummy_attr = test_list
    copy_node = generic_node.copy()
    assert generic_node.dummy_attr == copy_node.dummy_attr,\
           'Node copy method did not work'
    copy_node.dummy_attr[0] = 10
    assert generic_node.dummy_attr != copy_node.dummy_attr,\
           'Node copy method did not work'
Exemple #5
0
 def test_flow_from_sum(self):
     """Test the special addition method for BiNode."""
     node1 = IdentityBiNode()
     node2 = mdp.Node()
     flow = node1 + node2
     assert type(flow) is BiFlow
     node2 = IdentityBiNode()
     flow = node1 + node2
     assert type(flow) is BiFlow
     assert len(flow) == 2
     node3 = IdentityBiNode()
     flow = node1 + node2 + node3
     assert type(flow) is BiFlow
     assert len(flow) == 3
     node4 = IdentityBiNode()
     flow = node4 + flow
     assert type(flow) is BiFlow
     assert len(flow) == 4
def test_Node_save():
    test_list = [1,2,3]
    generic_node = mdp.Node()
    generic_node.dummy_attr = test_list
    # test string save
    copy_node_pic = generic_node.save(None)
    copy_node = pickle.loads(copy_node_pic)
    assert generic_node.dummy_attr == copy_node.dummy_attr,\
           'Node save (string) method did not work'
    copy_node.dummy_attr[0] = 10
    assert generic_node.dummy_attr != copy_node.dummy_attr,\
           'Node save (string) method did not work'
    # test file save
    dummy_file = tempfile.mktemp(prefix='MDP_', suffix=".pic",
                                 dir=pytest.mdp_tempdirname)
    generic_node.save(dummy_file, protocol=1)
    dummy_file = open(dummy_file, 'rb')
    copy_node = pickle.load(dummy_file)
    assert generic_node.dummy_attr == copy_node.dummy_attr,\
           'Node save (file) method did not work'
    copy_node.dummy_attr[0] = 10
    assert generic_node.dummy_attr != copy_node.dummy_attr,\
           'Node save (file) method did not work'
Exemple #7
0
def test_Node_deepcopy_lambda():
    """Copying a node with a lambda member function
    should not throw an Exception"""
    generic_node = mdp.Node()
    generic_node.lambda_function = lambda: 1
    generic_node.copy()
Exemple #8
0
def test_Node_copy_with_lambdas():
    generic_node = mdp.Node()
    generic_node.lambda_function = lambda: 1
    generic_node.copy()