Skip to content

Commit

Permalink
ENH: Add del UserSpace.parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
fumitoh committed Jul 15, 2024
1 parent 0e5c7ce commit a176d84
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 0 deletions.
4 changes: 4 additions & 0 deletions modelx/core/space.py
Original file line number Diff line number Diff line change
Expand Up @@ -1146,6 +1146,10 @@ def parameters(self, parameters):
src = "lambda " + ", ".join(parameters) + ": None"
self._impl.set_formula(src)

@parameters.deleter
def parameters(self):
self._impl.del_formula()

def del_formula(self):
"""Delete formula"""
self._impl.del_formula()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ def testmodel():
def test_formula_setter(testmodel):

s = testmodel.new_space()
assert s.formula is None
s.formula = param

assert 'x' in s.parameters
Expand Down
42 changes: 42 additions & 0 deletions modelx/tests/core/space/test_parameters.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import pytest
import modelx as mx



@pytest.fixture
def sample_no_params():
m = mx.new_model()
m.new_space("Sample")
yield m
m._impl._check_sanity()
m.close()


@pytest.fixture
def sample_with_params(sample_no_params):

s = sample_no_params.Sample
assert s.parameters is None
s.parameters = ('x', 'y', 'Z')
return sample_no_params


def test_parameters_setter(sample_no_params):

s = sample_no_params.Sample
assert s.parameters is None
s.parameters = ('x', 'y', 'Z')
assert s.parameters == ('x', 'y', 'Z')


def test_parameters_deleter(sample_with_params):

s = sample_with_params.Sample
assert s.parameters == ('x', 'y', 'Z')
del s.parameters
assert s.parameters is None





0 comments on commit a176d84

Please sign in to comment.