26 int[] input = { 5, 11, 17 };
27 long[] output = ToInt64Vector(input);
28 Assert.Equal(3, output.Length);
29 Assert.Equal(5, output[0]);
30 Assert.Equal(11, output[1]);
31 Assert.Equal(17, output[2]);
38 Assert.NotNull(solver);
40 Assert.Equal(3, x.
Min());
41 Assert.Equal(7, x.
Max());
42 Assert.Equal(
"x(3..7)", x.
ToString());
44 Assert.Equal(
"x", x.
Name());
46 Assert.Equal(
"renamed", x.
Name());
53 Assert.NotNull(solver);
55 Assert.Equal(
"x(3..7)", x.
ToString());
59 Assert.Equal(
"(x(3..7) == 5)", c0.
ToString());
61 Assert.Equal(
"-(Watch<x == 5>(0 .. 1))", e1.
ToString());
63 Assert.Equal(
"Watch<x == 5>(0 .. 1)", e2.
ToString());
65 Assert.Equal(
"IntSquare(Watch<x == 5>(0 .. 1))", e3.
ToString());
69 Assert.Equal(
"(x(3..7) == 5)", c1.
ToString());
71 Assert.Equal(
"(x(3..7) >= 5)", c2.
ToString());
73 Assert.Equal(
"(x(3..7) >= 6)", c3.
ToString());
75 Assert.Equal(
"(x(3..7) <= 5)", c4.
ToString());
77 Assert.Equal(
"(x(3..7) <= 4)", c5.
ToString());
79 Assert.Equal(
"(x(3..7) != 5)", c6.
ToString());
81 Assert.Equal(
"FalseConstraint()", c7.
ToString());
88 Assert.NotNull(solver);
90 Assert.Equal(3, x.
Min());
91 Assert.Equal(13, x.
Max());
95 Assert.Equal(
"-(Watch<x == 7>(0 .. 1))", e1.
ToString());
97 Assert.Equal(
"Watch<x == 7>(0 .. 1)", e2.
ToString());
99 Assert.Equal(
"IntSquare(Watch<x == 7>(0 .. 1))", e3.
ToString());
106 Assert.NotNull(solver);
108 Assert.Equal(3, x.
Min());
109 Assert.Equal(13, x.
Max());
113 Assert.Equal(
"-(Watch<x >= 7>(0 .. 1))", e1.
ToString());
115 Assert.Equal(
"Watch<x >= 7>(0 .. 1)", e2.
ToString());
116 IntExpr e3 = (x >= 7).Square();
117 Assert.Equal(
"IntSquare(Watch<x >= 7>(0 .. 1))", e3.
ToString());
124 Assert.NotNull(solver);
126 Assert.Equal(3, x.
Min());
127 Assert.Equal(13, x.
Max());
130 Assert.Equal(
"(x(3..13) == 7)", c1.
ToString());
134 Assert.Equal(
"(Watch<x == 7>(0 .. 1) + 1)", e2a.
ToString());
136 Assert.Equal(
"(Watch<x == 7>(0 .. 1) + 1)", e2b.
ToString());
139 Assert.Equal(
"(Watch<x == 7>(0 .. 1) + -1)", e2c.
ToString());
141 Assert.Equal(
"Not(Watch<x == 7>(0 .. 1))", e2d.
ToString());
144 Assert.Equal(
"(Watch<x == 7>(0 .. 1) * 2)", e2e.
ToString());
146 Assert.Equal(
"(Watch<x == 7>(0 .. 1) * 2)", e2f.
ToString());
149 Assert.Equal(
"(Watch<x == 7>(0 .. 1) div 4)", e2g.
ToString());
153 Assert.Equal(
"(Watch<x == 7>(0 .. 1) == 1)", c8a.
ToString());
155 Assert.Equal(
"(Watch<x == 7>(0 .. 1) == 1)", c8b.
ToString());
158 Assert.Equal(
"(Watch<x == 7>(0 .. 1) != 1)", c8c.
ToString());
160 Assert.Equal(
"(Watch<x == 7>(0 .. 1) != 1)", c8d.
ToString());
163 Assert.Equal(
"(Watch<x == 7>(0 .. 1) >= 1)", c8e.
ToString());
165 Assert.Equal(
"TrueConstraint()", c8f.
ToString());
168 Assert.Equal(
"FalseConstraint()", c8g.
ToString());
170 Assert.Equal(
"(Watch<x == 7>(0 .. 1) <= 0)", c8h.
ToString());
173 Assert.Equal(
"TrueConstraint()", c8i.
ToString());
175 Assert.Equal(
"(Watch<x == 7>(0 .. 1) >= 1)", c8j.
ToString());
178 Assert.Equal(
"(Watch<x == 7>(0 .. 1) <= 0)", c8k.
ToString());
180 Assert.Equal(
"FalseConstraint()", c8l.
ToString());
187 Assert.NotNull(solver);
189 Assert.Equal(3, x.
Min());
190 Assert.Equal(13, x.
Max());
193 Assert.Equal(
"(x(3..13) == 7)", c1.
ToString());
196 Assert.Equal(5, y.
Min());
197 Assert.Equal(17, y.
Max());
201 Assert.Equal(
"(Watch<x == 7>(0 .. 1) + y(5..17))", e3a.
ToString());
203 Assert.Equal(
"(Watch<x == 7>(0 .. 1) + y(5..17))", e3b.
ToString());
206 Assert.Equal(
"(Watch<x == 7>(0 .. 1) - y(5..17))", e3c.
ToString());
208 Assert.Equal(
"(y(5..17) - Watch<x == 7>(0 .. 1))", e3d.
ToString());
211 Assert.Equal(
"(Watch<x == 7>(0 .. 1) * y(5..17))", e3e.
ToString());
213 Assert.Equal(
"(Watch<x == 7>(0 .. 1) * y(5..17))", e3f.
ToString());
217 Assert.Equal(
"Watch<x == 7>(0 .. 1) == y(5..17)", c9a.
ToString());
219 Assert.Equal(
"y(5..17) == Watch<x == 7>(0 .. 1)", c9b.
ToString());
222 Assert.Equal(
"Watch<x == 7>(0 .. 1) != y(5..17)", c9c.
ToString());
224 Assert.Equal(
"y(5..17) != Watch<x == 7>(0 .. 1)", c9d.
ToString());
227 Assert.Equal(
"y(5..17) <= Watch<x == 7>(0 .. 1)", c9e.
ToString());
229 Assert.Equal(
"Watch<x == 7>(0 .. 1) <= y(5..17)", c9f.
ToString());
232 Assert.Equal(
"y(5..17) < Watch<x == 7>(0 .. 1)", c9g.
ToString());
234 Assert.Equal(
"Watch<x == 7>(0 .. 1) < y(5..17)", c9h.
ToString());
237 Assert.Equal(
"Watch<x == 7>(0 .. 1) <= y(5..17)", c9i.
ToString());
239 Assert.Equal(
"y(5..17) <= Watch<x == 7>(0 .. 1)", c9j.
ToString());
242 Assert.Equal(
"Watch<x == 7>(0 .. 1) < y(5..17)", c9k.
ToString());
244 Assert.Equal(
"y(5..17) < Watch<x == 7>(0 .. 1)", c9l.
ToString());
251 Assert.NotNull(solver);
253 Assert.Equal(3, x.
Min());
254 Assert.Equal(13, x.
Max());
256 Assert.Equal(
"(x(3..13) == 7)", c1.
ToString());
259 Assert.Equal(5, y.
Min());
260 Assert.Equal(17, y.
Max());
264 Assert.Equal(
"(Watch<x == 7>(0 .. 1) + Watch<y == 11>(0 .. 1))", e11a.
ToString());
266 Assert.Equal(
"(Watch<x == 7>(0 .. 1) + Watch<y == 11>(0 .. 1))", e11b.
ToString());
268 Assert.Equal(
"(Watch<x == 7>(0 .. 1) - Watch<y == 11>(0 .. 1))", e11c.
ToString());
270 Assert.Equal(
"(Watch<y == 11>(0 .. 1) - Watch<x == 7>(0 .. 1))", e11d.
ToString());
272 Assert.Equal(
"(Watch<x == 7>(0 .. 1) * Watch<y == 11>(0 .. 1))", e11e.
ToString());
274 Assert.Equal(
"(Watch<x == 7>(0 .. 1) * Watch<y == 11>(0 .. 1))", e11f.
ToString());
278 Assert.Equal(
"Watch<x == 7>(0 .. 1) == Watch<y == 11>(0 .. 1)", c12a.
ToString());
280 Assert.Equal(
"Watch<y == 11>(0 .. 1) == Watch<x == 7>(0 .. 1)", c12b.
ToString());
282 Assert.Equal(
"Watch<x == 7>(0 .. 1) != Watch<y == 11>(0 .. 1)", c12c.
ToString());
284 Assert.Equal(
"Watch<y == 11>(0 .. 1) != Watch<x == 7>(0 .. 1)", c12d.
ToString());
286 Assert.Equal(
"Watch<y == 11>(0 .. 1) <= Watch<x == 7>(0 .. 1)", c12e.
ToString());
288 Assert.Equal(
"Watch<x == 7>(0 .. 1) <= Watch<y == 11>(0 .. 1)", c12f.
ToString());
290 Assert.Equal(
"Watch<y == 11>(0 .. 1) < Watch<x == 7>(0 .. 1)", c12g.
ToString());
292 Assert.Equal(
"Watch<x == 7>(0 .. 1) < Watch<y == 11>(0 .. 1)", c12h.
ToString());
294 Assert.Equal(
"Watch<x == 7>(0 .. 1) <= Watch<y == 11>(0 .. 1)", c12i.
ToString());
296 Assert.Equal(
"Watch<y == 11>(0 .. 1) <= Watch<x == 7>(0 .. 1)", c12j.
ToString());
298 Assert.Equal(
"Watch<x == 7>(0 .. 1) < Watch<y == 11>(0 .. 1)", c12k.
ToString());
300 Assert.Equal(
"Watch<y == 11>(0 .. 1) < Watch<x == 7>(0 .. 1)", c12l.
ToString());
307 Assert.NotNull(solver);
309 Assert.Equal(3, x.
Min());
310 Assert.Equal(13, x.
Max());
312 Assert.Equal(
"(x(3..13) == 7)", c1.
ToString());
315 Assert.Equal(5, y.
Min());
316 Assert.Equal(17, y.
Max());
318 Assert.Equal(
"(y(5..17) == 11)", c2.
ToString());
322 Assert.Equal(
"Watch<x == 7>(0 .. 1) == Watch<y == 11>(0 .. 1)", c10a.
ToString());
325 Assert.Equal(
"Watch<x == 7>(0 .. 1) != Watch<y == 11>(0 .. 1)", c10b.
ToString());
328 Assert.Equal(
"Watch<x == 7>(0 .. 1) <= Watch<y == 11>(0 .. 1)", c10c.
ToString());
330 Assert.Equal(
"Watch<y == 11>(0 .. 1) <= Watch<x == 7>(0 .. 1)", c10d.
ToString());
333 Assert.Equal(
"Watch<y == 11>(0 .. 1) < Watch<x == 7>(0 .. 1)", c10e.
ToString());
335 Assert.Equal(
"Watch<x == 7>(0 .. 1) < Watch<y == 11>(0 .. 1)", c10f.
ToString());
342 Assert.NotNull(solver);
344 Assert.Equal(3, x.
Min());
345 Assert.Equal(13, x.
Max());
349 Assert.Equal(
"(Watch<x == 7>(0 .. 1) + 1)", e2a.
ToString());
351 Assert.Equal(
"(Watch<x == 7>(0 .. 1) + 1)", e2b.
ToString());
354 Assert.Equal(
"(Watch<x == 7>(0 .. 1) + -1)", e2c.
ToString());
356 Assert.Equal(
"Not(Watch<x == 7>(0 .. 1))", e2d.
ToString());
359 Assert.Equal(
"(Watch<x == 7>(0 .. 1) * 2)", e2e.
ToString());
361 Assert.Equal(
"(Watch<x == 7>(0 .. 1) * 2)", e2f.
ToString());
364 Assert.Equal(
"(Watch<x == 7>(0 .. 1) div 4)", e2g.
ToString());
368 Assert.Equal(
"(Watch<x == 7>(0 .. 1) == 1)", c8a.
ToString());
370 Assert.Equal(
"(Watch<x == 7>(0 .. 1) == 1)", c8b.
ToString());
373 Assert.Equal(
"(Watch<x == 7>(0 .. 1) != 1)", c8c.
ToString());
375 Assert.Equal(
"(Watch<x == 7>(0 .. 1) != 1)", c8d.
ToString());
378 Assert.Equal(
"(Watch<x == 7>(0 .. 1) >= 1)", c8e.
ToString());
380 Assert.Equal(
"TrueConstraint()", c8f.
ToString());
383 Assert.Equal(
"FalseConstraint()", c8g.
ToString());
385 Assert.Equal(
"(Watch<x == 7>(0 .. 1) <= 0)", c8h.
ToString());
388 Assert.Equal(
"TrueConstraint()", c8i.
ToString());
390 Assert.Equal(
"(Watch<x == 7>(0 .. 1) >= 1)", c8j.
ToString());
393 Assert.Equal(
"(Watch<x == 7>(0 .. 1) <= 0)", c8k.
ToString());
395 Assert.Equal(
"FalseConstraint()", c8l.
ToString());
402 Assert.NotNull(solver);
404 Assert.Equal(3, x.
Min());
405 Assert.Equal(13, x.
Max());
408 Assert.Equal(5, y.
Min());
409 Assert.Equal(17, y.
Max());
413 Assert.Equal(
"(Watch<x == 7>(0 .. 1) + y(5..17))", e3a.
ToString());
415 Assert.Equal(
"(Watch<x == 7>(0 .. 1) + y(5..17))", e3b.
ToString());
418 Assert.Equal(
"(Watch<x == 7>(0 .. 1) - y(5..17))", e3c.
ToString());
420 Assert.Equal(
"(y(5..17) - Watch<x == 7>(0 .. 1))", e3d.
ToString());
423 Assert.Equal(
"(Watch<x == 7>(0 .. 1) * y(5..17))", e3e.
ToString());
425 Assert.Equal(
"(Watch<x == 7>(0 .. 1) * y(5..17))", e3f.
ToString());
429 Assert.Equal(
"Watch<x == 7>(0 .. 1) == y(5..17)", c9a.
ToString());
431 Assert.Equal(
"y(5..17) == Watch<x == 7>(0 .. 1)", c9b.
ToString());
434 Assert.Equal(
"Watch<x == 7>(0 .. 1) != y(5..17)", c9c.
ToString());
436 Assert.Equal(
"y(5..17) != Watch<x == 7>(0 .. 1)", c9d.
ToString());
439 Assert.Equal(
"y(5..17) <= Watch<x == 7>(0 .. 1)", c9e.
ToString());
441 Assert.Equal(
"Watch<x == 7>(0 .. 1) <= y(5..17)", c9f.
ToString());
444 Assert.Equal(
"y(5..17) < Watch<x == 7>(0 .. 1)", c9g.
ToString());
446 Assert.Equal(
"Watch<x == 7>(0 .. 1) < y(5..17)", c9h.
ToString());
449 Assert.Equal(
"Watch<x == 7>(0 .. 1) <= y(5..17)", c9i.
ToString());
451 Assert.Equal(
"y(5..17) <= Watch<x == 7>(0 .. 1)", c9j.
ToString());
454 Assert.Equal(
"Watch<x == 7>(0 .. 1) < y(5..17)", c9k.
ToString());
456 Assert.Equal(
"y(5..17) < Watch<x == 7>(0 .. 1)", c9l.
ToString());
463 Assert.NotNull(solver);
465 Assert.Equal(3, x.
Min());
466 Assert.Equal(13, x.
Max());
469 Assert.Equal(5, y.
Min());
470 Assert.Equal(17, y.
Max());
474 Assert.Equal(
"Watch<x == 7>(0 .. 1) == Watch<y == 11>(0 .. 1)", c10a.
ToString());
477 Assert.Equal(
"Watch<x == 7>(0 .. 1) != Watch<y == 11>(0 .. 1)", c10b.
ToString());
480 Assert.Equal(
"Watch<x == 7>(0 .. 1) <= Watch<y == 11>(0 .. 1)", c10c.
ToString());
482 Assert.Equal(
"Watch<y == 11>(0 .. 1) <= Watch<x == 7>(0 .. 1)", c10d.
ToString());
485 Assert.Equal(
"Watch<y == 11>(0 .. 1) < Watch<x == 7>(0 .. 1)", c10e.
ToString());
487 Assert.Equal(
"Watch<x == 7>(0 .. 1) < Watch<y == 11>(0 .. 1)", c10f.
ToString());
494 Assert.NotNull(solver);
496 Assert.Equal(3, x.
Min());
497 Assert.Equal(13, x.
Max());
501 Assert.Equal(
"(Watch<x >= 7>(0 .. 1) + 1)", e2a.
ToString());
503 Assert.Equal(
"(Watch<x >= 7>(0 .. 1) + 1)", e2b.
ToString());
506 Assert.Equal(
"(Watch<x >= 7>(0 .. 1) + -1)", e2c.
ToString());
508 Assert.Equal(
"Not(Watch<x >= 7>(0 .. 1))", e2d.
ToString());
511 Assert.Equal(
"(Watch<x >= 7>(0 .. 1) * 2)", e2e.
ToString());
513 Assert.Equal(
"(Watch<x >= 7>(0 .. 1) * 2)", e2f.
ToString());
517 Assert.Equal(
"(Watch<x >= 7>(0 .. 1) == 1)", c8a.
ToString());
519 Assert.Equal(
"(Watch<x >= 7>(0 .. 1) == 1)", c8b.
ToString());
522 Assert.Equal(
"(Watch<x >= 7>(0 .. 1) != 1)", c8c.
ToString());
524 Assert.Equal(
"(Watch<x >= 7>(0 .. 1) != 1)", c8d.
ToString());
527 Assert.Equal(
"(Watch<x >= 7>(0 .. 1) >= 1)", c8e.
ToString());
529 Assert.Equal(
"TrueConstraint()", c8f.
ToString());
532 Assert.Equal(
"FalseConstraint()", c8g.
ToString());
534 Assert.Equal(
"(Watch<x >= 7>(0 .. 1) <= 0)", c8h.
ToString());
537 Assert.Equal(
"TrueConstraint()", c8i.
ToString());
539 Assert.Equal(
"(Watch<x >= 7>(0 .. 1) >= 1)", c8j.
ToString());
542 Assert.Equal(
"(Watch<x >= 7>(0 .. 1) <= 0)", c8k.
ToString());
544 Assert.Equal(
"FalseConstraint()", c8l.
ToString());
551 Assert.NotNull(solver);
553 Assert.Equal(3, x.
Min());
554 Assert.Equal(13, x.
Max());
557 Assert.Equal(5, y.
Min());
558 Assert.Equal(17, y.
Max());
562 Assert.Equal(
"(Watch<x >= 7>(0 .. 1) + y(5..17))", e3a.
ToString());
564 Assert.Equal(
"(Watch<x >= 7>(0 .. 1) + y(5..17))", e3b.
ToString());
567 Assert.Equal(
"(Watch<x >= 7>(0 .. 1) - y(5..17))", e3c.
ToString());
569 Assert.Equal(
"(y(5..17) - Watch<x >= 7>(0 .. 1))", e3d.
ToString());
572 Assert.Equal(
"(Watch<x >= 7>(0 .. 1) * y(5..17))", e3e.
ToString());
574 Assert.Equal(
"(Watch<x >= 7>(0 .. 1) * y(5..17))", e3f.
ToString());
578 Assert.Equal(
"Watch<x >= 7>(0 .. 1) == y(5..17)", c9a.
ToString());
580 Assert.Equal(
"y(5..17) == Watch<x >= 7>(0 .. 1)", c9b.
ToString());
583 Assert.Equal(
"Watch<x >= 7>(0 .. 1) != y(5..17)", c9c.
ToString());
585 Assert.Equal(
"y(5..17) != Watch<x >= 7>(0 .. 1)", c9d.
ToString());
588 Assert.Equal(
"y(5..17) <= Watch<x >= 7>(0 .. 1)", c9e.
ToString());
590 Assert.Equal(
"Watch<x >= 7>(0 .. 1) <= y(5..17)", c9f.
ToString());
593 Assert.Equal(
"y(5..17) < Watch<x >= 7>(0 .. 1)", c9g.
ToString());
595 Assert.Equal(
"Watch<x >= 7>(0 .. 1) < y(5..17)", c9h.
ToString());
598 Assert.Equal(
"Watch<x >= 7>(0 .. 1) <= y(5..17)", c9i.
ToString());
600 Assert.Equal(
"y(5..17) <= Watch<x >= 7>(0 .. 1)", c9j.
ToString());
603 Assert.Equal(
"Watch<x >= 7>(0 .. 1) < y(5..17)", c9k.
ToString());
605 Assert.Equal(
"y(5..17) < Watch<x >= 7>(0 .. 1)", c9l.
ToString());
612 Assert.NotNull(solver);
614 Assert.Equal(3, x.
Min());
615 Assert.Equal(13, x.
Max());
618 Assert.Equal(5, y.
Min());
619 Assert.Equal(17, y.
Max());
623 Assert.Equal(
"Watch<x >= 7>(0 .. 1) == Watch<y >= 11>(0 .. 1)", c10a.
ToString());
626 Assert.Equal(
"Watch<x >= 7>(0 .. 1) != Watch<y >= 11>(0 .. 1)", c10b.
ToString());
629 Assert.Equal(
"Watch<x >= 7>(0 .. 1) <= Watch<y >= 11>(0 .. 1)", c10c.
ToString());
631 Assert.Equal(
"Watch<y >= 11>(0 .. 1) <= Watch<x >= 7>(0 .. 1)", c10d.
ToString());
634 Assert.Equal(
"Watch<y >= 11>(0 .. 1) < Watch<x >= 7>(0 .. 1)", c10e.
ToString());
636 Assert.Equal(
"Watch<x >= 7>(0 .. 1) < Watch<y >= 11>(0 .. 1)", c10f.
ToString());
643 Assert.NotNull(solver);
647 Assert.Equal(
"(x(2..17) + 5)", y.
ToString());
654 Assert.NotNull(solver);
662 Assert.Equal(3, seq.Length);
663 Assert.Equal(1, seq[0]);
664 Assert.Equal(3, seq[1]);
665 Assert.Equal(5, seq[2]);
672 public SetMaxDemon(
IntVar x)
676 public override void Run(
Solver s)
687 Assert.NotNull(solver);
689 NetDemon demon =
new SetMaxDemon(x);
690 Assert.Equal(11, x.
Max());
692 Assert.Equal(10, x.
Max());
703 public override void Post()
707 demon_ =
new SetMaxDemon(x_);
710 public override void InitialPropagate()
715 private Demon demon_;
722 Assert.NotNull(solver);
724 Constraint ct =
new SetMinAndMaxConstraint(solver, x);
728 Assert.Equal(-1, x.
Min());
729 Assert.Equal(11, x.
Max());
732 Assert.Equal(6, x.
Min());
733 Assert.Equal(6, x.
Max());
736 Assert.Equal(10, x.
Min());
737 Assert.Equal(10, x.
Max());
752 public override void Post()
757 public override void InitialPropagate()
768 private Demon demon_;
775 Assert.NotNull(solver);
777 Constraint ct =
new DumbGreaterOrEqualToFive(solver, x);
782 Assert.Equal(6, x.
Min());
790 Assert.NotNull(solver);
793 foreach (
long value
in x.GetDomain())
797 Assert.Equal(count, x.Size());
802 public CountHoles(
IntVar x)
807 public override void Run(
Solver s)
809 foreach (
long removed
in x_.
GetHoles())
828 public override void Post()
830 demon_ =
new CountHoles(x_);
833 public override void InitialPropagate()
839 return demon_.count();
842 private CountHoles demon_;
849 Assert.NotNull(solver);
851 RemoveThreeValues ct =
new RemoveThreeValues(solver, x);
855 Assert.Equal(3, ct.count());
861 searchlog.EnterSearch();
862 searchlog.ExitSearch();
863 searchlog.AcceptSolution();
864 searchlog.AtSolution();
865 searchlog.BeginFail();
866 searchlog.NoMoreSolutions();
867 searchlog.BeginInitialPropagation();
868 searchlog.EndInitialPropagation();
875 Assert.NotNull(solver);
879 RunSearchLog(in searchlog);
880 GC.KeepAlive(solver);
889 Assert.NotNull(solver);
897 return "display callback...";
902 GC.WaitForPendingFinalizers();
904 RunSearchLog(in searchlog);
905 GC.KeepAlive(solver);
906 Assert.Equal(1, count);
915 Assert.NotNull(solver);
924 return "OptimizeVar display callback";
929 GC.WaitForPendingFinalizers();
931 RunSearchLog(in searchlog);
932 GC.KeepAlive(solver);
933 Assert.Equal(1, count);
942 Assert.NotNull(solver);
951 return "IntVar display callback";
956 GC.WaitForPendingFinalizers();
958 RunSearchLog(in searchlog);
959 GC.KeepAlive(solver);
960 Assert.Equal(1, count);