Skip to content

Commit 49a73ac

Browse files
committed
Add test for ==1 || >1 and ==1 || <1
1 parent 4101ecd commit 49a73ac

1 file changed

Lines changed: 26 additions & 6 deletions

File tree

  • cabal-install/tests/UnitTests/Distribution/Solver/Modular

cabal-install/tests/UnitTests/Distribution/Solver/Modular/Solver.hs

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -258,15 +258,21 @@ tests =
258258
eq1 = C.thisVersion $ mkSimpleVersion 1
259259
eq2 = C.thisVersion $ mkSimpleVersion 2
260260

261-
-- >0
261+
-- >0, >1
262262
gt0 = C.laterVersion $ C.mkVersion [0]
263+
gt1 = C.laterVersion $ C.mkVersion [1]
263264

264-
-- <2
265+
-- <1, <2
266+
lt1 = C.earlierVersion $ C.mkVersion [2]
265267
lt2 = C.earlierVersion $ C.mkVersion [2]
266268

267269
-- >=1
268270
ge1 = C.orLaterVersion $ C.mkVersion [1]
269271

272+
-- ==1 || >1, ==1 || <1
273+
eqOrGt1 = C.unionVersionRanges eq1 gt1
274+
eqOrLt1 = C.unionVersionRanges eq1 lt1
275+
270276
-- \^>=1
271277
ce1 = C.majorBoundVersion $ mkSimpleVersion 1
272278

@@ -278,13 +284,13 @@ tests =
278284
eqGt = C.intersectVersionRanges eq1 gt0
279285

280286
-- ==1 || >0
281-
eqOrGt = C.unionVersionRanges eq1 gt0
287+
eq1OrGt0 = C.unionVersionRanges eq1 gt0
282288

283289
-- >0 && ==1
284290
gtEq = C.intersectVersionRanges gt0 eq1
285291

286292
-- >0 || ==1
287-
gtOrEq = C.unionVersionRanges gt0 eq1
293+
gt0OrEq1 = C.unionVersionRanges gt0 eq1
288294

289295
-- ==1 || ==2
290296
eqOrEq = C.unionVersionRanges eq1 eq2
@@ -317,8 +323,8 @@ tests =
317323

318324
-- B ==1 || >0, C >0 || ==1
319325
eqOrGtConstraints =
320-
[ mkConstraint "B" eqOrGt
321-
, mkConstraint "C" gtOrEq
326+
[ mkConstraint "B" eq1OrGt0
327+
, mkConstraint "C" gt0OrEq1
322328
]
323329

324330
-- B >=1, C <=1
@@ -333,6 +339,12 @@ tests =
333339
, mkConstraint "C" ce1
334340
]
335341

342+
-- B ==1 || >1, C ==1 || <1
343+
eqOrGt1Constraints =
344+
[ mkConstraint "B" eqOrGt1
345+
, mkConstraint "C" eqOrLt1
346+
]
347+
336348
-- B ==1 || ==2, C ==1 || ==2
337349
eqOrEqConstraints =
338350
[ mkConstraint "B" eqOrEq
@@ -389,6 +401,10 @@ tests =
389401
(mkTest db17 "goal A with B <=1 && >=1, C <=1 && >=1" ["A"] solveABC)
390402
{ testConstraints = legeConstraints
391403
}
404+
, runTest . whenAll $
405+
(mkTest db17 "goal A with B ==1 || >1, C ==1 || <1" ["A"] solveABC)
406+
{ testConstraints = eqOrGt1Constraints
407+
}
392408
, runTest . whenAll $
393409
(mkTest db17 "goal A with B ==1 || ==2, C ==1 || ==2" ["A"] solveABC)
394410
{ testConstraints = eqOrEqConstraints
@@ -475,6 +491,10 @@ tests =
475491
(mkTest db17 "goal A with B ^>=1, C ^>=1" ["A"] eqFailure)
476492
{ testConstraints = celeConstraints
477493
}
494+
, runTest . whenEq $
495+
(mkTest db17 "goal A with B ==1 || >1, C ==1 || <1" ["A"] eqFailure)
496+
{ testConstraints = eqOrGt1Constraints
497+
}
478498
, runTest . whenEq $
479499
(mkTest db17 "goal A with B ==1 || ==2, C ==1 || ==2" ["A"] eqFailure)
480500
{ testConstraints = eqOrEqConstraints

0 commit comments

Comments
 (0)