Skip to content

Instantly share code, notes, and snippets.

@le0nidas
Created June 19, 2021 09:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save le0nidas/3091068dc60df1acfe592f115420bf95 to your computer and use it in GitHub Desktop.
Save le0nidas/3091068dc60df1acfe592f115420bf95 to your computer and use it in GitHub Desktop.
class TestingTaskChecker : TaskChecker() {
override fun sendTaskToAssigner(task: Task) {
// do nothing
}
}
open class TaskChecker {
fun check(task: Task): CheckResult {
if (isNotCreatedInCurrentWeek(task)) return Invalid
if (isResolved(task)) return Invalid
if (isNotAssigned(task)) return Invalid
return Valid
}
private fun isNotAssigned(task: Task): Boolean {
if (task.assignedTo != Nobody) return false
sendTaskToAssigner(task)
return true
}
protected open fun sendTaskToAssigner(task: Task) {
val connection = Connection()
val assigner = TaskAssigner(connection)
assigner.add(task)
}
//...
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment