$election1->addCandidate('Caplet');
$election1->addCandidate('A');
$myLutoCandidate = $election1->addCandidate('Lutoslawski');
// Return the Condorcet\Candidate object.
// Automatic name
$myAutomaticCandidate = $election1->addCandidate();
// Return an automatic Condorcet\Candidate
$myAutomaticCandidate->getName();
// return 'B'. Because we have already register the A candidate above.
// An objet
$myMessiaenCandidate = new Candidate('Olivier Messiaen');
$election1->addCandidate($myMessiaenCandidate);
$election1->addCandidate(new Candidate('Ligeti'));
$election1->addCandidate(new Candidate('Koechlin'));
# -B- Change your mind ?
$election1->removeCandidate('A');
$election1->removeCandidate($myAutomaticCandidate);
// Lutoslawski change his name
$myLutoCandidate->setName('Wiltod Lutoslawski');
# Done !
# What was his old names?
$myLutoCandidate->getHistory();
// return the full history with timestamp of this Candidate naming
# -C- Check your candidate list, if you forget it
$election1->getCandidatesList();
// Return an array pupulate by each Candidate objet
$election1->getCandidatesList(true);
// Return an array pupulate by each Candidate name as String.
// OK, I need my Debussy (want his candidate object)
$myDebussyCandidate = $election1->getCandidateObjectByName('Debussy');
// IV - Votes