This commit is contained in:
Rowan Cockett
2015-06-03 15:46:38 -07:00
parent 29476eca77
commit 1b7ad56e94
2 changed files with 25 additions and 0 deletions
+3
View File
@@ -238,3 +238,6 @@ class PropMap(object):
def __call__(self, vec):
return self.PropModel(self, vec)
def __contains__(self, val):
activeMaps = [name for name in self._properties if getattr(self, '%sMap'%name) is not None]
return val in activeMaps
+22
View File
@@ -36,6 +36,10 @@ class TestPropMaps(unittest.TestCase):
assert PM.muMap is None
assert PM.muIndex is None
assert 'sigma' in PM
assert 'mu' not in PM
assert 'mui' not in PM
m = PM(np.r_[1.,2,3])
assert m.mu == mu_0
assert m.muModel is None
@@ -67,6 +71,10 @@ class TestPropMaps(unittest.TestCase):
assert pm.nP == 6
assert 'sigma' in PM
assert 'mu' in PM
assert 'mui' not in PM
assert np.all(pm.sigmaModel == [1.,2,3])
assert np.all(pm.sigma == np.exp([1.,2,3]))
assert np.all(pm.muModel == [4.,5,6])
@@ -83,6 +91,10 @@ class TestPropMaps(unittest.TestCase):
assert pm.nP == 3
assert 'sigma' in PM
assert 'mu' in PM
assert 'mui' not in PM
assert np.all(pm.sigmaModel == [1,2,3])
assert np.all(pm.sigma == np.exp([1,2,3]))
assert np.all(pm.muModel == [1,2,3])
@@ -103,6 +115,11 @@ class TestPropMaps(unittest.TestCase):
assert pm.sigmaDeriv is not None
assert pm.rhoDeriv is not None
assert 'sigma' in PM
assert 'rho' not in PM
assert 'mu' not in PM
assert 'mui' not in PM
assert pm.mu == mu_0
assert pm.mui == 1.0/mu_0
assert pm.muMap is None
@@ -121,6 +138,11 @@ class TestPropMaps(unittest.TestCase):
assert pm.sigmaDeriv is not None
assert pm.rhoDeriv is not None
assert 'sigma' not in PM
assert 'rho' in PM
assert 'mu' not in PM
assert 'mui' not in PM
self.assertRaises(AssertionError, MyReciprocalPropMap, [('rho', iMap), ('sigma', iMap)])
self.assertRaises(AssertionError, MyReciprocalPropMap, [('sigma', iMap), ('rho', iMap)])