Skip to content

Commit c749183

Browse files
committed
TST: raise an error while get not 1D array
1 parent 09e3a0f commit c749183

1 file changed

Lines changed: 16 additions & 19 deletions

File tree

tests/test_cons.py

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -182,36 +182,33 @@ def test_cons_indicator():
182182
def test_cons_indicator_with_matrix_binvar():
183183
# test matrix variable binvar #1043
184184
m = Model()
185+
x = m.addVar(vtype="B")
185186

187+
# test binvar with int
186188
with pytest.raises(TypeError):
187-
m.addConsIndicator(m.addVar(vtype="B") <= 1, 1)
189+
m.addConsIndicator(x <= 0, 1)
188190

189191
# test binvar with (1, 1, 1) shape of matrix variable
190-
x = m.addVar(vtype="B")
191-
binvar1 = m.addMatrixVar(((1, 1, 1)), vtype="B")
192-
m.addConsIndicator(x >= 1, binvar1, activeone=True)
193-
m.addConsIndicator(x <= 0, binvar1, activeone=False)
192+
with pytest.raises(ValueError):
193+
m.addConsIndicator(x <= 0, m.addMatrixVar(((1, 1, 1)), vtype="B"))
194194

195195
# test binvar with (2, 3) shape of matrix variable
196-
y = m.addVar(vtype="B")
197-
binvar2 = m.addMatrixVar(((2, 3)), vtype="B")
198-
m.addConsIndicator(y >= 1, binvar2, activeone=True)
199-
m.addConsIndicator(y <= 0, binvar2, activeone=False)
196+
with pytest.raises(TypeError):
197+
m.addConsIndicator(x <= 0, m.addMatrixVar(((2, 3)), vtype="B"))
200198

201199
# test binvar with (2, 1) shape of list of lists
202-
z = m.addVar(vtype="B")
203-
binvar3 = [[m.addVar(vtype="B")], [m.addVar(vtype="B")]]
204-
m.addConsIndicator(z >= 1, binvar3, activeone=True)
205-
m.addConsIndicator(z <= 0, binvar3, activeone=False)
206-
207-
m.setObjective(
208-
binvar1.sum() + binvar2.sum() + binvar3[0][0] + binvar3[1][0], "maximize"
209-
)
200+
with pytest.raises(TypeError):
201+
m.addConsIndicator(x <= 0, [[m.addVar(vtype="B")], [m.addVar(vtype="B")]])
202+
203+
# test binvar with requiring type and dimension
204+
binvar = m.addMatrixVar(1, vtype="B")
205+
m.addConsIndicator(x >= 1, binvar, activeone=True)
206+
m.addConsIndicator(x <= 0, binvar, activeone=False)
207+
208+
m.setObjective(binvar.sum(), "maximize")
210209
m.optimize()
211210

212211
assert m.getVal(x) == 1
213-
assert m.getVal(y) == 1
214-
assert m.getVal(z) == 1
215212

216213
@pytest.mark.xfail(
217214
reason="addConsIndicator doesn't behave as expected when binary variable is False. See Issue #717."

0 commit comments

Comments
 (0)