Esempio n. 1
0
def test_add_input_mapping(rng):
    """tests add_input_mapping edge cases and errors"""
    vocab = make_vocab(4, 64, rng)

    with nengo.Network():
        test_am = AssociativeMemory(vocab)

    input_vectors = np.array([[1, 2], [3, 4], [5, 6], [7, 8]])
    test_am.add_input_mapping("test", input_vectors, input_scales=[1, 2, 3, 4])
    assert isinstance(test_am.test, nengo.Node)

    with pytest.raises(ValidationError, match="Name .* already exists as a node"):
        test_am.add_input_mapping("test", input_vectors, input_scales=[1, 2, 3, 4])

    # wrong input scales shape
    with pytest.raises(ValidationError, match="Number of input_scale values"):
        test_am.add_input_mapping("test2", input_vectors, input_scales=[1])