Anti-Harassment Tools/SecurePoll Improvements/Test Results/20 4 5000 1685033555

Comments
SecurePoll eliminates all candidates. I assume this is because all the candidates have equal votes. In this case, I think we plan to defer to the election admins how to proceed.

This is possibly the same/similar to 20_6_5100_319413701, 20_6_5000_2048397232 and 5_3_100.

Election setup

 * Candidates: 20
 * Seats: 4
 * Votes: 5000

Actual
Output of SecurePoll :

Elected

 * 1) This seat could not be filled because no candidates fulfill the criteria. The last eliminated candidates were: "1", "3", "4", "5", "2"
 * 2) This seat could not be filled because no candidates fulfill the criteria. The last eliminated candidates were: "1", "3", "4", "5", "2"
 * 3) This seat could not be filled because no candidates fulfill the criteria. The last eliminated candidates were: "1", "3", "4", "5", "2"
 * 4) This seat could not be filled because no candidates fulfill the criteria. The last eliminated candidates were: "1", "3", "4", "5", "2"

Eliminated

 * "14"
 * "19"
 * "18"
 * "17"
 * "16"
 * "15"
 * "11"
 * "13"
 * "12"
 * "10"
 * "9"
 * "8"
 * "7"
 * "6"
 * "20"
 * "1"
 * "3"
 * "4"
 * "5"
 * "2"

Rounds table
(Results from 03:56, 28 July 2021)

Expected
Output from OpenSTV: Loading ballots from file 20_4_5000_1685033555.blt. Ballot file contains 20 candidates and 5000 ballots. No candidates have withdrawn. Ballot file contains 5000 non-empty ballots.

Counting votes for ElectionTitle using Meek STV. 20 candidates running for 4 seats.

R|1         |2          |3          |4          |5          |6 |---+---+---+---+---+--- |7          |8          |9          |10         |11         |12           |---+---+---+---+---+---  |13         |14         |15         |16         |17         |18           |---+---+---+---+---+---  |19         |20         |Exhausted  |Surplus    |Threshold

=
============================================================= 1|1000.000000|1000.000000|1000.000000|1000.000000|1000.000000|  0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|   0.000000|   0.000000  |   0.000000|   0.000000|   0.000000|   0.000000|1000.000001  |---  | Count of first choices.

=
============================================================= 2|1000.000000|1000.000000|1000.000000|1000.000000|          |             |           |           |           |           |           |             |           |           |           |           |           |             |           |           |1000.000000| 799.999996| 800.000001  |---  | Count after eliminating 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, | 18, 19, and 20 and transferring votes. All losing candidates are | eliminated. Candidates 1, 2, 3, 4, and 5 were tied when choosing | candidates to eliminate. Candidate 5 was chosen by breaking the tie | randomly. Candidates 1, 2, 3, and 4 have reached the threshold and are | elected.

Winners are 1, 2, 3, and 4.

Files
array ( 4 =>   array ( 'count' => 1000, 'rank' => array (     1 => 4,    ), ), 2 =>   array ( 'count' => 1000, 'rank' => array (     1 => 2,    ), ), 5 =>   array ( 'count' => 1000, 'rank' => array (     1 => 5,    ), ), 1 =>   array ( 'count' => 1000, 'rank' => array (     1 => 1,    ), ), 3 =>   array ( 'count' => 1000, 'rank' => array (     1 => 3,    ), ), )
 * blt: https://github.com/dominic998/SecurePoll-Test-Data/blob/main/test_data/20_4_5000_1685033555.blt
 * php:

Environment

 * Where you tested: local docker using PHPUnit
 * Version of SecurePoll: commit 7456aea7198d58e058d56ed4c1fd550354803cd5 (patch 24 from https://gerrit.wikimedia.org/r/c/mediawiki/extensions/SecurePoll/+/704454/)