finish tie framework restructure and add more tests

This commit is contained in:
Zhenwen Dai 2014-09-19 22:04:41 +01:00
parent 077232c26f
commit c279da4c75
3 changed files with 45 additions and 113 deletions

View file

@ -2,7 +2,6 @@
# Licensed under the BSD 3-clause license (see LICENSE.txt)
import unittest
import numpy as np
import GPy
class TieTests(unittest.TestCase):
@ -10,8 +9,8 @@ class TieTests(unittest.TestCase):
m = GPy.examples.regression.sparse_GP_regression_1D(optimize=False, plot=False, checkgrad=False)
m.Z.constrain_positive(warning=False)
m.Z.tie_together()
self.assertTrue(m.ties.checkValueConsistence())
self.assertTrue(m.ties.checkValueConsistence())
self.assertTrue(m.ties.checkValueConsistency())
self.assertTrue(m.ties.checkConstraintConsistency())
self.assertTrue(m.ties.checkTieTogether([m.Z]))
self.assertTrue(m.checkgrad())
@ -22,8 +21,8 @@ class TieTests(unittest.TestCase):
m.Z[2:4].tie_together()
self.assertTrue(m.ties.checkTieTogether([m.Z[:2]]))
self.assertTrue(m.ties.checkTieTogether([m.Z[2:4]]))
self.assertTrue(m.ties.checkValueConsistence())
self.assertTrue(m.ties.checkValueConsistence())
self.assertTrue(m.ties.checkValueConsistency())
self.assertTrue(m.ties.checkConstraintConsistency())
self.assertTrue(m.checkgrad())
def test_tie_together_merge(self):
@ -32,8 +31,28 @@ class TieTests(unittest.TestCase):
m.Z[:2].tie_together()
m.Z[1:3].tie_together()
self.assertTrue(m.ties.checkTieTogether([m.Z[:3]]))
self.assertTrue(m.ties.checkValueConsistence())
self.assertTrue(m.ties.checkValueConsistence())
self.assertTrue(m.ties.checkValueConsistency())
self.assertTrue(m.ties.checkConstraintConsistency())
self.assertTrue(m.checkgrad())
def test_tie_vector(self):
m = GPy.examples.regression.sparse_GP_regression_1D(optimize=False, plot=False, checkgrad=False)
m.Z.constrain_positive(warning=False)
m.Z[:2].tie_vector(m.Z[2:4])
self.assertTrue(m.ties.checkValueConsistency())
self.assertTrue(m.ties.checkConstraintConsistency())
self.assertTrue(m.ties.checkTieVector([m.Z[:2],m.Z[2:4]]))
self.assertTrue(m.checkgrad())
def test_tie_vector_merge(self):
m = GPy.examples.regression.sparse_GP_regression_2D(optimize=False, plot=False)
m.Z.constrain_positive(warning=False)
m.Z[:10].tie_vector(m.Z[10:20])
m.Z[20:30].tie_vector(m.Z[30:40])
m.Z[10:20].tie_vector(m.Z[20:30])
self.assertTrue(m.ties.checkValueConsistency())
self.assertTrue(m.ties.checkConstraintConsistency())
self.assertTrue(m.ties.checkTieVector([m.Z[:10],m.Z[10:20],m.Z[20:30],m.Z[30:40]]))
self.assertTrue(m.checkgrad())
if __name__ == "__main__":