Refactor to consider the condition as a list of command
Break down tests into smaller pieces