Cleaned up some of the docs and added the new functions int_var_domain, set_int_var_domain, add_leq, and require now that all variables be given names

This commit is contained in:
hamilcarBarca17
2023-03-10 13:43:38 -07:00
parent 20bc0eeefc
commit 1fe1ba87a8
6 changed files with 234 additions and 220 deletions
+15 -15
View File
@@ -3,23 +3,23 @@ use cp_sat::proto::CpSolverStatus;
#[test]
fn not_infeasible() {
let mut model = CpModelBuilder::default();
let x = model.new_bool_var();
model.add_and([x, !x]);
let response = model.solve();
assert_eq!(response.status(), CpSolverStatus::Infeasible);
let mut model = CpModelBuilder::default();
let x = model.new_bool_var("x");
model.add_and([x, !x]);
let response = model.solve();
assert_eq!(response.status(), CpSolverStatus::Infeasible);
}
#[test]
fn not_feasible() {
let mut model = CpModelBuilder::default();
let x = model.new_bool_var();
let y = model.new_bool_var();
model.add_and([x, !y]);
let response = model.solve();
assert_eq!(response.status(), CpSolverStatus::Optimal);
assert!(x.solution_value(&response));
assert!(!(!x).solution_value(&response));
assert!(!y.solution_value(&response));
assert!((!y).solution_value(&response));
let mut model = CpModelBuilder::default();
let x = model.new_bool_var("x");
let y = model.new_bool_var("y");
model.add_and([x, !y]);
let response = model.solve();
assert_eq!(response.status(), CpSolverStatus::Optimal);
assert!(x.solution_value(&response));
assert!(!(!x).solution_value(&response));
assert!(!y.solution_value(&response));
assert!((!y).solution_value(&response));
}