TEST(xor_interface, unit2) { SATSolver s; s.new_vars(3); s.add_clause(vector<Lit>{Lit(0, false)}); lbool ret = s.solve(); EXPECT_EQ( ret, l_True); vector<Lit> units = s.get_zero_assigned_lits(); EXPECT_EQ( units.size(), 1u); EXPECT_EQ( units[0], Lit(0, false)); s.add_clause(vector<Lit>{Lit(1, true)}); ret = s.solve(); EXPECT_EQ( ret, l_True); units = s.get_zero_assigned_lits(); EXPECT_EQ( units.size(), 2u); EXPECT_EQ( units[0], Lit(0, false)); EXPECT_EQ( units[1], Lit(1, true)); }
TEST(xor_interface, unit) { SATSolver s; s.new_vars(3); s.add_clause(str_to_cl("1")); lbool ret = s.solve(); EXPECT_EQ( ret, l_True); vector<Lit> units = s.get_zero_assigned_lits(); EXPECT_EQ( units.size(), 1u); EXPECT_EQ( units[0], Lit(0, false)); }