use of org.kie.server.services.taskassigning.core.model.TaskAssigningSolution in project droolsjbpm-integration by kiegroup.
the class SolutionChangesBuilderTest method addRemoveUserWhenHasNoTasksChange.
@Test
public void addRemoveUserWhenHasNoTasksChange() {
List<User> userList = mockUserList(mockUser(USER1_ID));
userList.get(0).setEnabled(false);
TaskAssigningSolution solution = mockSolution(Collections.emptyList(), userList);
List<ProblemFactChange<TaskAssigningSolution>> result = SolutionChangesBuilder.create().withSolution(solution).withTasks(Collections.emptyList()).withUserSystem(userSystemService).withContext(context).build();
RemoveUserProblemFactChange expected = new RemoveUserProblemFactChange(userList.get(0));
assertChangeIsTheChangeSetId(result, 0);
assertChange(result, 1, expected);
}
use of org.kie.server.services.taskassigning.core.model.TaskAssigningSolution in project droolsjbpm-integration by kiegroup.
the class AddTaskProblemFactChangeTest method addTaskProblemFactChange.
private void addTaskProblemFactChange(TaskAssigningSolution solution, List<Long> taskIds) throws Exception {
solution.getUserList().add(PLANNING_USER);
List<ProgrammedProblemFactChange<AddTaskProblemFactChange>> programmedChanges = taskIds.stream().map(id -> new ProgrammedProblemFactChange<>(new AddTaskProblemFactChange(new Task(id, "NewTask_" + id, 1)))).collect(Collectors.toList());
// each partial solution must have the change that was applied on it.
executeSequentialChanges(solution, programmedChanges);
programmedChanges.forEach(change -> assertAddTaskProblemFactChangeWasProduced(change.getChange(), change.getSolutionAfterChange()));
// finally the last solution must have the result of all the changes.
TaskAssigningSolution lastSolution = programmedChanges.get(programmedChanges.size() - 1).getSolutionAfterChange();
programmedChanges.forEach(change -> assertAddTaskProblemFactChangeWasProduced(change.getChange(), lastSolution));
}
use of org.kie.server.services.taskassigning.core.model.TaskAssigningSolution in project droolsjbpm-integration by kiegroup.
the class AddTaskProblemFactChangeTest method addTaskProblemFactChangeRandomSet.
private void addTaskProblemFactChangeRandomSet(String solutionResource) throws Exception {
TaskAssigningSolution solution = readTaskAssigningSolution(solutionResource);
int taskCount = solution.getTaskList().size();
int randomChanges = taskCount / 2 + random.nextInt(taskCount / 2);
List<Long> taskIds = new ArrayList<>();
for (int i = 0; i < randomChanges; i++) {
taskIds.add((long) taskCount++);
}
addTaskProblemFactChange(solution, taskIds);
}
use of org.kie.server.services.taskassigning.core.model.TaskAssigningSolution in project droolsjbpm-integration by kiegroup.
the class AssignTaskProblemFactChangeTest method assignTaskProblemFactChange.
private void assignTaskProblemFactChange(TaskAssigningSolution solution, String solutionResource, String testType, List<ProgrammedAssignTaskProblemFactChange> programmedChanges) throws Exception {
TaskAssigningSolution initialSolution = executeSequentialChanges(solution, programmedChanges);
if (writeTestFiles()) {
writeProblemFactChangesTestFiles(initialSolution, solutionResource, "AssignTaskProblemFactChangeTest.assignTaskProblemFactChangeTest", testType, programmedChanges, ProgrammedAssignTaskProblemFactChange::workingSolutionBeforeChangeAsString, ProgrammedAssignTaskProblemFactChange::solutionAfterChangeAsString);
}
// each partial solution must have the change that was applied on it.
for (ProgrammedAssignTaskProblemFactChange change : programmedChanges) {
assertAssignTaskProblemFactChangeWasProduced(change.getChange(), change.getSolutionAfterChange());
}
// finally the last solution must have the result of all the changes.
TaskAssigningSolution lastSolution = programmedChanges.get(programmedChanges.size() - 1).getSolutionAfterChange();
Map<Long, AssignTaskProblemFactChange> summarizedChanges = new HashMap<>();
programmedChanges.forEach(change -> {
// if task was changed multiple times record only the last change.
summarizedChanges.put(change.getChange().getTask().getId(), change.getChange());
});
for (AssignTaskProblemFactChange change : summarizedChanges.values()) {
assertAssignTaskProblemFactChangeWasProduced(change, lastSolution);
}
}
use of org.kie.server.services.taskassigning.core.model.TaskAssigningSolution in project droolsjbpm-integration by kiegroup.
the class RemoveTaskProblemFactChangeTest method removeTaskProblemFactChangeRandomSet.
private void removeTaskProblemFactChangeRandomSet(String solutionResource) throws Exception {
TaskAssigningSolution solution = readTaskAssigningSolution(solutionResource);
int taskCount = solution.getTaskList().size();
int randomChanges = taskCount / 2 + random.nextInt(taskCount / 2);
List<Long> taskIds = new ArrayList<>();
for (int i = 0; i < randomChanges; i++) {
taskIds.add((long) taskCount++);
}
removeTaskProblemFactChange(solution, taskIds);
}
Aggregations