diff --git a/SimPEG/PropMaps.py b/SimPEG/PropMaps.py index c0913cae..995216f7 100644 --- a/SimPEG/PropMaps.py +++ b/SimPEG/PropMaps.py @@ -132,6 +132,9 @@ class PropModel(object): self._nP = len(set(inds)) return self._nP + def __contains__(self, val): + return val in self.propMap + _PROPMAPCLASSREGISTRY = {} diff --git a/SimPEG/Tests/test_PropMaps.py b/SimPEG/Tests/test_PropMaps.py index 93ef4129..b4c0eb8d 100644 --- a/SimPEG/Tests/test_PropMaps.py +++ b/SimPEG/Tests/test_PropMaps.py @@ -41,6 +41,11 @@ class TestPropMaps(unittest.TestCase): assert 'mui' not in PM m = PM(np.r_[1.,2,3]) + + assert 'sigma' in m + assert 'mu' not in m + assert 'mui' not in m + assert m.mu == mu_0 assert m.muModel is None assert m.muMap is None @@ -75,6 +80,10 @@ class TestPropMaps(unittest.TestCase): assert 'mu' in PM assert 'mui' not in PM + 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]) @@ -95,6 +104,10 @@ class TestPropMaps(unittest.TestCase): assert 'mu' in PM assert 'mui' not in PM + 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]) @@ -134,6 +147,12 @@ class TestPropMaps(unittest.TestCase): assert 'mu' not in PM assert 'mui' not in PM + + 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 @@ -157,6 +176,12 @@ class TestPropMaps(unittest.TestCase): assert 'mu' not in PM assert 'mui' not in PM + + 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)])