39 bool check(
const std::string& output) {
40 const std::string separator =
"----------\n";
42 for (std::string::size_type p = 0;
43 (p = output.find(separator,p)) != std::string::npos;
44 p += separator.size())
46 return (solutions == 3) &&
47 (output.find(
"==========\n") != std::string::npos);
55 (void)
new FlatZincTest(
"Issue168",
56"predicate fzn_sort(array [int] of var int: x, array [int] of var int: y);\n\
57var 2..4: D :: output_var;\n\
58var {2,4}: E :: output_var;\n\
59var {1,4}: F :: output_var;\n\
60var 3..4: G :: output_var;\n\
61var {2,4}: H :: output_var;\n\
62var 3..4: J :: output_var;\n\
63var {1,4}: K :: output_var;\n\
64constraint fzn_sort([F,K,G,D],[F,E,H,J]);\n\
65solve :: int_search([1,D,F,K,F,E,G,H,J],input_order,indomain,complete) satisfy;\n",
66 "",
true, {
"-a"},
check);
void check(const FloatVal &n, const char *l)
Check whether float n is a valid number, otherwise throw out of limits exception with information l.
int solutions(TestSpace *c, Gecode::Search::Options &o, Gecode::Support::RandomGenerator &rand, int maxNbSol=-1)
Find number of solutions.