From 414c93419fe1f36e481641a76377a7c56fb0d0f6 Mon Sep 17 00:00:00 2001 From: Stanislaw Adaszewski Date: Wed, 17 Jun 2020 15:13:56 +0200 Subject: [PATCH] Add test_model_06(). --- src/icosagon/data.py | 4 ++++ tests/icosagon/test_model.py | 38 ++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/src/icosagon/data.py b/src/icosagon/data.py index 0181b7d..7e39db7 100644 --- a/src/icosagon/data.py +++ b/src/icosagon/data.py @@ -120,6 +120,10 @@ class RelationFamily(RelationFamilyBase): adjacency_matrix.transpose(0, 1))): raise ValueError('Relation family is symmetric but adjacency_matrix is assymetric') + if not self.is_symmetric and node_type_row != node_type_column and \ + adjacency_matrix_backward is None: + raise ValueError('Relation is asymmetric but adjacency_matrix_backward is None') + if self.is_symmetric and node_type_row != node_type_column: adjacency_matrix_backward = adjacency_matrix.transpose(0, 1) diff --git a/tests/icosagon/test_model.py b/tests/icosagon/test_model.py index 2d39163..3084031 100644 --- a/tests/icosagon/test_model.py +++ b/tests/icosagon/test_model.py @@ -10,6 +10,7 @@ import torch from icosagon.input import OneHotInputLayer from icosagon.convlayer import DecagonLayer from icosagon.declayer import DecodeLayer +import pytest def _is_identity_function(f): @@ -147,3 +148,40 @@ def test_model_05(): assert len(list(m.seq[1].parameters())) == 6 assert len(list(m.seq[2].parameters())) == 6 assert len(list(m.seq[3].parameters())) == 6 + + +def test_model_06(): + d = Data() + d.add_node_type('Dummy', 10) + fam = d.add_relation_family('Dummy-Dummy', 0, 0, False) + fam.add_relation_type('Dummy Rel', torch.rand(10, 10).round()) + + with pytest.raises(TypeError): + m = Model(1) + + with pytest.raises(TypeError): + m = Model(d, layer_dimensions=1) + + with pytest.raises(TypeError): + m = Model(d, ratios=1) + + with pytest.raises(ValueError): + m = Model(d, keep_prob='x') + + with pytest.raises(TypeError): + m = Model(d, rel_activation='x') + + with pytest.raises(TypeError): + m = Model(d, layer_activation='x') + + with pytest.raises(TypeError): + m = Model(d, dec_activation='x') + + with pytest.raises(ValueError): + m = Model(d, lr='x') + + with pytest.raises(TypeError): + m = Model(d, loss=1) + + with pytest.raises(ValueError): + m = Model(d, batch_size='x')