Skip to content

Commit 74a24b3

Browse files
committed
add feasibility tests
1 parent d9e5a0d commit 74a24b3

File tree

2 files changed

+46
-16
lines changed

2 files changed

+46
-16
lines changed

test/feasibility.jl

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,8 @@ function test_analyse_mip()
250250

251251
@test length(list) == 0
252252

253-
ModelAnalyzer.summarize(data)
253+
buf = IOBuffer()
254+
ModelAnalyzer.summarize(buf, data)
254255

255256
buf = IOBuffer()
256257
Base.show(buf, data)
@@ -340,9 +341,11 @@ function test_analyse_no_opt()
340341
ret = ModelAnalyzer.list_of_issues(data, list[4])
341342
@test ret[1] == ModelAnalyzer.Feasibility.PrimalDualMismatch(-1.0, 0.0)
342343

343-
ModelAnalyzer.summarize(data)
344+
buf = IOBuffer()
345+
346+
ModelAnalyzer.summarize(buf, data)
344347

345-
ModelAnalyzer.summarize(data, verbose = false)
348+
ModelAnalyzer.summarize(buf, data, verbose = false)
346349

347350
return
348351
end

test/numerical.jl

Lines changed: 40 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,33 @@ function test_linear()
2525
@variable(model, x <= 2e9)
2626
@variable(model, y >= 3e-9)
2727
@variable(model, z == 4e-9)
28+
@variable(model, w[1:1] in MOI.Nonnegatives(1))
29+
@variable(model, u[1:1])
2830
@constraint(model, x + y <= 4e8)
2931
@constraint(model, x + y + 5e7 <= 2)
3032
@constraint(model, 7e6 * x + 6e-15 * y + 2e-12 >= 0)
3133
@constraint(model, x <= 100)
32-
@constraint(model, 0 * x <= 100)
34+
@constraint(model, x <= 1e-17)
35+
@constraint(model, x >= 1e+18)
36+
@constraint(model, x == 1e+19)
37+
@constraint(model, x == 1e-20)
38+
@constraint(model, 1e-21 <= x <= 1e-22)
39+
@constraint(model, 1e+23 <= x <= 1e+24)
40+
@constraint(model, [1.0 * x] in MOI.Nonnegatives(1))
41+
@constraint(model, [1.0 * x * x] in MOI.Nonnegatives(1))
42+
@constraint(model, [u] in MOI.Nonnegatives(1))
43+
3344
@objective(model, Max, 1e8 * x + 8e-11 * y)
3445

3546
data = ModelAnalyzer.analyze(ModelAnalyzer.Numerical.Analyzer(), model)
3647

37-
ret = sprint(show, data)
38-
print(ret)
48+
buf = IOBuffer()
49+
Base.show(buf, data)
50+
str = String(take!(buf))
3951

40-
ModelAnalyzer.summarize(data)
52+
buf = IOBuffer()
53+
ModelAnalyzer.summarize(buf, data)
54+
ModelAnalyzer.summarize(buf, data, verbose = false)
4155

4256
return
4357
end
@@ -59,10 +73,13 @@ function test_nonconvex_qp()
5973

6074
data = ModelAnalyzer.analyze(ModelAnalyzer.Numerical.Analyzer(), model)
6175

62-
ret = sprint(show, data)
63-
print(ret)
76+
buf = IOBuffer()
77+
Base.show(buf, data)
78+
str = String(take!(buf))
6479

65-
ModelAnalyzer.summarize(data)
80+
buf = IOBuffer()
81+
ModelAnalyzer.summarize(buf, data)
82+
ModelAnalyzer.summarize(buf, data, verbose = false)
6683

6784
return
6885
end
@@ -74,10 +91,15 @@ function test_dense()
7491

7592
data = ModelAnalyzer.analyze(ModelAnalyzer.Numerical.Analyzer(), model)
7693

77-
ret = sprint(show, data)
78-
print(ret)
94+
buf = IOBuffer()
95+
Base.show(buf, data)
96+
str = String(take!(buf))
97+
98+
buf = IOBuffer()
99+
ModelAnalyzer.summarize(buf, data)
100+
ModelAnalyzer.summarize(buf, data, verbose = false)
79101

80-
return ModelAnalyzer.summarize(data)
102+
return
81103
end
82104

83105
function test_qp_range()
@@ -89,10 +111,15 @@ function test_qp_range()
89111

90112
data = ModelAnalyzer.analyze(ModelAnalyzer.Numerical.Analyzer(), model)
91113

92-
ret = sprint(show, data)
93-
print(ret)
114+
buf = IOBuffer()
115+
Base.show(buf, data)
116+
str = String(take!(buf))
94117

95-
return ModelAnalyzer.summarize(data)
118+
buf = IOBuffer()
119+
ModelAnalyzer.summarize(buf, data)
120+
ModelAnalyzer.summarize(buf, data, verbose = false)
121+
122+
return
96123
end
97124

98125
end # module

0 commit comments

Comments
 (0)