From 833ebaf06efe617091a4d5b9a2812aaae8dc73c8 Mon Sep 17 00:00:00 2001 From: Armin Samii Date: Mon, 26 Jun 2023 12:13:35 -0400 Subject: [PATCH] Issue 633 (New CSV Format) -- Part 3: Implementation (#714) * Add "Total Votes Cast" to results summary file * New format: CSV partially implemented * regenerate all test files with new data * add undervote wip * Use PrecinctTally structure instead of Map * slight refactor * clean-up * polish * remove code that will be re-integrated in a chained PR * remove additional unused code * add threshold to roundtally * address PR comments * Revert "remove code that will be re-integrated in a chained PR" This reverts commit 3b3689455a10dd96fd6058dfb76e3c46e7390f1d. * new output format --------- Co-authored-by: Armin Samii --- .../brightspots/rcv/ResultsWriter.java | 204 +++++++++--- .../network/brightspots/rcv/Tabulator.java | 23 +- .../brightspots/rcv/TabulatorTests.java | 1 + ...013_minneapolis_mayor_expected_summary.csv | 110 +++--- ...13_minneapolis_mayor_expected_summary.json | 313 +++++++++++++++--- ...nneapolis_mayor_scale_expected_summary.csv | 110 +++--- ...neapolis_mayor_scale_expected_summary.json | 313 +++++++++++++++--- ...2013_minneapolis_park_expected_summary.csv | 62 ++-- ...013_minneapolis_park_expected_summary.json | 115 ++++++- ...polis_park_bottoms_up_expected_summary.csv | 60 ++-- ...olis_park_bottoms_up_expected_summary.json | 97 +++++- ...minneapolis_park_hare_expected_summary.csv | 62 ++-- ...inneapolis_park_hare_expected_summary.json | 106 +++++- ...lis_park_sequential_1_expected_summary.csv | 60 ++-- ...is_park_sequential_1_expected_summary.json | 106 +++++- ...lis_park_sequential_2_expected_summary.csv | 58 ++-- ...is_park_sequential_2_expected_summary.json | 97 +++++- ...lis_park_sequential_3_expected_summary.csv | 56 ++-- ...is_park_sequential_3_expected_summary.json | 88 ++++- .../2015_portland_mayor_expected_summary.csv | 70 ++-- .../2015_portland_mayor_expected_summary.json | 142 +++++++- ..._portland_mayor_codes_expected_summary.csv | 70 ++-- ...portland_mayor_codes_expected_summary.json | 142 +++++++- ...017_minneapolis_mayor_expected_summary.csv | 76 +++-- ...17_minneapolis_mayor_expected_summary.json | 70 +++- ...aine_governor_primary_expected_summary.csv | 54 +-- ...ine_governor_primary_expected_summary.json | 52 ++- .../aliases_cdf_json_expected_summary.csv | 46 ++- .../aliases_cdf_json_expected_summary.json | 43 ++- .../aliases_ess_xlsx_expected_summary.csv | 46 ++- .../aliases_ess_xlsx_expected_summary.json | 43 ++- ...ballot_kansas_primary_expected_summary.csv | 60 ++-- ...allot_kansas_primary_expected_summary.json | 50 ++- ...tinue_tabulation_test_expected_summary.csv | 44 ++- ...inue_tabulation_test_expected_summary.json | 43 ++- ...atch_elimination_test_expected_summary.csv | 52 ++- ...tch_elimination_test_expected_summary.json | 52 ++- .../dominion_alaska_expected_summary.csv | 56 ++-- .../dominion_alaska_expected_summary.json | 86 ++++- .../dominion_kansas_expected_summary.csv | 56 ++-- .../dominion_kansas_expected_summary.json | 86 ++++- .../dominion_multi_file_expected_summary.csv | 48 ++- .../dominion_multi_file_expected_summary.json | 23 +- ...nion_no_precinct_data_expected_summary.csv | 56 ++-- ...ion_no_precinct_data_expected_summary.json | 86 ++++- .../dominion_wyoming_expected_summary.csv | 56 ++-- .../dominion_wyoming_expected_summary.json | 86 ++++- .../duplicate_test_expected_summary.csv | 44 ++- .../duplicate_test_expected_summary.json | 34 +- .../excluded_test_expected_summary.csv | 40 ++- .../excluded_test_expected_summary.json | 25 +- ...f_multiple_continuing_expected_summary.csv | 46 ++- ..._multiple_continuing_expected_summary.json | 43 ++- ...rmines_threshold_test_expected_summary.csv | 44 ++- ...mines_threshold_test_expected_summary.json | 34 +- ...shold_tiebreaker_test_expected_summary.csv | 44 ++- ...hold_tiebreaker_test_expected_summary.json | 34 +- .../generic_csv_test_expected_summary.csv | 48 ++- .../generic_csv_test_expected_summary.json | 52 ++- ...dar_park_school_board_expected_summary.csv | 54 +-- ...ar_park_school_board_expected_summary.json | 25 +- ...ravis_county_officers_expected_summary.csv | 48 ++- ...avis_county_officers_expected_summary.json | 25 +- ...inimum_threshold_test_expected_summary.csv | 48 ++- ...nimum_threshold_test_expected_summary.json | 34 +- ..._multi_seat_threshold_expected_summary.csv | 50 ++- ...multi_seat_threshold_expected_summary.json | 70 +++- ...sing_precinct_example_expected_summary.csv | 76 +++-- ...ing_precinct_example_expected_summary.json | 61 +++- ...oms_up_with_threshold_expected_summary.csv | 54 +-- ...ms_up_with_threshold_expected_summary.json | 61 +++- .../multi_seat_uwi_test_expected_summary.csv | 46 ++- .../multi_seat_uwi_test_expected_summary.json | 61 +++- .../nist_xml_cdf_2_expected_summary.csv | 44 ++- .../nist_xml_cdf_2_expected_summary.json | 41 ++- .../precinct_example_expected_summary.csv | 76 +++-- .../precinct_example_expected_summary.json | 61 +++- ...quential_with_batch_1_expected_summary.csv | 50 ++- ...uential_with_batch_1_expected_summary.json | 23 +- ...quential_with_batch_2_expected_summary.csv | 48 ++- ...uential_with_batch_2_expected_summary.json | 41 ++- ...quential_with_batch_3_expected_summary.csv | 46 ++- ...uential_with_batch_3_expected_summary.json | 23 +- ..._continue_until_two_1_expected_summary.csv | 50 ++- ...continue_until_two_1_expected_summary.json | 68 +++- ..._continue_until_two_2_expected_summary.csv | 48 ++- ...continue_until_two_2_expected_summary.json | 59 +++- ..._continue_until_two_3_expected_summary.csv | 46 ++- ...continue_until_two_3_expected_summary.json | 50 ++- .../skip_to_next_test_expected_summary.csv | 46 ++- .../skip_to_next_test_expected_summary.json | 43 ++- ...tabulation_early_test_expected_summary.csv | 44 ++- ...abulation_early_test_expected_summary.json | 34 +- ..._skipped_first_choice_expected_summary.csv | 46 ++- ...skipped_first_choice_expected_summary.json | 41 ++- ...1_exhaust_at_overvote_expected_summary.csv | 46 ++- ..._exhaust_at_overvote_expected_summary.json | 41 ++- ...overvote_skip_to_next_expected_summary.csv | 46 ++- ...vervote_skip_to_next_expected_summary.json | 41 ++- ...kipped_choice_exhaust_expected_summary.csv | 46 ++- ...ipped_choice_exhaust_expected_summary.json | 41 ++- ...4_skipped_choice_next_expected_summary.csv | 46 ++- ..._skipped_choice_next_expected_summary.json | 41 ++- ...kipped_choice_exhaust_expected_summary.csv | 46 ++- ...ipped_choice_exhaust_expected_summary.json | 41 ++- ...t_6_duplicate_exhaust_expected_summary.csv | 46 ++- ..._6_duplicate_exhaust_expected_summary.json | 41 ++- ...uplicate_skip_to_next_expected_summary.csv | 46 ++- ...plicate_skip_to_next_expected_summary.json | 41 ++- .../test_set_8_multi_cdf_expected_summary.csv | 46 ++- ...test_set_8_multi_cdf_expected_summary.json | 41 ++- ..._one_winner_per_round_expected_summary.csv | 48 ++- ...one_winner_per_round_expected_summary.json | 52 ++- ..._fractional_threshold_expected_summary.csv | 52 ++- ...fractional_threshold_expected_summary.json | 68 +++- ...inner_whole_threshold_expected_summary.csv | 52 ++- ...nner_whole_threshold_expected_summary.json | 68 +++- ...et_overvote_delimiter_expected_summary.csv | 46 ++- ...t_overvote_delimiter_expected_summary.json | 41 ++- ...s_undeclared_write_in_expected_summary.csv | 48 ++- ..._undeclared_write_in_expected_summary.json | 61 +++- ...rate_permutation_test_expected_summary.csv | 46 ++- ...ate_permutation_test_expected_summary.json | 52 ++- ...unts_then_random_test_expected_summary.csv | 46 ++- ...nts_then_random_test_expected_summary.json | 52 ++- .../tiebreak_seed_test_expected_summary.csv | 44 ++- .../tiebreak_seed_test_expected_summary.json | 43 ++- ...tation_in_config_test_expected_summary.csv | 46 ++- ...ation_in_config_test_expected_summary.json | 52 ++- ..._city_chief_of_police_expected_summary.csv | 54 +-- ...city_chief_of_police_expected_summary.json | 77 ++++- ..._xml_cdf_city_coroner_expected_summary.csv | 52 ++- ...xml_cdf_city_coroner_expected_summary.json | 68 +++- ...f_city_council_member_expected_summary.csv | 56 ++-- ..._city_council_member_expected_summary.json | 95 +++++- ...yn_xml_cdf_city_mayor_expected_summary.csv | 64 ++-- ...n_xml_cdf_city_mayor_expected_summary.json | 122 ++++++- ...df_city_tax_collector_expected_summary.csv | 56 ++-- ...f_city_tax_collector_expected_summary.json | 86 ++++- ...ml_cdf_county_coroner_expected_summary.csv | 56 ++-- ...l_cdf_county_coroner_expected_summary.json | 95 +++++- ...ml_cdf_county_sheriff_expected_summary.csv | 54 +-- ...l_cdf_county_sheriff_expected_summary.json | 86 ++++- .../uwi_cannot_win_test_expected_summary.csv | 44 ++- .../uwi_cannot_win_test_expected_summary.json | 34 +- 145 files changed, 6727 insertions(+), 2049 deletions(-) diff --git a/src/main/java/network/brightspots/rcv/ResultsWriter.java b/src/main/java/network/brightspots/rcv/ResultsWriter.java index ec97a5e38..c80bc6116 100644 --- a/src/main/java/network/brightspots/rcv/ResultsWriter.java +++ b/src/main/java/network/brightspots/rcv/ResultsWriter.java @@ -34,7 +34,6 @@ import java.io.IOException; import java.math.BigDecimal; import java.math.MathContext; -import java.math.RoundingMode; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; @@ -72,7 +71,6 @@ class ResultsWriter { private Set precinctIds; // precinct to GpUnitId map (CDF only) private Map gpUnitIds; - private BigDecimal winningThreshold; // map from round number to list of candidates eliminated in that round private Map> roundToEliminatedCandidates; // map from round number to list of candidates winning in that round @@ -223,11 +221,6 @@ ResultsWriter setNumRounds(int numRounds) { return this; } - ResultsWriter setWinningThreshold(BigDecimal threshold) { - this.winningThreshold = threshold; - return this; - } - ResultsWriter setPrecinctIds(Set precinctIds) { this.precinctIds = precinctIds; return this; @@ -270,8 +263,7 @@ ResultsWriter setTimestampString(String timestampString) { // param: numUndervotesByPrecinct is the total count of undervotes per precinct void generatePrecinctSummaryFiles( Map> precinctRoundTallies, - Map precinctTallyTransfers, - Map numUndervotesByPrecinct) + Map precinctTallyTransfers) throws IOException { Set filenames = new HashSet<>(); for (var entry : precinctRoundTallies.entrySet()) { @@ -280,8 +272,7 @@ void generatePrecinctSummaryFiles( String precinctFileString = getPrecinctFileString(precinct, filenames); String outputPath = getOutputFilePathFromInstance(String.format("%s_precinct_summary", precinctFileString)); - Integer numUndervotes = numUndervotesByPrecinct.get(precinct); - generateSummarySpreadsheet(roundTallies, numUndervotes, precinct, outputPath); + generateSummarySpreadsheet(roundTallies, precinct, outputPath); generateSummaryJson(roundTallies, precinctTallyTransfers.get(precinct), precinct, outputPath); } @@ -293,7 +284,6 @@ void generatePrecinctSummaryFiles( // param: outputPath is the path to the output file, minus its extension private void generateSummarySpreadsheet( Map roundTallies, - Integer numUndervotes, String precinct, String outputPath) throws IOException { @@ -311,10 +301,14 @@ private void generateSummarySpreadsheet( throw exception; } - addContestInformationRows(csvPrinter, precinct); + BigDecimal winningThreshold = roundTallies.get(numRounds).getWinningThreshold(); + addContestInformationRows(csvPrinter, winningThreshold, precinct); + addContestSummaryRows(csvPrinter, roundTallies.get(1)); csvPrinter.print("Rounds"); for (int round = 1; round <= numRounds; round++) { - csvPrinter.print(String.format("Round %d", round)); + csvPrinter.print(String.format("Round %d Votes", round)); + csvPrinter.print("% of vote"); + csvPrinter.print("transfer"); } csvPrinter.println(); @@ -339,23 +333,96 @@ private void generateSummarySpreadsheet( // Vote count csvPrinter.print(thisRoundTally); + + // Vote % + BigDecimal activeBallots = roundTallies.get(round).numActiveBallots(); + if (activeBallots != BigDecimal.ZERO) { + // Turn a decimal into a human-readable percentage (e.g. 0.1234 -> 12.34%) + BigDecimal divDecimal = thisRoundTally.divide(activeBallots, MathContext.DECIMAL32); + csvPrinter.print(divDecimal.scaleByPowerOfTen(4).intValue() / 100.0 + "%"); + } else { + csvPrinter.print(""); + } + + // Transfer + if (round < numRounds) { + BigDecimal nextRoundTally = roundTallies.get(round + 1).getCandidateTally(candidate); + if (nextRoundTally == null) { + nextRoundTally = BigDecimal.ZERO; + } + csvPrinter.print(nextRoundTally.subtract(thisRoundTally)); + } else { + csvPrinter.print(0); + } + } + csvPrinter.println(); + } + + csvPrinter.print("Active Ballots"); + for (int round = 1; round <= numRounds; round++) { + csvPrinter.print(roundTallies.get(round).numActiveBallots()); + csvPrinter.print(""); + csvPrinter.print(""); + } + csvPrinter.println(); + + csvPrinter.print("Current Round Threshold"); + for (int round = 1; round <= numRounds; round++) { + csvPrinter.print(roundTallies.get(round).getWinningThreshold()); + csvPrinter.print(""); + csvPrinter.print(""); + } + csvPrinter.println(); + + Pair[] statusesToPrint = new Pair[]{ + new Pair<>("by Overvotes", StatusForRound.INACTIVE_BY_OVERVOTE), + new Pair<>("by Skipped Rankings", StatusForRound.INACTIVE_BY_SKIPPED_RANKING), + new Pair<>("by Exhausted Choices", StatusForRound.INACTIVE_BY_EXHAUSTED_CHOICES), + new Pair<>("by Repeated Rankings", StatusForRound.INACTIVE_BY_REPEATED_RANKING) + }; + + for (Pair statusToPrint : statusesToPrint) { + csvPrinter.print("Inactive Ballots by " + statusToPrint.getKey()); + for (int round = 1; round <= numRounds; round++) { + StatusForRound status = statusToPrint.getValue(); + BigDecimal thisRoundInactive = roundTallies.get(round).getBallotStatusTally(status); + csvPrinter.print(thisRoundInactive); + if (round != numRounds) { + BigDecimal nextRoundInactive = roundTallies.get(round + 1).getBallotStatusTally(status); + BigDecimal diff = nextRoundInactive.subtract(thisRoundInactive); + csvPrinter.print(diff); + } else { + csvPrinter.print(0); + } + + // Don't display percentage of inactive ballots + csvPrinter.print(""); } csvPrinter.println(); } - csvPrinter.print("Inactive ballots"); + csvPrinter.print("Inactive Ballots Total"); + // Undervotes should not be included in the Inactive Ballots count, even though we treat them + // as such internally. Subtract undervotes (which are static throughout a contest) from the + // inactive ballot totals. + BigDecimal numUndervotes = roundTallies.get(1).getBallotStatusTally( + StatusForRound.INACTIVE_BY_UNDERVOTE); for (int round = 1; round <= numRounds; round++) { - BigDecimal inactiveBallots = roundTallies.get(round).numInactiveBallots(); - - // The previous method of calculating inactive ballots was to sum values that included - // active ballots, leading to additional but unnecessary precision. - // Mimic that behavior here so there is no change in the test files. - BigDecimal activeBallots = roundTallies.get(round).numActiveBallots(); - if (inactiveBallots.scale() < activeBallots.scale()) { - inactiveBallots = inactiveBallots.setScale(activeBallots.scale(), RoundingMode.HALF_UP); + BigDecimal thisRoundInactive = roundTallies.get(round).numInactiveBallots(); + csvPrinter.print(thisRoundInactive.subtract(numUndervotes)); + + if (round != numRounds) { + // Note: we don't need to subtract num undervotes here since we'd be subtracting the + // same value from both sides of the equation, so it cancels out. + BigDecimal nextRoundInactive = roundTallies.get(round + 1).numInactiveBallots(); + BigDecimal diff = nextRoundInactive.subtract(thisRoundInactive); + csvPrinter.print(diff); + } else { + csvPrinter.print(0); } - csvPrinter.print(inactiveBallots); + // Don't display percentage of inactive ballots + csvPrinter.print(""); } csvPrinter.println(); @@ -368,6 +435,10 @@ private void generateSummarySpreadsheet( csvPrinter.print("Residual surplus"); for (int round = 1; round <= numRounds; round++) { csvPrinter.print(roundToResidualSurplus.get(round)); + + // Don't display transfer or percentage of residual surplus + csvPrinter.print(""); + csvPrinter.print(""); } csvPrinter.println(); } @@ -391,24 +462,39 @@ private void generateSummarySpreadsheet( // "action" rows describe which candidates were eliminated or elected private void addActionRows(CSVPrinter csvPrinter) throws IOException { csvPrinter.print("Eliminated"); - for (int round = 1; round <= numRounds; round++) { - List eliminated = roundToEliminatedCandidates.get(round); - if (eliminated != null && eliminated.size() > 0) { - addActionRowCandidates(eliminated, csvPrinter); - } else { - csvPrinter.print(""); - } - } - csvPrinter.println(); + printActionSummary(csvPrinter, roundToEliminatedCandidates); csvPrinter.print("Elected"); + printActionSummary(csvPrinter, roundToWinningCandidates); + } + + private void addContestSummaryRows(CSVPrinter csvPrinter, + RoundTally round1Tally) throws IOException { + BigDecimal numUndervotes = round1Tally.getBallotStatusTally( + StatusForRound.INACTIVE_BY_UNDERVOTE); + BigDecimal totalNumberBallots = round1Tally.numActiveBallots() + .add(round1Tally.numInactiveBallots()); + csvPrinter.printRecord("Contest Summary"); + csvPrinter.printRecord("Number to be Elected", config.getNumberOfWinners()); + csvPrinter.printRecord("Number of Candidates", config.getNumCandidates()); + csvPrinter.printRecord("Total Number of Ballots", totalNumberBallots); + csvPrinter.printRecord("Number of Undervotes", numUndervotes); + csvPrinter.println(); + } + + private void printActionSummary(CSVPrinter csvPrinter, + Map> roundToCandidates) throws IOException { for (int round = 1; round <= numRounds; round++) { - List winners = roundToWinningCandidates.get(round); + List winners = roundToCandidates.get(round); if (winners != null && winners.size() > 0) { addActionRowCandidates(winners, csvPrinter); } else { csvPrinter.print(""); } + + // Empty % of vote and transfer columns + csvPrinter.print(""); + csvPrinter.print(""); } csvPrinter.println(); } @@ -425,8 +511,13 @@ private void addActionRowCandidates(List candidates, CSVPrinter csvPrint csvPrinter.print(candidateCellText); } - private void addContestInformationRows(CSVPrinter csvPrinter, String precinct) - throws IOException { + private void addContestInformationRows(CSVPrinter csvPrinter, + BigDecimal winningThreshold, String precinct) throws IOException { + csvPrinter.printRecord("Contest Information"); + csvPrinter.printRecord("Generated By", "RCTab " + Main.APP_VERSION); + csvPrinter.printRecord("CSV Format Version", "1"); + csvPrinter.printRecord("Type of Election", + config.isSingleWinnerEnabled() ? "Single-Winner" : "Multi-Winner"); csvPrinter.printRecord("Contest", config.getContestName()); csvPrinter.printRecord("Jurisdiction", config.getContestJurisdiction()); csvPrinter.printRecord("Office", config.getContestOffice()); @@ -442,7 +533,7 @@ private void addContestInformationRows(CSVPrinter csvPrinter, String precinct) } } csvPrinter.printRecord("Winner(s)", String.join(", ", winners)); - csvPrinter.printRecord("Threshold", winningThreshold); + csvPrinter.printRecord("Final Threshold", winningThreshold); if (!isNullOrBlank(precinct)) { csvPrinter.printRecord("Precinct", precinct); } @@ -452,11 +543,10 @@ private void addContestInformationRows(CSVPrinter csvPrinter, String precinct) // creates a summary spreadsheet and JSON for the full contest (as opposed to a precinct) void generateOverallSummaryFiles( Map roundTallies, - TallyTransfers tallyTransfers, - Integer numUndervotes) + TallyTransfers tallyTransfers) throws IOException { String outputPath = getOutputFilePathFromInstance("summary"); - generateSummarySpreadsheet(roundTallies, numUndervotes, null, outputPath); + generateSummarySpreadsheet(roundTallies, null, outputPath); generateSummaryJson(roundTallies, tallyTransfers, null, outputPath); } @@ -818,15 +908,28 @@ private void generateSummaryJson( // config will contain contest configuration info HashMap configData = new HashMap<>(); + configData.put("generatedBy", "RCTab " + Main.APP_VERSION); configData.put("contest", config.getContestName()); configData.put("jurisdiction", config.getContestJurisdiction()); configData.put("office", config.getContestOffice()); configData.put("date", config.getContestDate()); - configData.put("threshold", winningThreshold); if (!isNullOrBlank(precinct)) { configData.put("precinct", precinct); } + BigDecimal firstRoundUndervotes = + roundTallies.get(1).getBallotStatusTally(StatusForRound.INACTIVE_BY_UNDERVOTE); + BigDecimal totalNumberBallots = roundTallies.get(1).numActiveBallots().add( + roundTallies.get(1).numInactiveBallots()); + BigDecimal lastRoundThreshold = roundTallies.get(numRounds).getWinningThreshold(); + + HashMap summaryData = new HashMap<>(); + summaryData.put("finalThreshold", lastRoundThreshold); + summaryData.put("numWinners", config.getNumberOfWinners()); + summaryData.put("numCandidates", config.getCandidateNames().size()); + summaryData.put("totalNumBallots", totalNumberBallots); + summaryData.put("undervotes", firstRoundUndervotes.toBigInteger()); + ArrayList results = new ArrayList<>(); for (int round = 1; round <= numRounds; round++) { HashMap roundData = new HashMap<>(); @@ -838,12 +941,16 @@ private void generateSummaryJson( "eliminated", roundToEliminatedCandidates.get(round), round, actions, tallyTransfers); roundData.put("tallyResults", actions); roundData.put("tally", updateCandidateNamesInTally(roundTallies.get(round))); + roundData.put("threshold", roundTallies.get(round).getWinningThreshold()); + roundData.put("inactiveBallots", getInactiveJsonMap(roundTallies.get(round))); results.add(roundData); } // root outputJson dict will have two entries: // results - vote totals, transfers, and candidates elected / eliminated // config - global config into HashMap outputJson = new HashMap<>(); + outputJson.put("jsonFormatVersion", "1"); + outputJson.put("summary", summaryData); outputJson.put("config", configData); outputJson.put("results", results); @@ -859,6 +966,21 @@ private Map updateCandidateNamesInTally(RoundTally roundSumm return newTally; } + private Map getInactiveJsonMap(RoundTally roundTally) { + Map inactiveMap = new HashMap<>(); + Pair[] statusesToPrint = new Pair[]{ + new Pair<>("overvotes", StatusForRound.INACTIVE_BY_OVERVOTE), + new Pair<>("skippedRankings", StatusForRound.INACTIVE_BY_SKIPPED_RANKING), + new Pair<>("exhaustedChoices", StatusForRound.INACTIVE_BY_EXHAUSTED_CHOICES), + new Pair<>("repeatedRankings", StatusForRound.INACTIVE_BY_REPEATED_RANKING) + }; + for (Pair statusToPrint : statusesToPrint) { + inactiveMap.put(statusToPrint.getKey(), + roundTally.getBallotStatusTally(statusToPrint.getValue())); + } + return inactiveMap; + } + // adds action objects to input action list representing all actions applied this round // each action will have a type followed by a list of 0 or more vote transfers // (sometimes there is no vote transfer if a candidate had no votes to transfer) diff --git a/src/main/java/network/brightspots/rcv/Tabulator.java b/src/main/java/network/brightspots/rcv/Tabulator.java index 18f64c74b..00555befd 100644 --- a/src/main/java/network/brightspots/rcv/Tabulator.java +++ b/src/main/java/network/brightspots/rcv/Tabulator.java @@ -734,33 +734,14 @@ void generateSummaryFiles(String timestamp) throws IOException { .setWinnerToRound(winnerToRound) .setContestConfig(config) .setTimestampString(timestamp) - .setWinningThreshold(roundTallies.get(roundTallies.size()).getWinningThreshold()) .setPrecinctIds(precinctIds) .setRoundToResidualSurplus(roundToResidualSurplus); - // Count ballot statuses - Integer numUndervotes = 0; - for (CastVoteRecord cvr : castVoteRecords) { - if (cvr.getBallotStatus() == StatusForRound.INACTIVE_BY_UNDERVOTE) { - numUndervotes++; - } - } - - writer.generateOverallSummaryFiles(roundTallies, tallyTransfers, numUndervotes); + writer.generateOverallSummaryFiles(roundTallies, tallyTransfers); if (config.isTabulateByPrecinctEnabled()) { - Map numUndervotesByPrecinct = new HashMap<>(); - for (CastVoteRecord cvr : castVoteRecords) { - String precinct = cvr.getPrecinct(); - if (!isNullOrBlank(precinct)) { - if (cvr.getBallotStatus() == StatusForRound.INACTIVE_BY_UNDERVOTE) { - int currentNumUndervotes = numUndervotesByPrecinct.getOrDefault(precinct, 0); - numUndervotesByPrecinct.put(precinct, currentNumUndervotes + 1); - } - } - } writer.generatePrecinctSummaryFiles( - precinctRoundTallies, precinctTallyTransfers, numUndervotesByPrecinct); + precinctRoundTallies, precinctTallyTransfers); } if (config.isGenerateCdfJsonEnabled()) { diff --git a/src/test/java/network/brightspots/rcv/TabulatorTests.java b/src/test/java/network/brightspots/rcv/TabulatorTests.java index a4e23918c..bf6856ec1 100644 --- a/src/test/java/network/brightspots/rcv/TabulatorTests.java +++ b/src/test/java/network/brightspots/rcv/TabulatorTests.java @@ -208,6 +208,7 @@ private static void compareFiles( + "_expected_" + outputType + extension); + Logger.info("Comparing files:\nGenerated: %s\nReference: %s", actualOutputPath, expectedPath); if (fileCompare(expectedPath, actualOutputPath)) { Logger.info("Files are equal."); diff --git a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_mayor/2013_minneapolis_mayor_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_mayor/2013_minneapolis_mayor_expected_summary.csv index 5da34c358..b377ba160 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_mayor/2013_minneapolis_mayor_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_mayor/2013_minneapolis_mayor_expected_summary.csv @@ -1,47 +1,63 @@ -Contest,2013 Minneapolis Mayor -Jurisdiction,Minneapolis -Office,Mayor -Date, -Winner(s),BETSY HODGES -Threshold,31898 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6,Round 7,Round 8,Round 9,Round 10,Round 11,Round 12,Round 13,Round 14,Round 15,Round 16,Round 17,Round 18,Round 19,Round 20,Round 21,Round 22,Round 23,Round 24,Round 25,Round 26,Round 27,Round 28,Round 29,Round 30,Round 31,Round 32,Round 33 -Eliminated,Undeclared Write-ins,JOHN CHARLES WILSON,CYD GORMAN,BOB AGAIN CARNEY JR,RAHN V. WORKCUFF,"JAMES JIMMY L. STROUD, JR.",EDMUND BERNARD BRUYERE,JOHN LESLIE HARTWIG,BILL KAHN,JOSHUA REA,MERRILL ANDERSON,GREGG A. IVERSON,TROY BENJEGERDES,NEAL BAXTER,JEFFREY ALAN WAGNER,CHRISTOPHER ROBIN ZIMMERMAN,KURTIS W. HANNA,MIKE GOULD,JAYMIE KELLY,TONY LANE,CHRISTOPHER CLARK,CAPTAIN JACK SPARROW,ABDUL M RAHAMAN THE ROCK,ALICIA K. BENNETT,JAMES EVERETT,OLE SAVIOR,DOUG MANN,MARK V ANDERSON,STEPHANIE WOODRUFF,DAN COHEN,JACKIE CHERRYHOMES; BOB FINE,DON SAMUELS; CAM WINTON, -Elected,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,BETSY HODGES -BETSY HODGES,28951,28972,28973,28977,28983,28988,28992,29004,29012,29016,29020,29025,29032,29060,29092,29106,29112,29161,29174,29248,29305,29313,29371,29406,29479,29581,29595,30034,30278,30661,30952,32567,38852 -MARK ANDREW,19621,19637,19641,19642,19649,19650,19656,19661,19663,19666,19671,19681,19698,19711,19727,19769,19776,19786,19816,19824,19849,19857,19880,19915,19959,19994,20016,20123,20180,20307,20498,21802,24942 -DON SAMUELS,8344,8348,8349,8351,8359,8364,8367,8372,8375,8376,8379,8386,8391,8399,8408,8417,8422,8433,8449,8455,8472,8477,8488,8495,8523,8549,8572,8615,8691,8836,9089,10292,0 -CAM WINTON,7523,7530,7532,7534,7534,7537,7538,7546,7552,7554,7557,7560,7561,7566,7581,7583,7603,7624,7627,7632,7637,7694,7705,7708,7713,7720,7812,7830,7925,8019,8438,8958,0 -JACKIE CHERRYHOMES,3539,3542,3542,3542,3542,3547,3551,3557,3559,3562,3570,3576,3599,3603,3607,3618,3626,3628,3644,3652,3659,3661,3672,3680,3701,3731,3741,3759,3859,3951,4060,0,0 -BOB FINE,2095,2097,2099,2100,2102,2106,2109,2111,2112,2115,2116,2119,2129,2131,2135,2141,2141,2149,2162,2166,2170,2176,2192,2198,2217,2230,2249,2280,2337,2411,2553,0,0 -DAN COHEN,1804,1807,1809,1811,1811,1812,1815,1816,1822,1828,1833,1841,1848,1851,1855,1861,1866,1875,1883,1893,1896,1912,1935,1940,1950,1959,2012,2045,2098,2138,0,0,0 -STEPHANIE WOODRUFF,1012,1014,1015,1016,1017,1018,1018,1022,1023,1027,1027,1031,1037,1045,1052,1058,1058,1061,1076,1083,1087,1088,1096,1112,1182,1194,1198,1235,1255,0,0,0,0 -MARK V ANDERSON,982,983,984,987,988,993,994,995,1000,1005,1008,1016,1018,1023,1026,1027,1043,1047,1047,1051,1053,1071,1075,1083,1094,1103,1150,1160,0,0,0,0,0 -DOUG MANN,779,782,787,791,794,796,796,800,801,802,809,813,816,831,836,841,846,863,867,899,961,971,993,996,1002,1089,1106,0,0,0,0,0,0 -OLE SAVIOR,695,696,697,697,697,700,700,700,706,710,710,715,717,719,728,729,747,751,753,754,754,791,803,807,810,810,0,0,0,0,0,0,0 -ALICIA K. BENNETT,351,352,352,352,353,353,356,357,360,364,367,373,378,379,379,390,392,393,413,422,428,431,434,440,0,0,0,0,0,0,0,0,0 -ABDUL M RAHAMAN THE ROCK,350,351,351,351,352,353,355,355,355,360,364,367,372,377,377,381,383,386,391,393,393,394,410,0,0,0,0,0,0,0,0,0,0 -JAMES EVERETT,348,349,350,351,354,357,357,358,364,367,369,370,370,379,382,383,387,399,402,412,427,430,439,443,451,0,0,0,0,0,0,0,0 -CAPTAIN JACK SPARROW,265,269,270,270,276,277,278,278,279,283,287,292,294,298,303,306,308,324,328,332,340,351,0,0,0,0,0,0,0,0,0,0,0 -TONY LANE,219,220,223,223,223,224,225,226,227,229,230,235,237,243,245,249,250,255,262,275,0,0,0,0,0,0,0,0,0,0,0,0,0 -MIKE GOULD,204,207,207,207,207,207,209,210,210,214,217,218,220,221,227,235,236,238,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -KURTIS W. HANNA,200,200,200,201,202,202,202,202,204,204,206,207,207,214,214,215,221,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -JAYMIE KELLY,196,197,197,197,198,199,202,203,203,205,214,219,223,235,240,241,242,247,251,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -CHRISTOPHER CLARK,190,192,194,194,194,195,195,195,198,200,200,201,203,204,210,210,264,278,281,281,285,0,0,0,0,0,0,0,0,0,0,0,0 -CHRISTOPHER ROBIN ZIMMERMAN,170,170,170,171,171,175,176,177,180,183,184,186,188,190,192,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -JEFFREY ALAN WAGNER,165,165,165,165,165,166,169,169,170,172,174,177,184,186,187,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -TROY BENJEGERDES,149,149,150,150,150,150,152,156,157,158,158,164,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -GREGG A. IVERSON,146,146,147,149,149,149,149,149,152,153,155,156,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -NEAL BAXTER,145,145,145,146,146,151,151,151,166,170,171,174,176,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -MERRILL ANDERSON,109,109,109,112,113,113,118,121,122,123,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -JOSHUA REA,109,109,109,112,112,113,114,114,115,118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -BILL KAHN,102,103,104,105,106,106,108,108,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -JOHN LESLIE HARTWIG,97,97,99,99,100,101,101,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -EDMUND BERNARD BRUYERE,72,72,72,72,72,73,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -RAHN V. WORKCUFF,66,66,66,66,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -"JAMES JIMMY L. STROUD, JR.",65,66,66,66,68,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -BOB AGAIN CARNEY JR,56,56,56,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -CYD GORMAN,39,39,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -JOHN CHARLES WILSON,37,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -Undeclared Write-ins,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -Inactive ballots,789,826,832,837,848,858,875,887,904,937,966,999,1036,1058,1098,1149,1178,1203,1275,1329,1385,1484,1608,1878,2020,2141,2650,3020,3478,3778,4511,6482,16307 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,2013 Minneapolis Mayor +Jurisdiction,Minneapolis +Office,Mayor +Date, +Winner(s),BETSY HODGES +Final Threshold,31898 + +Contest Summary +Number to be Elected,1 +Number of Candidates,36 +Total Number of Ballots,80101 +Number of Undervotes,639 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer,Round 7 Votes,% of vote,transfer,Round 8 Votes,% of vote,transfer,Round 9 Votes,% of vote,transfer,Round 10 Votes,% of vote,transfer,Round 11 Votes,% of vote,transfer,Round 12 Votes,% of vote,transfer,Round 13 Votes,% of vote,transfer,Round 14 Votes,% of vote,transfer,Round 15 Votes,% of vote,transfer,Round 16 Votes,% of vote,transfer,Round 17 Votes,% of vote,transfer,Round 18 Votes,% of vote,transfer,Round 19 Votes,% of vote,transfer,Round 20 Votes,% of vote,transfer,Round 21 Votes,% of vote,transfer,Round 22 Votes,% of vote,transfer,Round 23 Votes,% of vote,transfer,Round 24 Votes,% of vote,transfer,Round 25 Votes,% of vote,transfer,Round 26 Votes,% of vote,transfer,Round 27 Votes,% of vote,transfer,Round 28 Votes,% of vote,transfer,Round 29 Votes,% of vote,transfer,Round 30 Votes,% of vote,transfer,Round 31 Votes,% of vote,transfer,Round 32 Votes,% of vote,transfer,Round 33 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,JOHN CHARLES WILSON,,,CYD GORMAN,,,BOB AGAIN CARNEY JR,,,RAHN V. WORKCUFF,,,"JAMES JIMMY L. STROUD, JR.",,,EDMUND BERNARD BRUYERE,,,JOHN LESLIE HARTWIG,,,BILL KAHN,,,JOSHUA REA,,,MERRILL ANDERSON,,,GREGG A. IVERSON,,,TROY BENJEGERDES,,,NEAL BAXTER,,,JEFFREY ALAN WAGNER,,,CHRISTOPHER ROBIN ZIMMERMAN,,,KURTIS W. HANNA,,,MIKE GOULD,,,JAYMIE KELLY,,,TONY LANE,,,CHRISTOPHER CLARK,,,CAPTAIN JACK SPARROW,,,ABDUL M RAHAMAN THE ROCK,,,ALICIA K. BENNETT,,,JAMES EVERETT,,,OLE SAVIOR,,,DOUG MANN,,,MARK V ANDERSON,,,STEPHANIE WOODRUFF,,,DAN COHEN,,,JACKIE CHERRYHOMES; BOB FINE,,,DON SAMUELS; CAM WINTON,,,,, +Elected,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,BETSY HODGES,, +BETSY HODGES,28951,36.5%,21,28972,36.54%,1,28973,36.55%,4,28977,36.55%,6,28983,36.57%,5,28988,36.58%,4,28992,36.59%,12,29004,36.61%,8,29012,36.63%,4,29016,36.65%,4,29020,36.67%,5,29025,36.69%,7,29032,36.71%,28,29060,36.76%,32,29092,36.82%,14,29106,36.86%,6,29112,36.88%,49,29161,36.96%,13,29174,37.01%,74,29248,37.12%,57,29305,37.22%,8,29313,37.28%,58,29371,37.41%,35,29406,37.59%,73,29479,37.75%,102,29581,37.94%,14,29595,38.21%,439,30034,38.96%,244,30278,39.51%,383,30661,40.17%,291,30952,40.94%,1615,32567,44.23%,6285,38852,60.9%,0 +MARK ANDREW,19621,24.73%,16,19637,24.77%,4,19641,24.77%,1,19642,24.78%,7,19649,24.79%,1,19650,24.79%,6,19656,24.81%,5,19661,24.82%,2,19663,24.82%,3,19666,24.84%,5,19671,24.85%,10,19681,24.88%,17,19698,24.91%,13,19711,24.93%,16,19727,24.96%,42,19769,25.03%,7,19776,25.05%,10,19786,25.07%,30,19816,25.13%,8,19824,25.16%,25,19849,25.21%,8,19857,25.25%,23,19880,25.32%,35,19915,25.45%,44,19959,25.56%,35,19994,25.64%,22,20016,25.84%,107,20123,26.1%,57,20180,26.33%,127,20307,26.6%,191,20498,27.11%,1304,21802,29.61%,3140,24942,39.09%,0 +DON SAMUELS,8344,10.52%,4,8348,10.53%,1,8349,10.53%,2,8351,10.53%,8,8359,10.54%,5,8364,10.55%,3,8367,10.56%,5,8372,10.56%,3,8375,10.57%,1,8376,10.58%,3,8379,10.58%,7,8386,10.6%,5,8391,10.61%,8,8399,10.62%,9,8408,10.64%,9,8417,10.66%,5,8422,10.67%,11,8433,10.68%,16,8449,10.71%,6,8455,10.73%,17,8472,10.76%,5,8477,10.78%,11,8488,10.81%,7,8495,10.85%,28,8523,10.91%,26,8549,10.96%,23,8572,11.06%,43,8615,11.17%,76,8691,11.34%,145,8836,11.57%,253,9089,12.02%,1203,10292,13.98%,-10292,0,0.0%,0 +CAM WINTON,7523,9.48%,7,7530,9.49%,2,7532,9.5%,2,7534,9.5%,0,7534,9.5%,3,7537,9.51%,1,7538,9.51%,8,7546,9.52%,6,7552,9.53%,2,7554,9.54%,3,7557,9.54%,3,7560,9.55%,1,7561,9.56%,5,7566,9.57%,15,7581,9.59%,2,7583,9.6%,20,7603,9.63%,21,7624,9.66%,3,7627,9.67%,5,7632,9.68%,5,7637,9.7%,57,7694,9.78%,11,7705,9.81%,3,7708,9.85%,5,7713,9.87%,7,7720,9.9%,92,7812,10.08%,18,7830,10.15%,95,7925,10.34%,94,8019,10.5%,419,8438,11.16%,520,8958,12.16%,-8958,0,0.0%,0 +JACKIE CHERRYHOMES,3539,4.46%,3,3542,4.46%,0,3542,4.46%,0,3542,4.46%,0,3542,4.46%,5,3547,4.47%,4,3551,4.48%,6,3557,4.49%,2,3559,4.49%,3,3562,4.49%,8,3570,4.51%,6,3576,4.52%,23,3599,4.55%,4,3603,4.55%,4,3607,4.56%,11,3618,4.58%,8,3626,4.59%,2,3628,4.59%,16,3644,4.62%,8,3652,4.63%,7,3659,4.64%,2,3661,4.65%,11,3672,4.67%,8,3680,4.7%,21,3701,4.73%,30,3731,4.78%,10,3741,4.83%,18,3759,4.87%,100,3859,5.03%,92,3951,5.17%,109,4060,5.37%,-4060,0,0.0%,0,0,0.0%,0 +BOB FINE,2095,2.64%,2,2097,2.64%,2,2099,2.64%,1,2100,2.64%,2,2102,2.65%,4,2106,2.65%,3,2109,2.66%,2,2111,2.66%,1,2112,2.66%,3,2115,2.67%,1,2116,2.67%,3,2119,2.67%,10,2129,2.69%,2,2131,2.69%,4,2135,2.7%,6,2141,2.71%,0,2141,2.71%,8,2149,2.72%,13,2162,2.74%,4,2166,2.74%,4,2170,2.75%,6,2176,2.76%,16,2192,2.79%,6,2198,2.8%,19,2217,2.83%,13,2230,2.86%,19,2249,2.9%,31,2280,2.95%,57,2337,3.04%,74,2411,3.15%,142,2553,3.37%,-2553,0,0.0%,0,0,0.0%,0 +DAN COHEN,1804,2.27%,3,1807,2.27%,2,1809,2.28%,2,1811,2.28%,0,1811,2.28%,1,1812,2.28%,3,1815,2.29%,1,1816,2.29%,6,1822,2.3%,6,1828,2.3%,5,1833,2.31%,8,1841,2.32%,7,1848,2.33%,3,1851,2.34%,4,1855,2.34%,6,1861,2.35%,5,1866,2.36%,9,1875,2.37%,8,1883,2.38%,10,1893,2.4%,3,1896,2.4%,16,1912,2.43%,23,1935,2.46%,5,1940,2.48%,10,1950,2.49%,9,1959,2.51%,53,2012,2.59%,33,2045,2.65%,53,2098,2.73%,40,2138,2.8%,-2138,0,0.0%,0,0,0.0%,0,0,0.0%,0 +STEPHANIE WOODRUFF,1012,1.27%,2,1014,1.27%,1,1015,1.28%,1,1016,1.28%,1,1017,1.28%,1,1018,1.28%,0,1018,1.28%,4,1022,1.29%,1,1023,1.29%,4,1027,1.29%,0,1027,1.29%,4,1031,1.3%,6,1037,1.31%,8,1045,1.32%,7,1052,1.33%,6,1058,1.34%,0,1058,1.34%,3,1061,1.34%,15,1076,1.36%,7,1083,1.37%,4,1087,1.38%,1,1088,1.38%,8,1096,1.39%,16,1112,1.42%,70,1182,1.51%,12,1194,1.53%,4,1198,1.54%,37,1235,1.6%,20,1255,1.63%,-1255,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +MARK V ANDERSON,982,1.23%,1,983,1.23%,1,984,1.24%,3,987,1.24%,1,988,1.24%,5,993,1.25%,1,994,1.25%,1,995,1.25%,5,1000,1.26%,5,1005,1.26%,3,1008,1.27%,8,1016,1.28%,2,1018,1.28%,5,1023,1.29%,3,1026,1.29%,1,1027,1.3%,16,1043,1.32%,4,1047,1.32%,0,1047,1.32%,4,1051,1.33%,2,1053,1.33%,18,1071,1.36%,4,1075,1.36%,8,1083,1.38%,11,1094,1.4%,9,1103,1.41%,47,1150,1.48%,10,1160,1.5%,-1160,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +DOUG MANN,779,0.98%,3,782,0.98%,5,787,0.99%,4,791,0.99%,3,794,1.0%,2,796,1.0%,0,796,1.0%,4,800,1.0%,1,801,1.01%,1,802,1.01%,7,809,1.02%,4,813,1.02%,3,816,1.03%,15,831,1.05%,5,836,1.05%,5,841,1.06%,5,846,1.07%,17,863,1.09%,4,867,1.09%,32,899,1.14%,62,961,1.22%,10,971,1.23%,22,993,1.26%,3,996,1.27%,6,1002,1.28%,87,1089,1.39%,17,1106,1.42%,-1106,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +OLE SAVIOR,695,0.87%,1,696,0.87%,1,697,0.87%,0,697,0.87%,0,697,0.87%,3,700,0.88%,0,700,0.88%,0,700,0.88%,6,706,0.89%,4,710,0.89%,0,710,0.89%,5,715,0.9%,2,717,0.9%,2,719,0.9%,9,728,0.92%,1,729,0.92%,18,747,0.94%,4,751,0.95%,2,753,0.95%,1,754,0.95%,0,754,0.95%,37,791,1.0%,12,803,1.02%,4,807,1.03%,3,810,1.03%,0,810,1.03%,-810,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +ALICIA K. BENNETT,351,0.44%,1,352,0.44%,0,352,0.44%,0,352,0.44%,1,353,0.44%,0,353,0.44%,3,356,0.44%,1,357,0.45%,3,360,0.45%,4,364,0.45%,3,367,0.46%,6,373,0.47%,5,378,0.47%,1,379,0.47%,0,379,0.47%,11,390,0.49%,2,392,0.49%,1,393,0.49%,20,413,0.52%,9,422,0.53%,6,428,0.54%,3,431,0.54%,3,434,0.55%,6,440,0.56%,-440,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +ABDUL M RAHAMAN THE ROCK,350,0.44%,1,351,0.44%,0,351,0.44%,0,351,0.44%,1,352,0.44%,1,353,0.44%,2,355,0.44%,0,355,0.44%,0,355,0.44%,5,360,0.45%,4,364,0.45%,3,367,0.46%,5,372,0.47%,5,377,0.47%,0,377,0.47%,4,381,0.48%,2,383,0.48%,3,386,0.48%,5,391,0.49%,2,393,0.49%,0,393,0.49%,1,394,0.5%,16,410,0.52%,-410,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +JAMES EVERETT,348,0.43%,1,349,0.44%,1,350,0.44%,1,351,0.44%,3,354,0.44%,3,357,0.45%,0,357,0.45%,1,358,0.45%,6,364,0.45%,3,367,0.46%,2,369,0.46%,1,370,0.46%,0,370,0.46%,9,379,0.47%,3,382,0.48%,1,383,0.48%,4,387,0.49%,12,399,0.5%,3,402,0.5%,10,412,0.52%,15,427,0.54%,3,430,0.54%,9,439,0.55%,4,443,0.56%,8,451,0.57%,-451,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +CAPTAIN JACK SPARROW,265,0.33%,4,269,0.33%,1,270,0.34%,0,270,0.34%,6,276,0.34%,1,277,0.34%,1,278,0.35%,0,278,0.35%,1,279,0.35%,4,283,0.35%,4,287,0.36%,5,292,0.36%,2,294,0.37%,4,298,0.37%,5,303,0.38%,3,306,0.38%,2,308,0.39%,16,324,0.41%,4,328,0.41%,4,332,0.42%,8,340,0.43%,11,351,0.44%,-351,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +TONY LANE,219,0.27%,1,220,0.27%,3,223,0.28%,0,223,0.28%,0,223,0.28%,1,224,0.28%,1,225,0.28%,1,226,0.28%,1,227,0.28%,2,229,0.28%,1,230,0.29%,5,235,0.29%,2,237,0.29%,6,243,0.3%,2,245,0.31%,4,249,0.31%,1,250,0.31%,5,255,0.32%,7,262,0.33%,13,275,0.34%,-275,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +MIKE GOULD,204,0.25%,3,207,0.26%,0,207,0.26%,0,207,0.26%,0,207,0.26%,0,207,0.26%,2,209,0.26%,1,210,0.26%,0,210,0.26%,4,214,0.27%,3,217,0.27%,1,218,0.27%,2,220,0.27%,1,221,0.27%,6,227,0.28%,8,235,0.29%,1,236,0.29%,2,238,0.3%,-238,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +KURTIS W. HANNA,200,0.25%,0,200,0.25%,0,200,0.25%,1,201,0.25%,1,202,0.25%,0,202,0.25%,0,202,0.25%,0,202,0.25%,2,204,0.25%,0,204,0.25%,2,206,0.26%,1,207,0.26%,0,207,0.26%,7,214,0.27%,0,214,0.27%,1,215,0.27%,6,221,0.28%,-221,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +JAYMIE KELLY,196,0.24%,1,197,0.24%,0,197,0.24%,0,197,0.24%,1,198,0.24%,1,199,0.25%,3,202,0.25%,1,203,0.25%,0,203,0.25%,2,205,0.25%,9,214,0.27%,5,219,0.27%,4,223,0.28%,12,235,0.29%,5,240,0.3%,1,241,0.3%,1,242,0.3%,5,247,0.31%,4,251,0.31%,-251,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +CHRISTOPHER CLARK,190,0.23%,2,192,0.24%,2,194,0.24%,0,194,0.24%,0,194,0.24%,1,195,0.24%,0,195,0.24%,0,195,0.24%,3,198,0.25%,2,200,0.25%,0,200,0.25%,1,201,0.25%,2,203,0.25%,1,204,0.25%,6,210,0.26%,0,210,0.26%,54,264,0.33%,14,278,0.35%,3,281,0.35%,0,281,0.35%,4,285,0.36%,-285,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +CHRISTOPHER ROBIN ZIMMERMAN,170,0.21%,0,170,0.21%,0,170,0.21%,1,171,0.21%,0,171,0.21%,4,175,0.22%,1,176,0.22%,1,177,0.22%,3,180,0.22%,3,183,0.23%,1,184,0.23%,2,186,0.23%,2,188,0.23%,2,190,0.24%,2,192,0.24%,0,192,0.24%,-192,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +JEFFREY ALAN WAGNER,165,0.2%,0,165,0.2%,0,165,0.2%,0,165,0.2%,0,165,0.2%,1,166,0.2%,3,169,0.21%,0,169,0.21%,1,170,0.21%,2,172,0.21%,2,174,0.21%,3,177,0.22%,7,184,0.23%,2,186,0.23%,1,187,0.23%,-187,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +TROY BENJEGERDES,149,0.18%,0,149,0.18%,1,150,0.18%,0,150,0.18%,0,150,0.18%,0,150,0.18%,2,152,0.19%,4,156,0.19%,1,157,0.19%,1,158,0.19%,0,158,0.19%,6,164,0.2%,3,167,0.21%,-167,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +GREGG A. IVERSON,146,0.18%,0,146,0.18%,1,147,0.18%,2,149,0.18%,0,149,0.18%,0,149,0.18%,0,149,0.18%,0,149,0.18%,3,152,0.19%,1,153,0.19%,2,155,0.19%,1,156,0.19%,-156,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +NEAL BAXTER,145,0.18%,0,145,0.18%,0,145,0.18%,1,146,0.18%,0,146,0.18%,5,151,0.19%,0,151,0.19%,0,151,0.19%,15,166,0.2%,4,170,0.21%,1,171,0.21%,3,174,0.21%,2,176,0.22%,2,178,0.22%,-178,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +MERRILL ANDERSON,109,0.13%,0,109,0.13%,0,109,0.13%,3,112,0.14%,1,113,0.14%,0,113,0.14%,5,118,0.14%,3,121,0.15%,1,122,0.15%,1,123,0.15%,16,139,0.17%,-139,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +JOSHUA REA,109,0.13%,0,109,0.13%,0,109,0.13%,3,112,0.14%,0,112,0.14%,1,113,0.14%,1,114,0.14%,0,114,0.14%,1,115,0.14%,3,118,0.14%,-118,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +BILL KAHN,102,0.12%,1,103,0.12%,1,104,0.13%,1,105,0.13%,1,106,0.13%,0,106,0.13%,2,108,0.13%,0,108,0.13%,2,110,0.13%,-110,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +JOHN LESLIE HARTWIG,97,0.12%,0,97,0.12%,2,99,0.12%,0,99,0.12%,1,100,0.12%,1,101,0.12%,0,101,0.12%,0,101,0.12%,-101,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +EDMUND BERNARD BRUYERE,72,0.09%,0,72,0.09%,0,72,0.09%,0,72,0.09%,0,72,0.09%,1,73,0.09%,0,73,0.09%,-73,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +RAHN V. WORKCUFF,66,0.08%,0,66,0.08%,0,66,0.08%,0,66,0.08%,0,66,0.08%,-66,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"JAMES JIMMY L. STROUD, JR.",65,0.08%,1,66,0.08%,0,66,0.08%,0,66,0.08%,2,68,0.08%,0,68,0.08%,-68,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +BOB AGAIN CARNEY JR,56,0.07%,0,56,0.07%,0,56,0.07%,1,57,0.07%,-57,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +CYD GORMAN,39,0.04%,0,39,0.04%,0,39,0.04%,-39,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +JOHN CHARLES WILSON,37,0.04%,1,38,0.04%,-38,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,117,0.14%,-117,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,79312,,,79275,,,79269,,,79264,,,79253,,,79243,,,79226,,,79214,,,79197,,,79164,,,79135,,,79102,,,79065,,,79043,,,79003,,,78952,,,78923,,,78898,,,78826,,,78772,,,78716,,,78617,,,78493,,,78223,,,78081,,,77960,,,77451,,,77081,,,76623,,,76323,,,75590,,,73619,,,63794,, +Current Round Threshold,39657,,,39638,,,39635,,,39633,,,39627,,,39622,,,39614,,,39608,,,39599,,,39583,,,39568,,,39552,,,39533,,,39522,,,39502,,,39477,,,39462,,,39450,,,39414,,,39387,,,39359,,,39309,,,39247,,,39112,,,39041,,,38981,,,38726,,,38541,,,38312,,,38162,,,37796,,,36810,,,31898,, +Inactive Ballots by by Overvotes,103,1,,104,0,,104,0,,104,0,,104,0,,104,0,,104,0,,104,0,,104,1,,105,1,,106,1,,107,0,,107,0,,107,0,,107,0,,107,0,,107,0,,107,0,,107,0,,107,0,,107,1,,108,1,,109,1,,110,0,,110,0,,110,1,,111,1,,112,2,,114,1,,115,2,,117,6,,123,17,,140,0, +Inactive Ballots by by Skipped Rankings,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0,,47,0, +Inactive Ballots by by Exhausted Choices,0,18,,18,0,,18,1,,19,1,,20,4,,24,5,,29,5,,34,2,,36,15,,51,14,,65,15,,80,11,,91,16,,107,27,,134,21,,155,21,,176,19,,195,28,,223,47,,270,46,,316,89,,405,101,,506,161,,667,100,,767,95,,862,306,,1168,336,,1504,261,,1765,236,,2001,535,,2536,1406,,3942,7827,,11769,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,150,37,,187,6,,193,5,,198,11,,209,10,,219,17,,236,12,,248,17,,265,33,,298,29,,327,33,,360,37,,397,22,,419,40,,459,51,,510,29,,539,25,,564,72,,636,54,,690,56,,746,99,,845,124,,969,270,,1239,142,,1381,121,,1502,509,,2011,370,,2381,458,,2839,300,,3139,733,,3872,1971,,5843,9825,,15668,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_mayor/2013_minneapolis_mayor_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_mayor/2013_minneapolis_mayor_expected_summary.json index b16281f5d..06fa9e3bd 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_mayor/2013_minneapolis_mayor_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_mayor/2013_minneapolis_mayor_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "2013 Minneapolis Mayor", "date" : "", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Minneapolis", - "office" : "Mayor", - "threshold" : "31898" + "office" : "Mayor" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "103", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 1, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "350", @@ -73,8 +80,15 @@ "TONY LANE" : "1", "exhausted" : "37" } - } ] + } ], + "threshold" : "39657" }, { + "inactiveBallots" : { + "exhaustedChoices" : "18", + "overvotes" : "104", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 2, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "351", @@ -136,8 +150,15 @@ "TROY BENJEGERDES" : "1", "exhausted" : "6" } - } ] + } ], + "threshold" : "39638" }, { + "inactiveBallots" : { + "exhaustedChoices" : "18", + "overvotes" : "104", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 3, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "351", @@ -198,8 +219,15 @@ "STEPHANIE WOODRUFF" : "1", "exhausted" : "5" } - } ] + } ], + "threshold" : "39635" }, { + "inactiveBallots" : { + "exhaustedChoices" : "19", + "overvotes" : "104", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 4, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "351", @@ -258,8 +286,15 @@ "STEPHANIE WOODRUFF" : "1", "exhausted" : "11" } - } ] + } ], + "threshold" : "39633" }, { + "inactiveBallots" : { + "exhaustedChoices" : "20", + "overvotes" : "104", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 5, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "352", @@ -323,8 +358,15 @@ "TONY LANE" : "1", "exhausted" : "10" } - } ] + } ], + "threshold" : "39627" }, { + "inactiveBallots" : { + "exhaustedChoices" : "24", + "overvotes" : "104", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 6, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "353", @@ -384,8 +426,15 @@ "TROY BENJEGERDES" : "2", "exhausted" : "17" } - } ] + } ], + "threshold" : "39622" }, { + "inactiveBallots" : { + "exhaustedChoices" : "29", + "overvotes" : "104", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 7, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "355", @@ -442,8 +491,15 @@ "TROY BENJEGERDES" : "4", "exhausted" : "12" } - } ] + } ], + "threshold" : "39614" }, { + "inactiveBallots" : { + "exhaustedChoices" : "34", + "overvotes" : "104", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 8, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "355", @@ -506,8 +562,15 @@ "TROY BENJEGERDES" : "1", "exhausted" : "17" } - } ] + } ], + "threshold" : "39608" }, { + "inactiveBallots" : { + "exhaustedChoices" : "36", + "overvotes" : "104", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 9, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "355", @@ -570,8 +633,15 @@ "TROY BENJEGERDES" : "1", "exhausted" : "33" } - } ] + } ], + "threshold" : "39599" }, { + "inactiveBallots" : { + "exhaustedChoices" : "51", + "overvotes" : "105", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 10, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "360", @@ -629,8 +699,15 @@ "TONY LANE" : "1", "exhausted" : "29" } - } ] + } ], + "threshold" : "39583" }, { + "inactiveBallots" : { + "exhaustedChoices" : "65", + "overvotes" : "106", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 11, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "364", @@ -690,8 +767,15 @@ "TROY BENJEGERDES" : "6", "exhausted" : "33" } - } ] + } ], + "threshold" : "39568" }, { + "inactiveBallots" : { + "exhaustedChoices" : "80", + "overvotes" : "107", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 12, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "367", @@ -747,8 +831,15 @@ "TROY BENJEGERDES" : "3", "exhausted" : "37" } - } ] + } ], + "threshold" : "39552" }, { + "inactiveBallots" : { + "exhaustedChoices" : "91", + "overvotes" : "107", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 13, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "372", @@ -804,8 +895,15 @@ "TONY LANE" : "6", "exhausted" : "22" } - } ] + } ], + "threshold" : "39533" }, { + "inactiveBallots" : { + "exhaustedChoices" : "107", + "overvotes" : "107", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 14, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "377", @@ -856,8 +954,15 @@ "TONY LANE" : "2", "exhausted" : "40" } - } ] + } ], + "threshold" : "39522" }, { + "inactiveBallots" : { + "exhaustedChoices" : "134", + "overvotes" : "107", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 15, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "377", @@ -907,8 +1012,15 @@ "TONY LANE" : "4", "exhausted" : "51" } - } ] + } ], + "threshold" : "39502" }, { + "inactiveBallots" : { + "exhaustedChoices" : "155", + "overvotes" : "107", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 16, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "381", @@ -956,8 +1068,15 @@ "TONY LANE" : "1", "exhausted" : "29" } - } ] + } ], + "threshold" : "39477" }, { + "inactiveBallots" : { + "exhaustedChoices" : "176", + "overvotes" : "107", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 17, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "383", @@ -1005,8 +1124,15 @@ "TONY LANE" : "5", "exhausted" : "25" } - } ] + } ], + "threshold" : "39462" }, { + "inactiveBallots" : { + "exhaustedChoices" : "195", + "overvotes" : "107", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 18, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "386", @@ -1051,8 +1177,15 @@ "TONY LANE" : "7", "exhausted" : "72" } - } ] + } ], + "threshold" : "39450" }, { + "inactiveBallots" : { + "exhaustedChoices" : "223", + "overvotes" : "107", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 19, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "391", @@ -1095,8 +1228,15 @@ "TONY LANE" : "13", "exhausted" : "54" } - } ] + } ], + "threshold" : "39414" }, { + "inactiveBallots" : { + "exhaustedChoices" : "270", + "overvotes" : "107", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 20, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "393", @@ -1136,8 +1276,15 @@ "STEPHANIE WOODRUFF" : "4", "exhausted" : "56" } - } ] + } ], + "threshold" : "39387" }, { + "inactiveBallots" : { + "exhaustedChoices" : "316", + "overvotes" : "107", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 21, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "393", @@ -1177,8 +1324,15 @@ "STEPHANIE WOODRUFF" : "1", "exhausted" : "99" } - } ] + } ], + "threshold" : "39359" }, { + "inactiveBallots" : { + "exhaustedChoices" : "405", + "overvotes" : "108", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 22, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "394", @@ -1216,8 +1370,15 @@ "STEPHANIE WOODRUFF" : "8", "exhausted" : "124" } - } ] + } ], + "threshold" : "39309" }, { + "inactiveBallots" : { + "exhaustedChoices" : "506", + "overvotes" : "109", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 23, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "410", @@ -1253,8 +1414,15 @@ "STEPHANIE WOODRUFF" : "16", "exhausted" : "270" } - } ] + } ], + "threshold" : "39247" }, { + "inactiveBallots" : { + "exhaustedChoices" : "667", + "overvotes" : "110", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 24, "tally" : { "ALICIA K. BENNETT" : "440", @@ -1288,8 +1456,15 @@ "STEPHANIE WOODRUFF" : "70", "exhausted" : "142" } - } ] + } ], + "threshold" : "39112" }, { + "inactiveBallots" : { + "exhaustedChoices" : "767", + "overvotes" : "110", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 25, "tally" : { "BETSY HODGES" : "29479", @@ -1320,8 +1495,15 @@ "STEPHANIE WOODRUFF" : "12", "exhausted" : "121" } - } ] + } ], + "threshold" : "39041" }, { + "inactiveBallots" : { + "exhaustedChoices" : "862", + "overvotes" : "110", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 26, "tally" : { "BETSY HODGES" : "29581", @@ -1351,8 +1533,15 @@ "STEPHANIE WOODRUFF" : "4", "exhausted" : "509" } - } ] + } ], + "threshold" : "38981" }, { + "inactiveBallots" : { + "exhaustedChoices" : "1168", + "overvotes" : "111", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 27, "tally" : { "BETSY HODGES" : "29595", @@ -1380,8 +1569,15 @@ "STEPHANIE WOODRUFF" : "37", "exhausted" : "370" } - } ] + } ], + "threshold" : "38726" }, { + "inactiveBallots" : { + "exhaustedChoices" : "1504", + "overvotes" : "112", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 28, "tally" : { "BETSY HODGES" : "30034", @@ -1407,8 +1603,15 @@ "STEPHANIE WOODRUFF" : "20", "exhausted" : "458" } - } ] + } ], + "threshold" : "38541" }, { + "inactiveBallots" : { + "exhaustedChoices" : "1765", + "overvotes" : "114", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 29, "tally" : { "BETSY HODGES" : "30278", @@ -1432,8 +1635,15 @@ "MARK ANDREW" : "127", "exhausted" : "300" } - } ] + } ], + "threshold" : "38312" }, { + "inactiveBallots" : { + "exhaustedChoices" : "2001", + "overvotes" : "115", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 30, "tally" : { "BETSY HODGES" : "30661", @@ -1455,8 +1665,15 @@ "MARK ANDREW" : "191", "exhausted" : "733" } - } ] + } ], + "threshold" : "38162" }, { + "inactiveBallots" : { + "exhaustedChoices" : "2536", + "overvotes" : "117", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 31, "tally" : { "BETSY HODGES" : "30952", @@ -1484,8 +1701,15 @@ "MARK ANDREW" : "456", "exhausted" : "794" } - } ] + } ], + "threshold" : "37796" }, { + "inactiveBallots" : { + "exhaustedChoices" : "3942", + "overvotes" : "123", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 32, "tally" : { "BETSY HODGES" : "32567", @@ -1507,8 +1731,15 @@ "MARK ANDREW" : "964", "exhausted" : "6290" } - } ] + } ], + "threshold" : "36810" }, { + "inactiveBallots" : { + "exhaustedChoices" : "11769", + "overvotes" : "140", + "repeatedRankings" : "0", + "skippedRankings" : "47" + }, "round" : 33, "tally" : { "BETSY HODGES" : "38852", @@ -1517,6 +1748,14 @@ "tallyResults" : [ { "elected" : "BETSY HODGES", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "31898" + } ], + "summary" : { + "finalThreshold" : "31898", + "numCandidates" : 36, + "numWinners" : 1, + "totalNumBallots" : "80101", + "undervotes" : 639 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_mayor_scale/2013_minneapolis_mayor_scale_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_mayor_scale/2013_minneapolis_mayor_scale_expected_summary.csv index 00ec88654..17f95efb4 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_mayor_scale/2013_minneapolis_mayor_scale_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_mayor_scale/2013_minneapolis_mayor_scale_expected_summary.csv @@ -1,47 +1,63 @@ -Contest,2013 Minneapolis Mayor -Jurisdiction, -Office, -Date, -Winner(s),BETSY HODGES -Threshold,414662 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6,Round 7,Round 8,Round 9,Round 10,Round 11,Round 12,Round 13,Round 14,Round 15,Round 16,Round 17,Round 18,Round 19,Round 20,Round 21,Round 22,Round 23,Round 24,Round 25,Round 26,Round 27,Round 28,Round 29,Round 30,Round 31,Round 32,Round 33 -Eliminated,Undeclared Write-ins,JOHN CHARLES WILSON,CYD GORMAN,BOB AGAIN CARNEY JR,RAHN V. WORKCUFF,"JAMES JIMMY L. STROUD, JR.",EDMUND BERNARD BRUYERE,JOHN LESLIE HARTWIG,BILL KAHN,JOSHUA REA,MERRILL ANDERSON,GREGG A. IVERSON,TROY BENJEGERDES,NEAL BAXTER,JEFFREY ALAN WAGNER,CHRISTOPHER ROBIN ZIMMERMAN,KURTIS W. HANNA,MIKE GOULD,JAYMIE KELLY,TONY LANE,CHRISTOPHER CLARK,CAPTAIN JACK SPARROW,ABDUL M RAHAMAN THE ROCK,ALICIA K. BENNETT,JAMES EVERETT,OLE SAVIOR,DOUG MANN,MARK V ANDERSON,STEPHANIE WOODRUFF,DAN COHEN,JACKIE CHERRYHOMES; BOB FINE,DON SAMUELS; CAM WINTON, -Elected,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,BETSY HODGES -BETSY HODGES,376363,376636,376649,376701,376779,376844,376896,377052,377156,377208,377260,377325,377416,377780,378196,378378,378456,379093,379262,380224,380965,381069,381823,382278,383227,384553,384735,390442,393614,398593,402376,423371,505076 -MARK ANDREW,255073,255281,255333,255346,255437,255450,255528,255593,255619,255658,255723,255853,256074,256243,256451,256997,257088,257218,257608,257712,258037,258141,258440,258895,259467,259922,260208,261599,262340,263991,266474,283426,324246 -DON SAMUELS,108472,108524,108537,108563,108667,108732,108771,108836,108875,108888,108927,109018,109083,109187,109304,109421,109486,109629,109837,109915,110136,110201,110344,110435,110799,111137,111436,111995,112983,114868,118157,133796,0 -CAM WINTON,97799,97890,97916,97942,97942,97981,97994,98098,98176,98202,98241,98280,98293,98358,98553,98579,98839,99112,99151,99216,99281,100022,100165,100204,100269,100360,101556,101790,103025,104247,109694,116454,0 -JACKIE CHERRYHOMES,46007,46046,46046,46046,46046,46111,46163,46241,46267,46306,46410,46488,46787,46839,46891,47034,47138,47164,47372,47476,47567,47593,47736,47840,48113,48503,48633,48867,50167,51363,52780,0,0 -BOB FINE,27235,27261,27287,27300,27326,27378,27417,27443,27456,27495,27508,27547,27677,27703,27755,27833,27833,27937,28106,28158,28210,28288,28496,28574,28821,28990,29237,29640,30381,31343,33189,0,0 -DAN COHEN,23452,23491,23517,23543,23543,23556,23595,23608,23686,23764,23829,23933,24024,24063,24115,24193,24258,24375,24479,24609,24648,24856,25155,25220,25350,25467,26156,26585,27274,27794,0,0,0 -STEPHANIE WOODRUFF,13156,13182,13195,13208,13221,13234,13234,13286,13299,13351,13351,13403,13481,13585,13676,13754,13754,13793,13988,14079,14131,14144,14248,14456,15366,15522,15574,16055,16315,0,0,0,0 -MARK V ANDERSON,12766,12779,12792,12831,12844,12909,12922,12935,13000,13065,13104,13208,13234,13299,13338,13351,13559,13611,13611,13663,13689,13923,13975,14079,14222,14339,14950,15080,0,0,0,0,0 -DOUG MANN,10127,10166,10231,10283,10322,10348,10348,10400,10413,10426,10517,10569,10608,10803,10868,10933,10998,11219,11271,11687,12493,12623,12909,12948,13026,14157,14378,0,0,0,0,0,0 -OLE SAVIOR,9035,9048,9061,9061,9061,9100,9100,9100,9178,9230,9230,9295,9321,9347,9464,9477,9711,9763,9789,9802,9802,10283,10439,10491,10530,10530,0,0,0,0,0,0,0 -ALICIA K. BENNETT,4563,4576,4576,4576,4589,4589,4628,4641,4680,4732,4771,4849,4914,4927,4927,5070,5096,5109,5369,5486,5564,5603,5642,5720,0,0,0,0,0,0,0,0,0 -ABDUL M RAHAMAN THE ROCK,4550,4563,4563,4563,4576,4589,4615,4615,4615,4680,4732,4771,4836,4901,4901,4953,4979,5018,5083,5109,5109,5122,5330,0,0,0,0,0,0,0,0,0,0 -JAMES EVERETT,4524,4537,4550,4563,4602,4641,4641,4654,4732,4771,4797,4810,4810,4927,4966,4979,5031,5187,5226,5356,5551,5590,5707,5759,5863,0,0,0,0,0,0,0,0 -CAPTAIN JACK SPARROW,3445,3497,3510,3510,3588,3601,3614,3614,3627,3679,3731,3796,3822,3874,3939,3978,4004,4212,4264,4316,4420,4563,0,0,0,0,0,0,0,0,0,0,0 -TONY LANE,2847,2860,2899,2899,2899,2912,2925,2938,2951,2977,2990,3055,3081,3159,3185,3237,3250,3315,3406,3575,0,0,0,0,0,0,0,0,0,0,0,0,0 -MIKE GOULD,2652,2691,2691,2691,2691,2691,2717,2730,2730,2782,2821,2834,2860,2873,2951,3055,3068,3094,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -KURTIS W. HANNA,2600,2600,2600,2613,2626,2626,2626,2626,2652,2652,2678,2691,2691,2782,2782,2795,2873,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -JAYMIE KELLY,2548,2561,2561,2561,2574,2587,2626,2639,2639,2665,2782,2847,2899,3055,3120,3133,3146,3211,3263,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -CHRISTOPHER CLARK,2470,2496,2522,2522,2522,2535,2535,2535,2574,2600,2600,2613,2639,2652,2730,2730,3432,3614,3653,3653,3705,0,0,0,0,0,0,0,0,0,0,0,0 -CHRISTOPHER ROBIN ZIMMERMAN,2210,2210,2210,2223,2223,2275,2288,2301,2340,2379,2392,2418,2444,2470,2496,2496,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -JEFFREY ALAN WAGNER,2145,2145,2145,2145,2145,2158,2197,2197,2210,2236,2262,2301,2392,2418,2431,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -TROY BENJEGERDES,1937,1937,1950,1950,1950,1950,1976,2028,2041,2054,2054,2132,2171,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -GREGG A. IVERSON,1898,1898,1911,1937,1937,1937,1937,1937,1976,1989,2015,2028,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -NEAL BAXTER,1885,1885,1885,1898,1898,1963,1963,1963,2158,2210,2223,2262,2288,2314,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -MERRILL ANDERSON,1417,1417,1417,1456,1469,1469,1534,1573,1586,1599,1807,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -JOSHUA REA,1417,1417,1417,1456,1456,1469,1482,1482,1495,1534,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -BILL KAHN,1326,1339,1352,1365,1378,1378,1404,1404,1430,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -JOHN LESLIE HARTWIG,1261,1261,1287,1287,1300,1313,1313,1313,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -EDMUND BERNARD BRUYERE,936,936,936,936,936,949,949,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -RAHN V. WORKCUFF,858,858,858,858,858,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -"JAMES JIMMY L. STROUD, JR.",845,858,858,858,884,884,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -BOB AGAIN CARNEY JR,728,728,728,741,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -CYD GORMAN,507,507,507,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -JOHN CHARLES WILSON,481,494,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -Undeclared Write-ins,1521,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -Inactive ballots,10257,10738,10816,10881,11024,11154,11375,11531,11752,12181,12558,12987,13468,13754,14274,14937,15314,15639,16575,17277,18005,19292,20904,24414,26260,27833,34450,39260,45214,49114,58643,84266,211991 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,2013 Minneapolis Mayor +Jurisdiction, +Office, +Date, +Winner(s),BETSY HODGES +Final Threshold,414662 + +Contest Summary +Number to be Elected,1 +Number of Candidates,36 +Total Number of Ballots,1041313 +Number of Undervotes,8307 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer,Round 7 Votes,% of vote,transfer,Round 8 Votes,% of vote,transfer,Round 9 Votes,% of vote,transfer,Round 10 Votes,% of vote,transfer,Round 11 Votes,% of vote,transfer,Round 12 Votes,% of vote,transfer,Round 13 Votes,% of vote,transfer,Round 14 Votes,% of vote,transfer,Round 15 Votes,% of vote,transfer,Round 16 Votes,% of vote,transfer,Round 17 Votes,% of vote,transfer,Round 18 Votes,% of vote,transfer,Round 19 Votes,% of vote,transfer,Round 20 Votes,% of vote,transfer,Round 21 Votes,% of vote,transfer,Round 22 Votes,% of vote,transfer,Round 23 Votes,% of vote,transfer,Round 24 Votes,% of vote,transfer,Round 25 Votes,% of vote,transfer,Round 26 Votes,% of vote,transfer,Round 27 Votes,% of vote,transfer,Round 28 Votes,% of vote,transfer,Round 29 Votes,% of vote,transfer,Round 30 Votes,% of vote,transfer,Round 31 Votes,% of vote,transfer,Round 32 Votes,% of vote,transfer,Round 33 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,JOHN CHARLES WILSON,,,CYD GORMAN,,,BOB AGAIN CARNEY JR,,,RAHN V. WORKCUFF,,,"JAMES JIMMY L. STROUD, JR.",,,EDMUND BERNARD BRUYERE,,,JOHN LESLIE HARTWIG,,,BILL KAHN,,,JOSHUA REA,,,MERRILL ANDERSON,,,GREGG A. IVERSON,,,TROY BENJEGERDES,,,NEAL BAXTER,,,JEFFREY ALAN WAGNER,,,CHRISTOPHER ROBIN ZIMMERMAN,,,KURTIS W. HANNA,,,MIKE GOULD,,,JAYMIE KELLY,,,TONY LANE,,,CHRISTOPHER CLARK,,,CAPTAIN JACK SPARROW,,,ABDUL M RAHAMAN THE ROCK,,,ALICIA K. BENNETT,,,JAMES EVERETT,,,OLE SAVIOR,,,DOUG MANN,,,MARK V ANDERSON,,,STEPHANIE WOODRUFF,,,DAN COHEN,,,JACKIE CHERRYHOMES; BOB FINE,,,DON SAMUELS; CAM WINTON,,,,, +Elected,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,BETSY HODGES,, +BETSY HODGES,376363,36.5%,273,376636,36.54%,13,376649,36.55%,52,376701,36.55%,78,376779,36.57%,65,376844,36.58%,52,376896,36.59%,156,377052,36.61%,104,377156,36.63%,52,377208,36.65%,52,377260,36.67%,65,377325,36.69%,91,377416,36.71%,364,377780,36.76%,416,378196,36.82%,182,378378,36.86%,78,378456,36.88%,637,379093,36.96%,169,379262,37.01%,962,380224,37.12%,741,380965,37.22%,104,381069,37.28%,754,381823,37.41%,455,382278,37.59%,949,383227,37.75%,1326,384553,37.94%,182,384735,38.21%,5707,390442,38.96%,3172,393614,39.51%,4979,398593,40.17%,3783,402376,40.94%,20995,423371,44.23%,81705,505076,60.9%,0 +MARK ANDREW,255073,24.73%,208,255281,24.77%,52,255333,24.77%,13,255346,24.78%,91,255437,24.79%,13,255450,24.79%,78,255528,24.81%,65,255593,24.82%,26,255619,24.82%,39,255658,24.84%,65,255723,24.85%,130,255853,24.88%,221,256074,24.91%,169,256243,24.93%,208,256451,24.96%,546,256997,25.03%,91,257088,25.05%,130,257218,25.07%,390,257608,25.13%,104,257712,25.16%,325,258037,25.21%,104,258141,25.25%,299,258440,25.32%,455,258895,25.45%,572,259467,25.56%,455,259922,25.64%,286,260208,25.84%,1391,261599,26.1%,741,262340,26.33%,1651,263991,26.6%,2483,266474,27.11%,16952,283426,29.61%,40820,324246,39.09%,0 +DON SAMUELS,108472,10.52%,52,108524,10.53%,13,108537,10.53%,26,108563,10.53%,104,108667,10.54%,65,108732,10.55%,39,108771,10.56%,65,108836,10.56%,39,108875,10.57%,13,108888,10.58%,39,108927,10.58%,91,109018,10.6%,65,109083,10.61%,104,109187,10.62%,117,109304,10.64%,117,109421,10.66%,65,109486,10.67%,143,109629,10.68%,208,109837,10.71%,78,109915,10.73%,221,110136,10.76%,65,110201,10.78%,143,110344,10.81%,91,110435,10.85%,364,110799,10.91%,338,111137,10.96%,299,111436,11.06%,559,111995,11.17%,988,112983,11.34%,1885,114868,11.57%,3289,118157,12.02%,15639,133796,13.98%,-133796,0,0.0%,0 +CAM WINTON,97799,9.48%,91,97890,9.49%,26,97916,9.5%,26,97942,9.5%,0,97942,9.5%,39,97981,9.51%,13,97994,9.51%,104,98098,9.52%,78,98176,9.53%,26,98202,9.54%,39,98241,9.54%,39,98280,9.55%,13,98293,9.56%,65,98358,9.57%,195,98553,9.59%,26,98579,9.6%,260,98839,9.63%,273,99112,9.66%,39,99151,9.67%,65,99216,9.68%,65,99281,9.7%,741,100022,9.78%,143,100165,9.81%,39,100204,9.85%,65,100269,9.87%,91,100360,9.9%,1196,101556,10.08%,234,101790,10.15%,1235,103025,10.34%,1222,104247,10.5%,5447,109694,11.16%,6760,116454,12.16%,-116454,0,0.0%,0 +JACKIE CHERRYHOMES,46007,4.46%,39,46046,4.46%,0,46046,4.46%,0,46046,4.46%,0,46046,4.46%,65,46111,4.47%,52,46163,4.48%,78,46241,4.49%,26,46267,4.49%,39,46306,4.49%,104,46410,4.51%,78,46488,4.52%,299,46787,4.55%,52,46839,4.55%,52,46891,4.56%,143,47034,4.58%,104,47138,4.59%,26,47164,4.59%,208,47372,4.62%,104,47476,4.63%,91,47567,4.64%,26,47593,4.65%,143,47736,4.67%,104,47840,4.7%,273,48113,4.73%,390,48503,4.78%,130,48633,4.83%,234,48867,4.87%,1300,50167,5.03%,1196,51363,5.17%,1417,52780,5.37%,-52780,0,0.0%,0,0,0.0%,0 +BOB FINE,27235,2.64%,26,27261,2.64%,26,27287,2.64%,13,27300,2.64%,26,27326,2.65%,52,27378,2.65%,39,27417,2.66%,26,27443,2.66%,13,27456,2.66%,39,27495,2.67%,13,27508,2.67%,39,27547,2.67%,130,27677,2.69%,26,27703,2.69%,52,27755,2.7%,78,27833,2.71%,0,27833,2.71%,104,27937,2.72%,169,28106,2.74%,52,28158,2.74%,52,28210,2.75%,78,28288,2.76%,208,28496,2.79%,78,28574,2.8%,247,28821,2.83%,169,28990,2.86%,247,29237,2.9%,403,29640,2.95%,741,30381,3.04%,962,31343,3.15%,1846,33189,3.37%,-33189,0,0.0%,0,0,0.0%,0 +DAN COHEN,23452,2.27%,39,23491,2.27%,26,23517,2.28%,26,23543,2.28%,0,23543,2.28%,13,23556,2.28%,39,23595,2.29%,13,23608,2.29%,78,23686,2.3%,78,23764,2.3%,65,23829,2.31%,104,23933,2.32%,91,24024,2.33%,39,24063,2.34%,52,24115,2.34%,78,24193,2.35%,65,24258,2.36%,117,24375,2.37%,104,24479,2.38%,130,24609,2.4%,39,24648,2.4%,208,24856,2.43%,299,25155,2.46%,65,25220,2.48%,130,25350,2.49%,117,25467,2.51%,689,26156,2.59%,429,26585,2.65%,689,27274,2.73%,520,27794,2.8%,-27794,0,0.0%,0,0,0.0%,0,0,0.0%,0 +STEPHANIE WOODRUFF,13156,1.27%,26,13182,1.27%,13,13195,1.28%,13,13208,1.28%,13,13221,1.28%,13,13234,1.28%,0,13234,1.28%,52,13286,1.29%,13,13299,1.29%,52,13351,1.29%,0,13351,1.29%,52,13403,1.3%,78,13481,1.31%,104,13585,1.32%,91,13676,1.33%,78,13754,1.34%,0,13754,1.34%,39,13793,1.34%,195,13988,1.36%,91,14079,1.37%,52,14131,1.38%,13,14144,1.38%,104,14248,1.39%,208,14456,1.42%,910,15366,1.51%,156,15522,1.53%,52,15574,1.54%,481,16055,1.6%,260,16315,1.63%,-16315,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +MARK V ANDERSON,12766,1.23%,13,12779,1.23%,13,12792,1.24%,39,12831,1.24%,13,12844,1.24%,65,12909,1.25%,13,12922,1.25%,13,12935,1.25%,65,13000,1.26%,65,13065,1.26%,39,13104,1.27%,104,13208,1.28%,26,13234,1.28%,65,13299,1.29%,39,13338,1.29%,13,13351,1.3%,208,13559,1.32%,52,13611,1.32%,0,13611,1.32%,52,13663,1.33%,26,13689,1.33%,234,13923,1.36%,52,13975,1.36%,104,14079,1.38%,143,14222,1.4%,117,14339,1.41%,611,14950,1.48%,130,15080,1.5%,-15080,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +DOUG MANN,10127,0.98%,39,10166,0.98%,65,10231,0.99%,52,10283,0.99%,39,10322,1.0%,26,10348,1.0%,0,10348,1.0%,52,10400,1.0%,13,10413,1.01%,13,10426,1.01%,91,10517,1.02%,52,10569,1.02%,39,10608,1.03%,195,10803,1.05%,65,10868,1.05%,65,10933,1.06%,65,10998,1.07%,221,11219,1.09%,52,11271,1.09%,416,11687,1.14%,806,12493,1.22%,130,12623,1.23%,286,12909,1.26%,39,12948,1.27%,78,13026,1.28%,1131,14157,1.39%,221,14378,1.42%,-14378,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +OLE SAVIOR,9035,0.87%,13,9048,0.87%,13,9061,0.87%,0,9061,0.87%,0,9061,0.87%,39,9100,0.88%,0,9100,0.88%,0,9100,0.88%,78,9178,0.89%,52,9230,0.89%,0,9230,0.89%,65,9295,0.9%,26,9321,0.9%,26,9347,0.9%,117,9464,0.92%,13,9477,0.92%,234,9711,0.94%,52,9763,0.95%,26,9789,0.95%,13,9802,0.95%,0,9802,0.95%,481,10283,1.0%,156,10439,1.02%,52,10491,1.03%,39,10530,1.03%,0,10530,1.03%,-10530,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +ALICIA K. BENNETT,4563,0.44%,13,4576,0.44%,0,4576,0.44%,0,4576,0.44%,13,4589,0.44%,0,4589,0.44%,39,4628,0.44%,13,4641,0.45%,39,4680,0.45%,52,4732,0.45%,39,4771,0.46%,78,4849,0.47%,65,4914,0.47%,13,4927,0.47%,0,4927,0.47%,143,5070,0.49%,26,5096,0.49%,13,5109,0.49%,260,5369,0.52%,117,5486,0.53%,78,5564,0.54%,39,5603,0.54%,39,5642,0.55%,78,5720,0.56%,-5720,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +ABDUL M RAHAMAN THE ROCK,4550,0.44%,13,4563,0.44%,0,4563,0.44%,0,4563,0.44%,13,4576,0.44%,13,4589,0.44%,26,4615,0.44%,0,4615,0.44%,0,4615,0.44%,65,4680,0.45%,52,4732,0.45%,39,4771,0.46%,65,4836,0.47%,65,4901,0.47%,0,4901,0.47%,52,4953,0.48%,26,4979,0.48%,39,5018,0.48%,65,5083,0.49%,26,5109,0.49%,0,5109,0.49%,13,5122,0.5%,208,5330,0.52%,-5330,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +JAMES EVERETT,4524,0.43%,13,4537,0.44%,13,4550,0.44%,13,4563,0.44%,39,4602,0.44%,39,4641,0.45%,0,4641,0.45%,13,4654,0.45%,78,4732,0.45%,39,4771,0.46%,26,4797,0.46%,13,4810,0.46%,0,4810,0.46%,117,4927,0.47%,39,4966,0.48%,13,4979,0.48%,52,5031,0.49%,156,5187,0.5%,39,5226,0.5%,130,5356,0.52%,195,5551,0.54%,39,5590,0.54%,117,5707,0.55%,52,5759,0.56%,104,5863,0.57%,-5863,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +CAPTAIN JACK SPARROW,3445,0.33%,52,3497,0.33%,13,3510,0.34%,0,3510,0.34%,78,3588,0.34%,13,3601,0.34%,13,3614,0.35%,0,3614,0.35%,13,3627,0.35%,52,3679,0.35%,52,3731,0.36%,65,3796,0.36%,26,3822,0.37%,52,3874,0.37%,65,3939,0.38%,39,3978,0.38%,26,4004,0.39%,208,4212,0.41%,52,4264,0.41%,52,4316,0.42%,104,4420,0.43%,143,4563,0.44%,-4563,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +TONY LANE,2847,0.27%,13,2860,0.27%,39,2899,0.28%,0,2899,0.28%,0,2899,0.28%,13,2912,0.28%,13,2925,0.28%,13,2938,0.28%,13,2951,0.28%,26,2977,0.28%,13,2990,0.29%,65,3055,0.29%,26,3081,0.29%,78,3159,0.3%,26,3185,0.31%,52,3237,0.31%,13,3250,0.31%,65,3315,0.32%,91,3406,0.33%,169,3575,0.34%,-3575,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +MIKE GOULD,2652,0.25%,39,2691,0.26%,0,2691,0.26%,0,2691,0.26%,0,2691,0.26%,0,2691,0.26%,26,2717,0.26%,13,2730,0.26%,0,2730,0.26%,52,2782,0.27%,39,2821,0.27%,13,2834,0.27%,26,2860,0.27%,13,2873,0.27%,78,2951,0.28%,104,3055,0.29%,13,3068,0.29%,26,3094,0.3%,-3094,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +KURTIS W. HANNA,2600,0.25%,0,2600,0.25%,0,2600,0.25%,13,2613,0.25%,13,2626,0.25%,0,2626,0.25%,0,2626,0.25%,0,2626,0.25%,26,2652,0.25%,0,2652,0.25%,26,2678,0.26%,13,2691,0.26%,0,2691,0.26%,91,2782,0.27%,0,2782,0.27%,13,2795,0.27%,78,2873,0.28%,-2873,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +JAYMIE KELLY,2548,0.24%,13,2561,0.24%,0,2561,0.24%,0,2561,0.24%,13,2574,0.24%,13,2587,0.25%,39,2626,0.25%,13,2639,0.25%,0,2639,0.25%,26,2665,0.25%,117,2782,0.27%,65,2847,0.27%,52,2899,0.28%,156,3055,0.29%,65,3120,0.3%,13,3133,0.3%,13,3146,0.3%,65,3211,0.31%,52,3263,0.31%,-3263,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +CHRISTOPHER CLARK,2470,0.23%,26,2496,0.24%,26,2522,0.24%,0,2522,0.24%,0,2522,0.24%,13,2535,0.24%,0,2535,0.24%,0,2535,0.24%,39,2574,0.25%,26,2600,0.25%,0,2600,0.25%,13,2613,0.25%,26,2639,0.25%,13,2652,0.25%,78,2730,0.26%,0,2730,0.26%,702,3432,0.33%,182,3614,0.35%,39,3653,0.35%,0,3653,0.35%,52,3705,0.36%,-3705,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +CHRISTOPHER ROBIN ZIMMERMAN,2210,0.21%,0,2210,0.21%,0,2210,0.21%,13,2223,0.21%,0,2223,0.21%,52,2275,0.22%,13,2288,0.22%,13,2301,0.22%,39,2340,0.22%,39,2379,0.23%,13,2392,0.23%,26,2418,0.23%,26,2444,0.23%,26,2470,0.24%,26,2496,0.24%,0,2496,0.24%,-2496,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +JEFFREY ALAN WAGNER,2145,0.2%,0,2145,0.2%,0,2145,0.2%,0,2145,0.2%,0,2145,0.2%,13,2158,0.2%,39,2197,0.21%,0,2197,0.21%,13,2210,0.21%,26,2236,0.21%,26,2262,0.21%,39,2301,0.22%,91,2392,0.23%,26,2418,0.23%,13,2431,0.23%,-2431,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +TROY BENJEGERDES,1937,0.18%,0,1937,0.18%,13,1950,0.18%,0,1950,0.18%,0,1950,0.18%,0,1950,0.18%,26,1976,0.19%,52,2028,0.19%,13,2041,0.19%,13,2054,0.19%,0,2054,0.19%,78,2132,0.2%,39,2171,0.21%,-2171,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +GREGG A. IVERSON,1898,0.18%,0,1898,0.18%,13,1911,0.18%,26,1937,0.18%,0,1937,0.18%,0,1937,0.18%,0,1937,0.18%,0,1937,0.18%,39,1976,0.19%,13,1989,0.19%,26,2015,0.19%,13,2028,0.19%,-2028,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +NEAL BAXTER,1885,0.18%,0,1885,0.18%,0,1885,0.18%,13,1898,0.18%,0,1898,0.18%,65,1963,0.19%,0,1963,0.19%,0,1963,0.19%,195,2158,0.2%,52,2210,0.21%,13,2223,0.21%,39,2262,0.21%,26,2288,0.22%,26,2314,0.22%,-2314,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +MERRILL ANDERSON,1417,0.13%,0,1417,0.13%,0,1417,0.13%,39,1456,0.14%,13,1469,0.14%,0,1469,0.14%,65,1534,0.14%,39,1573,0.15%,13,1586,0.15%,13,1599,0.15%,208,1807,0.17%,-1807,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +JOSHUA REA,1417,0.13%,0,1417,0.13%,0,1417,0.13%,39,1456,0.14%,0,1456,0.14%,13,1469,0.14%,13,1482,0.14%,0,1482,0.14%,13,1495,0.14%,39,1534,0.14%,-1534,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +BILL KAHN,1326,0.12%,13,1339,0.12%,13,1352,0.13%,13,1365,0.13%,13,1378,0.13%,0,1378,0.13%,26,1404,0.13%,0,1404,0.13%,26,1430,0.13%,-1430,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +JOHN LESLIE HARTWIG,1261,0.12%,0,1261,0.12%,26,1287,0.12%,0,1287,0.12%,13,1300,0.12%,13,1313,0.12%,0,1313,0.12%,0,1313,0.12%,-1313,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +EDMUND BERNARD BRUYERE,936,0.09%,0,936,0.09%,0,936,0.09%,0,936,0.09%,0,936,0.09%,13,949,0.09%,0,949,0.09%,-949,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +RAHN V. WORKCUFF,858,0.08%,0,858,0.08%,0,858,0.08%,0,858,0.08%,0,858,0.08%,-858,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"JAMES JIMMY L. STROUD, JR.",845,0.08%,13,858,0.08%,0,858,0.08%,0,858,0.08%,26,884,0.08%,0,884,0.08%,-884,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +BOB AGAIN CARNEY JR,728,0.07%,0,728,0.07%,0,728,0.07%,13,741,0.07%,-741,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +CYD GORMAN,507,0.04%,0,507,0.04%,0,507,0.04%,-507,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +JOHN CHARLES WILSON,481,0.04%,13,494,0.04%,-494,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,1521,0.14%,-1521,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,1031056,,,1030575,,,1030497,,,1030432,,,1030289,,,1030159,,,1029938,,,1029782,,,1029561,,,1029132,,,1028755,,,1028326,,,1027845,,,1027559,,,1027039,,,1026376,,,1025999,,,1025674,,,1024738,,,1024036,,,1023308,,,1022021,,,1020409,,,1016899,,,1015053,,,1013480,,,1006863,,,1002053,,,996099,,,992199,,,982670,,,957047,,,829322,, +Current Round Threshold,515529,,,515288,,,515249,,,515217,,,515145,,,515080,,,514970,,,514892,,,514781,,,514567,,,514378,,,514164,,,513923,,,513780,,,513520,,,513189,,,513000,,,512838,,,512370,,,512019,,,511655,,,511011,,,510205,,,508450,,,507527,,,506741,,,503432,,,501027,,,498050,,,496100,,,491336,,,478524,,,414662,, +Inactive Ballots by by Overvotes,1339,13,,1352,0,,1352,0,,1352,0,,1352,0,,1352,0,,1352,0,,1352,0,,1352,13,,1365,13,,1378,13,,1391,0,,1391,0,,1391,0,,1391,0,,1391,0,,1391,0,,1391,0,,1391,0,,1391,0,,1391,13,,1404,13,,1417,13,,1430,0,,1430,0,,1430,13,,1443,13,,1456,26,,1482,13,,1495,26,,1521,78,,1599,221,,1820,0, +Inactive Ballots by by Skipped Rankings,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0,,611,0, +Inactive Ballots by by Exhausted Choices,0,234,,234,0,,234,13,,247,13,,260,52,,312,65,,377,65,,442,26,,468,195,,663,182,,845,195,,1040,143,,1183,208,,1391,351,,1742,273,,2015,273,,2288,247,,2535,364,,2899,611,,3510,598,,4108,1157,,5265,1313,,6578,2093,,8671,1300,,9971,1235,,11206,3978,,15184,4368,,19552,3393,,22945,3068,,26013,6955,,32968,18278,,51246,101751,,152997,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,1950,481,,2431,78,,2509,65,,2574,143,,2717,130,,2847,221,,3068,156,,3224,221,,3445,429,,3874,377,,4251,429,,4680,481,,5161,286,,5447,520,,5967,663,,6630,377,,7007,325,,7332,936,,8268,702,,8970,728,,9698,1287,,10985,1612,,12597,3510,,16107,1846,,17953,1573,,19526,6617,,26143,4810,,30953,5954,,36907,3900,,40807,9529,,50336,25623,,75959,127725,,203684,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_mayor_scale/2013_minneapolis_mayor_scale_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_mayor_scale/2013_minneapolis_mayor_scale_expected_summary.json index 568ce2bd4..32e11441f 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_mayor_scale/2013_minneapolis_mayor_scale_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_mayor_scale/2013_minneapolis_mayor_scale_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "2013 Minneapolis Mayor", "date" : "", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "414662" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1339", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 1, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "4550", @@ -73,8 +80,15 @@ "TONY LANE" : "13", "exhausted" : "481" } - } ] + } ], + "threshold" : "515529" }, { + "inactiveBallots" : { + "exhaustedChoices" : "234", + "overvotes" : "1352", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 2, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "4563", @@ -136,8 +150,15 @@ "TROY BENJEGERDES" : "13", "exhausted" : "78" } - } ] + } ], + "threshold" : "515288" }, { + "inactiveBallots" : { + "exhaustedChoices" : "234", + "overvotes" : "1352", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 3, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "4563", @@ -198,8 +219,15 @@ "STEPHANIE WOODRUFF" : "13", "exhausted" : "65" } - } ] + } ], + "threshold" : "515249" }, { + "inactiveBallots" : { + "exhaustedChoices" : "247", + "overvotes" : "1352", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 4, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "4563", @@ -258,8 +286,15 @@ "STEPHANIE WOODRUFF" : "13", "exhausted" : "143" } - } ] + } ], + "threshold" : "515217" }, { + "inactiveBallots" : { + "exhaustedChoices" : "260", + "overvotes" : "1352", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 5, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "4576", @@ -323,8 +358,15 @@ "TONY LANE" : "13", "exhausted" : "130" } - } ] + } ], + "threshold" : "515145" }, { + "inactiveBallots" : { + "exhaustedChoices" : "312", + "overvotes" : "1352", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 6, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "4589", @@ -384,8 +426,15 @@ "TROY BENJEGERDES" : "26", "exhausted" : "221" } - } ] + } ], + "threshold" : "515080" }, { + "inactiveBallots" : { + "exhaustedChoices" : "377", + "overvotes" : "1352", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 7, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "4615", @@ -442,8 +491,15 @@ "TROY BENJEGERDES" : "52", "exhausted" : "156" } - } ] + } ], + "threshold" : "514970" }, { + "inactiveBallots" : { + "exhaustedChoices" : "442", + "overvotes" : "1352", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 8, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "4615", @@ -506,8 +562,15 @@ "TROY BENJEGERDES" : "13", "exhausted" : "221" } - } ] + } ], + "threshold" : "514892" }, { + "inactiveBallots" : { + "exhaustedChoices" : "468", + "overvotes" : "1352", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 9, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "4615", @@ -570,8 +633,15 @@ "TROY BENJEGERDES" : "13", "exhausted" : "429" } - } ] + } ], + "threshold" : "514781" }, { + "inactiveBallots" : { + "exhaustedChoices" : "663", + "overvotes" : "1365", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 10, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "4680", @@ -629,8 +699,15 @@ "TONY LANE" : "13", "exhausted" : "377" } - } ] + } ], + "threshold" : "514567" }, { + "inactiveBallots" : { + "exhaustedChoices" : "845", + "overvotes" : "1378", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 11, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "4732", @@ -690,8 +767,15 @@ "TROY BENJEGERDES" : "78", "exhausted" : "429" } - } ] + } ], + "threshold" : "514378" }, { + "inactiveBallots" : { + "exhaustedChoices" : "1040", + "overvotes" : "1391", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 12, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "4771", @@ -747,8 +831,15 @@ "TROY BENJEGERDES" : "39", "exhausted" : "481" } - } ] + } ], + "threshold" : "514164" }, { + "inactiveBallots" : { + "exhaustedChoices" : "1183", + "overvotes" : "1391", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 13, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "4836", @@ -804,8 +895,15 @@ "TONY LANE" : "78", "exhausted" : "286" } - } ] + } ], + "threshold" : "513923" }, { + "inactiveBallots" : { + "exhaustedChoices" : "1391", + "overvotes" : "1391", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 14, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "4901", @@ -856,8 +954,15 @@ "TONY LANE" : "26", "exhausted" : "520" } - } ] + } ], + "threshold" : "513780" }, { + "inactiveBallots" : { + "exhaustedChoices" : "1742", + "overvotes" : "1391", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 15, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "4901", @@ -907,8 +1012,15 @@ "TONY LANE" : "52", "exhausted" : "663" } - } ] + } ], + "threshold" : "513520" }, { + "inactiveBallots" : { + "exhaustedChoices" : "2015", + "overvotes" : "1391", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 16, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "4953", @@ -956,8 +1068,15 @@ "TONY LANE" : "13", "exhausted" : "377" } - } ] + } ], + "threshold" : "513189" }, { + "inactiveBallots" : { + "exhaustedChoices" : "2288", + "overvotes" : "1391", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 17, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "4979", @@ -1005,8 +1124,15 @@ "TONY LANE" : "65", "exhausted" : "325" } - } ] + } ], + "threshold" : "513000" }, { + "inactiveBallots" : { + "exhaustedChoices" : "2535", + "overvotes" : "1391", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 18, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "5018", @@ -1051,8 +1177,15 @@ "TONY LANE" : "91", "exhausted" : "936" } - } ] + } ], + "threshold" : "512838" }, { + "inactiveBallots" : { + "exhaustedChoices" : "2899", + "overvotes" : "1391", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 19, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "5083", @@ -1095,8 +1228,15 @@ "TONY LANE" : "169", "exhausted" : "702" } - } ] + } ], + "threshold" : "512370" }, { + "inactiveBallots" : { + "exhaustedChoices" : "3510", + "overvotes" : "1391", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 20, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "5109", @@ -1136,8 +1276,15 @@ "STEPHANIE WOODRUFF" : "52", "exhausted" : "728" } - } ] + } ], + "threshold" : "512019" }, { + "inactiveBallots" : { + "exhaustedChoices" : "4108", + "overvotes" : "1391", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 21, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "5109", @@ -1177,8 +1324,15 @@ "STEPHANIE WOODRUFF" : "13", "exhausted" : "1287" } - } ] + } ], + "threshold" : "511655" }, { + "inactiveBallots" : { + "exhaustedChoices" : "5265", + "overvotes" : "1404", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 22, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "5122", @@ -1216,8 +1370,15 @@ "STEPHANIE WOODRUFF" : "104", "exhausted" : "1612" } - } ] + } ], + "threshold" : "511011" }, { + "inactiveBallots" : { + "exhaustedChoices" : "6578", + "overvotes" : "1417", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 23, "tally" : { "ABDUL M RAHAMAN THE ROCK" : "5330", @@ -1253,8 +1414,15 @@ "STEPHANIE WOODRUFF" : "208", "exhausted" : "3510" } - } ] + } ], + "threshold" : "510205" }, { + "inactiveBallots" : { + "exhaustedChoices" : "8671", + "overvotes" : "1430", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 24, "tally" : { "ALICIA K. BENNETT" : "5720", @@ -1288,8 +1456,15 @@ "STEPHANIE WOODRUFF" : "910", "exhausted" : "1846" } - } ] + } ], + "threshold" : "508450" }, { + "inactiveBallots" : { + "exhaustedChoices" : "9971", + "overvotes" : "1430", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 25, "tally" : { "BETSY HODGES" : "383227", @@ -1320,8 +1495,15 @@ "STEPHANIE WOODRUFF" : "156", "exhausted" : "1573" } - } ] + } ], + "threshold" : "507527" }, { + "inactiveBallots" : { + "exhaustedChoices" : "11206", + "overvotes" : "1430", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 26, "tally" : { "BETSY HODGES" : "384553", @@ -1351,8 +1533,15 @@ "STEPHANIE WOODRUFF" : "52", "exhausted" : "6617" } - } ] + } ], + "threshold" : "506741" }, { + "inactiveBallots" : { + "exhaustedChoices" : "15184", + "overvotes" : "1443", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 27, "tally" : { "BETSY HODGES" : "384735", @@ -1380,8 +1569,15 @@ "STEPHANIE WOODRUFF" : "481", "exhausted" : "4810" } - } ] + } ], + "threshold" : "503432" }, { + "inactiveBallots" : { + "exhaustedChoices" : "19552", + "overvotes" : "1456", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 28, "tally" : { "BETSY HODGES" : "390442", @@ -1407,8 +1603,15 @@ "STEPHANIE WOODRUFF" : "260", "exhausted" : "5954" } - } ] + } ], + "threshold" : "501027" }, { + "inactiveBallots" : { + "exhaustedChoices" : "22945", + "overvotes" : "1482", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 29, "tally" : { "BETSY HODGES" : "393614", @@ -1432,8 +1635,15 @@ "MARK ANDREW" : "1651", "exhausted" : "3900" } - } ] + } ], + "threshold" : "498050" }, { + "inactiveBallots" : { + "exhaustedChoices" : "26013", + "overvotes" : "1495", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 30, "tally" : { "BETSY HODGES" : "398593", @@ -1455,8 +1665,15 @@ "MARK ANDREW" : "2483", "exhausted" : "9529" } - } ] + } ], + "threshold" : "496100" }, { + "inactiveBallots" : { + "exhaustedChoices" : "32968", + "overvotes" : "1521", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 31, "tally" : { "BETSY HODGES" : "402376", @@ -1484,8 +1701,15 @@ "MARK ANDREW" : "5928", "exhausted" : "10322" } - } ] + } ], + "threshold" : "491336" }, { + "inactiveBallots" : { + "exhaustedChoices" : "51246", + "overvotes" : "1599", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 32, "tally" : { "BETSY HODGES" : "423371", @@ -1507,8 +1731,15 @@ "MARK ANDREW" : "12532", "exhausted" : "81770" } - } ] + } ], + "threshold" : "478524" }, { + "inactiveBallots" : { + "exhaustedChoices" : "152997", + "overvotes" : "1820", + "repeatedRankings" : "0", + "skippedRankings" : "611" + }, "round" : 33, "tally" : { "BETSY HODGES" : "505076", @@ -1517,6 +1748,14 @@ "tallyResults" : [ { "elected" : "BETSY HODGES", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "414662" + } ], + "summary" : { + "finalThreshold" : "414662", + "numCandidates" : 36, + "numWinners" : 1, + "totalNumBallots" : "1041313", + "undervotes" : 8307 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park/2013_minneapolis_park_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park/2013_minneapolis_park_expected_summary.csv index 19b74aabe..e4931402e 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park/2013_minneapolis_park_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park/2013_minneapolis_park_expected_summary.csv @@ -1,23 +1,39 @@ -Contest,2013 Minneapolis Park Board -Jurisdiction,Minneapolis -Office,Park and Recreation Commissioner -Date, -Winner(s),"JOHN ERWIN, ANNIE YOUNG, MEG FORNEY" -Threshold,14866 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6,Round 7,Round 8,Round 9,Round 10,Round 11 -Eliminated,Undeclared Write-ins,CASPER HILL,,ISHMAEL ISRAEL,MARY LYNN MCPHERSON,STEVE BARLAND,HASHIM YONIS,JASON STONE,TOM NORDYKE,, -Elected,,,JOHN ERWIN,,,,,,,ANNIE YOUNG; MEG FORNEY, -JOHN ERWIN,14678,14684,14866,14866.0000,14866.0000,14866.0000,14866.0000,14866.0000,14866.0000,14866.0000,14866.0000 -ANNIE YOUNG,9294,9302,9452,9452.0000,10055.0000,11054.0000,11525.0000,12027.0000,13886.0000,15044.0000,14866 -MEG FORNEY,7856,7864,8031,8031.0000,8421.0000,9159.0000,9829.0000,10156.0000,10965.0000,12245.0000,12245.0000 -TOM NORDYKE,6511,6514,6595,6595.0000,6759.0000,7001.0000,7535.0000,7688.0000,8701.0000,0,0 -JASON STONE,5357,5364,5477,5477.0000,5819.0000,6097.0000,6549.0000,6741.0000,0,0,0 -HASHIM YONIS,3762,3767,3799,3799.0000,4346.0000,4490.0000,4571.0000,0,0,0,0 -STEVE BARLAND,3705,3707,3803,3803.0000,3901.0000,4113.0000,0,0,0,0,0 -MARY LYNN MCPHERSON,3373,3378,3479,3479.0000,3694.0000,0,0,0,0,0,0 -ISHMAEL ISRAEL,3305,3310,3374,3374.0000,0,0,0,0,0,0,0 -CASPER HILL,1280,1284,0,0,0,0,0,0,0,0,0 -Undeclared Write-ins,342,0,0,0,0,0,0,0,0,0,0 -Inactive ballots,20638,20927,21225,21225.0000,22240.0000,23321.0000,25226.0000,28623.0000,31683.0000,37946.0000,38123.5192 -Residual surplus,0,0,0,0,0,0,0,0,0,0,0.4808 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Multi-Winner +Contest,2013 Minneapolis Park Board +Jurisdiction,Minneapolis +Office,Park and Recreation Commissioner +Date, +Winner(s),"JOHN ERWIN, ANNIE YOUNG, MEG FORNEY" +Final Threshold,14866 + +Contest Summary +Number to be Elected,3 +Number of Candidates,11 +Total Number of Ballots,80101 +Number of Undervotes,20571 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer,Round 7 Votes,% of vote,transfer,Round 8 Votes,% of vote,transfer,Round 9 Votes,% of vote,transfer,Round 10 Votes,% of vote,transfer,Round 11 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,CASPER HILL,,,,,,ISHMAEL ISRAEL,,,MARY LYNN MCPHERSON,,,STEVE BARLAND,,,HASHIM YONIS,,,JASON STONE,,,TOM NORDYKE,,,,,,,, +Elected,,,,,,,JOHN ERWIN,,,,,,,,,,,,,,,,,,,,,ANNIE YOUNG; MEG FORNEY,,,,, +JOHN ERWIN,14678,24.68%,6,14684,24.81%,182,14866,25.24%,0.0000,14866.0000,33.77%,0.0000,14866.0000,34.57%,0.0000,14866.0000,35.46%,0.0000,14866.0000,37.15%,0.0000,14866.0000,40.6%,0.0000,14866.0000,44.3%,0.0000,14866.0000,54.47%,0.0000,14866.0000,,0 +ANNIE YOUNG,9294,15.62%,8,9302,15.71%,150,9452,16.05%,0.0000,9452.0000,21.47%,603.0000,10055.0000,23.38%,999.0000,11054.0000,26.37%,471.0000,11525.0000,28.8%,502.0000,12027.0000,32.84%,1859.0000,13886.0000,41.38%,1158.0000,15044.0000,55.12%,-178.0000,14866,,0 +MEG FORNEY,7856,13.21%,8,7864,13.28%,167,8031,13.64%,0.0000,8031.0000,18.24%,390.0000,8421.0000,19.58%,738.0000,9159.0000,21.85%,670.0000,9829.0000,24.56%,327.0000,10156.0000,27.73%,809.0000,10965.0000,32.68%,1280.0000,12245.0000,44.87%,0.0000,12245.0000,,0 +TOM NORDYKE,6511,10.94%,3,6514,11.0%,81,6595,11.2%,0.0000,6595.0000,14.98%,164.0000,6759.0000,15.72%,242.0000,7001.0000,16.7%,534.0000,7535.0000,18.83%,153.0000,7688.0000,20.99%,1013.0000,8701.0000,25.93%,-8701.0000,0,0.0%,0,0,,0 +JASON STONE,5357,9.0%,7,5364,9.06%,113,5477,9.3%,0.0000,5477.0000,12.44%,342.0000,5819.0000,13.53%,278.0000,6097.0000,14.54%,452.0000,6549.0000,16.36%,192.0000,6741.0000,18.41%,-6741.0000,0,0.0%,0,0,0.0%,0,0,,0 +HASHIM YONIS,3762,6.32%,5,3767,6.36%,32,3799,6.45%,0.0000,3799.0000,8.63%,547.0000,4346.0000,10.1%,144.0000,4490.0000,10.71%,81.0000,4571.0000,11.42%,-4571.0000,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,,0 +STEVE BARLAND,3705,6.23%,2,3707,6.26%,96,3803,6.45%,0.0000,3803.0000,8.64%,98.0000,3901.0000,9.07%,212.0000,4113.0000,9.81%,-4113.0000,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,,0 +MARY LYNN MCPHERSON,3373,5.67%,5,3378,5.7%,101,3479,5.9%,0.0000,3479.0000,7.9%,215.0000,3694.0000,8.59%,-3694.0000,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,,0 +ISHMAEL ISRAEL,3305,5.55%,5,3310,5.59%,64,3374,5.73%,0.0000,3374.0000,7.66%,-3374.0000,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,,0 +CASPER HILL,1280,2.15%,4,1284,2.16%,-1284,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,,0 +Undeclared Write-ins,342,0.57%,-342,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,,0 +Active Ballots,59463,,,59174,,,58876,,,44010.0000,,,42995.0000,,,41914.0000,,,40009.0000,,,36612.0000,,,33552.0000,,,27289.0000,,,0,, +Current Round Threshold,14866,,,14866,,,14866,,,14866,,,14866,,,14866,,,14866,,,14866,,,14866,,,14866,,,14866,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,67,289,,356,298,,654,0.0000,,654.0000,1015.0000,,1669.0000,1081.0000,,2750.0000,1905.0000,,4655.0000,3397.0000,,8052.0000,3060.0000,,11112.0000,6263.0000,,17375.0000,177.5192,,17552.5192,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,67,289,,356,298,,654,0.0000,,654.0000,1015.0000,,1669.0000,1081.0000,,2750.0000,1905.0000,,4655.0000,3397.0000,,8052.0000,3060.0000,,11112.0000,6263.0000,,17375.0000,177.5192,,17552.5192,0, +Residual surplus,0,,,0,,,0,,,0,,,0,,,0,,,0,,,0,,,0,,,0,,,0.4808,, diff --git a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park/2013_minneapolis_park_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park/2013_minneapolis_park_expected_summary.json index e69a4195b..a1a4f3ce1 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park/2013_minneapolis_park_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park/2013_minneapolis_park_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "2013 Minneapolis Park Board", "date" : "", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Minneapolis", - "office" : "Park and Recreation Commissioner", - "threshold" : "14866" + "office" : "Park and Recreation Commissioner" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "67", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "ANNIE YOUNG" : "9294", @@ -36,8 +43,15 @@ "TOM NORDYKE" : "3", "exhausted" : "289" } - } ] + } ], + "threshold" : "14866" }, { + "inactiveBallots" : { + "exhaustedChoices" : "356", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "ANNIE YOUNG" : "9302", @@ -65,8 +79,15 @@ "TOM NORDYKE" : "81", "exhausted" : "298" } - } ] + } ], + "threshold" : "14866" }, { + "inactiveBallots" : { + "exhaustedChoices" : "654", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "ANNIE YOUNG" : "9452", @@ -82,8 +103,15 @@ "tallyResults" : [ { "elected" : "JOHN ERWIN", "transfers" : { } - } ] + } ], + "threshold" : "14866" }, { + "inactiveBallots" : { + "exhaustedChoices" : "654.0000", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "ANNIE YOUNG" : "9452.0000", @@ -108,8 +136,15 @@ "TOM NORDYKE" : "164", "exhausted" : "1015" } - } ] + } ], + "threshold" : "14866" }, { + "inactiveBallots" : { + "exhaustedChoices" : "1669.0000", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "ANNIE YOUNG" : "10055.0000", @@ -132,8 +167,15 @@ "TOM NORDYKE" : "242", "exhausted" : "1081" } - } ] + } ], + "threshold" : "14866" }, { + "inactiveBallots" : { + "exhaustedChoices" : "2750.0000", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 6, "tally" : { "ANNIE YOUNG" : "11054.0000", @@ -154,8 +196,15 @@ "TOM NORDYKE" : "534", "exhausted" : "1905" } - } ] + } ], + "threshold" : "14866" }, { + "inactiveBallots" : { + "exhaustedChoices" : "4655.0000", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 7, "tally" : { "ANNIE YOUNG" : "11525.0000", @@ -174,8 +223,15 @@ "TOM NORDYKE" : "153", "exhausted" : "3397" } - } ] + } ], + "threshold" : "14866" }, { + "inactiveBallots" : { + "exhaustedChoices" : "8052.0000", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 8, "tally" : { "ANNIE YOUNG" : "12027.0000", @@ -192,8 +248,15 @@ "TOM NORDYKE" : "1013", "exhausted" : "3060" } - } ] + } ], + "threshold" : "14866" }, { + "inactiveBallots" : { + "exhaustedChoices" : "11112.0000", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 9, "tally" : { "ANNIE YOUNG" : "13886.0000", @@ -208,8 +271,15 @@ "MEG FORNEY" : "1280", "exhausted" : "6263" } - } ] + } ], + "threshold" : "14866" }, { + "inactiveBallots" : { + "exhaustedChoices" : "17375.0000", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 10, "tally" : { "ANNIE YOUNG" : "15044.0000", @@ -225,14 +295,29 @@ }, { "elected" : "MEG FORNEY", "transfers" : { } - } ] + } ], + "threshold" : "14866" }, { + "inactiveBallots" : { + "exhaustedChoices" : "17552.5192", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 11, "tally" : { "ANNIE YOUNG" : "14866", "JOHN ERWIN" : "14866.0000", "MEG FORNEY" : "12245.0000" }, - "tallyResults" : [ ] - } ] -} + "tallyResults" : [ ], + "threshold" : "14866" + } ], + "summary" : { + "finalThreshold" : "14866", + "numCandidates" : 11, + "numWinners" : 3, + "totalNumBallots" : "80101", + "undervotes" : 20571 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_bottoms_up/2013_minneapolis_park_bottoms_up_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_bottoms_up/2013_minneapolis_park_bottoms_up_expected_summary.csv index 6fbfb4abb..1e80c1562 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_bottoms_up/2013_minneapolis_park_bottoms_up_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_bottoms_up/2013_minneapolis_park_bottoms_up_expected_summary.csv @@ -1,22 +1,38 @@ -Contest,2013 Minneapolis Park Board -Jurisdiction,Minneapolis -Office,Park and Recreation Commissioner -Date, -Winner(s),"ANNIE YOUNG, JOHN ERWIN, MEG FORNEY" -Threshold,14866 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6,Round 7,Round 8,Round 9 -Eliminated,Undeclared Write-ins,CASPER HILL,ISHMAEL ISRAEL,MARY LYNN MCPHERSON,STEVE BARLAND,HASHIM YONIS,JASON STONE,TOM NORDYKE, -Elected,,,,,,,,,ANNIE YOUNG; JOHN ERWIN; MEG FORNEY -JOHN ERWIN,14678,14684,14866,15148,15364,15894,16074,17831,21650 -ANNIE YOUNG,9294,9302,9452,9983,10942,11353,11839,13163,13914 -MEG FORNEY,7856,7864,8031,8403,9102,9709,10026,10728,11704 -TOM NORDYKE,6511,6514,6595,6723,6933,7369,7508,8246,0 -JASON STONE,5357,5364,5477,5766,6020,6406,6580,0,0 -HASHIM YONIS,3762,3767,3799,4329,4469,4543,0,0,0 -STEVE BARLAND,3705,3707,3803,3893,4094,0,0,0,0 -MARY LYNN MCPHERSON,3373,3378,3479,3681,0,0,0,0,0 -ISHMAEL ISRAEL,3305,3310,3374,0,0,0,0,0,0 -CASPER HILL,1280,1284,0,0,0,0,0,0,0 -Undeclared Write-ins,342,0,0,0,0,0,0,0,0 -Inactive ballots,20638,20927,21225,22175,23177,24827,28074,30133,32833 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Multi-Winner +Contest,2013 Minneapolis Park Board +Jurisdiction,Minneapolis +Office,Park and Recreation Commissioner +Date, +Winner(s),"ANNIE YOUNG, JOHN ERWIN, MEG FORNEY" +Final Threshold,14866 + +Contest Summary +Number to be Elected,3 +Number of Candidates,11 +Total Number of Ballots,80101 +Number of Undervotes,20571 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer,Round 7 Votes,% of vote,transfer,Round 8 Votes,% of vote,transfer,Round 9 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,CASPER HILL,,,ISHMAEL ISRAEL,,,MARY LYNN MCPHERSON,,,STEVE BARLAND,,,HASHIM YONIS,,,JASON STONE,,,TOM NORDYKE,,,,, +Elected,,,,,,,,,,,,,,,,,,,,,,,,,ANNIE YOUNG; JOHN ERWIN; MEG FORNEY,, +JOHN ERWIN,14678,24.68%,6,14684,24.81%,182,14866,25.24%,282,15148,26.15%,216,15364,26.99%,530,15894,28.75%,180,16074,30.89%,1757,17831,35.68%,3819,21650,45.8%,0 +ANNIE YOUNG,9294,15.62%,8,9302,15.71%,150,9452,16.05%,531,9983,17.23%,959,10942,19.22%,411,11353,20.53%,486,11839,22.75%,1324,13163,26.34%,751,13914,29.43%,0 +MEG FORNEY,7856,13.21%,8,7864,13.28%,167,8031,13.64%,372,8403,14.5%,699,9102,15.98%,607,9709,17.56%,317,10026,19.27%,702,10728,21.46%,976,11704,24.76%,0 +TOM NORDYKE,6511,10.94%,3,6514,11.0%,81,6595,11.2%,128,6723,11.6%,210,6933,12.17%,436,7369,13.33%,139,7508,14.43%,738,8246,16.5%,-8246,0,0.0%,0 +JASON STONE,5357,9.0%,7,5364,9.06%,113,5477,9.3%,289,5766,9.95%,254,6020,10.57%,386,6406,11.58%,174,6580,12.64%,-6580,0,0.0%,0,0,0.0%,0 +HASHIM YONIS,3762,6.32%,5,3767,6.36%,32,3799,6.45%,530,4329,7.47%,140,4469,7.85%,74,4543,8.21%,-4543,0,0.0%,0,0,0.0%,0,0,0.0%,0 +STEVE BARLAND,3705,6.23%,2,3707,6.26%,96,3803,6.45%,90,3893,6.72%,201,4094,7.19%,-4094,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +MARY LYNN MCPHERSON,3373,5.67%,5,3378,5.7%,101,3479,5.9%,202,3681,6.35%,-3681,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +ISHMAEL ISRAEL,3305,5.55%,5,3310,5.59%,64,3374,5.73%,-3374,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +CASPER HILL,1280,2.15%,4,1284,2.16%,-1284,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,342,0.57%,-342,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,59463,,,59174,,,58876,,,57926,,,56924,,,55274,,,52027,,,49968,,,47268,, +Current Round Threshold,14866,,,14866,,,14866,,,14866,,,14866,,,14866,,,14866,,,14866,,,14866,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,67,289,,356,298,,654,950,,1604,1002,,2606,1650,,4256,3247,,7503,2059,,9562,2700,,12262,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,67,289,,356,298,,654,950,,1604,1002,,2606,1650,,4256,3247,,7503,2059,,9562,2700,,12262,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_bottoms_up/2013_minneapolis_park_bottoms_up_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_bottoms_up/2013_minneapolis_park_bottoms_up_expected_summary.json index cc295b309..e703678bf 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_bottoms_up/2013_minneapolis_park_bottoms_up_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_bottoms_up/2013_minneapolis_park_bottoms_up_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "2013 Minneapolis Park Board", "date" : "", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Minneapolis", - "office" : "Park and Recreation Commissioner", - "threshold" : "14866" + "office" : "Park and Recreation Commissioner" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "67", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "ANNIE YOUNG" : "9294", @@ -36,8 +43,15 @@ "TOM NORDYKE" : "3", "exhausted" : "289" } - } ] + } ], + "threshold" : "14866" }, { + "inactiveBallots" : { + "exhaustedChoices" : "356", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "ANNIE YOUNG" : "9302", @@ -65,8 +79,15 @@ "TOM NORDYKE" : "81", "exhausted" : "298" } - } ] + } ], + "threshold" : "14866" }, { + "inactiveBallots" : { + "exhaustedChoices" : "654", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "ANNIE YOUNG" : "9452", @@ -92,8 +113,15 @@ "TOM NORDYKE" : "128", "exhausted" : "950" } - } ] + } ], + "threshold" : "14866" }, { + "inactiveBallots" : { + "exhaustedChoices" : "1604", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "ANNIE YOUNG" : "9983", @@ -117,8 +145,15 @@ "TOM NORDYKE" : "210", "exhausted" : "1002" } - } ] + } ], + "threshold" : "14866" }, { + "inactiveBallots" : { + "exhaustedChoices" : "2606", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "ANNIE YOUNG" : "10942", @@ -140,8 +175,15 @@ "TOM NORDYKE" : "436", "exhausted" : "1650" } - } ] + } ], + "threshold" : "14866" }, { + "inactiveBallots" : { + "exhaustedChoices" : "4256", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 6, "tally" : { "ANNIE YOUNG" : "11353", @@ -161,8 +203,15 @@ "TOM NORDYKE" : "139", "exhausted" : "3247" } - } ] + } ], + "threshold" : "14866" }, { + "inactiveBallots" : { + "exhaustedChoices" : "7503", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 7, "tally" : { "ANNIE YOUNG" : "11839", @@ -180,8 +229,15 @@ "TOM NORDYKE" : "738", "exhausted" : "2059" } - } ] + } ], + "threshold" : "14866" }, { + "inactiveBallots" : { + "exhaustedChoices" : "9562", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 8, "tally" : { "ANNIE YOUNG" : "13163", @@ -197,8 +253,15 @@ "MEG FORNEY" : "976", "exhausted" : "2700" } - } ] + } ], + "threshold" : "14866" }, { + "inactiveBallots" : { + "exhaustedChoices" : "12262", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 9, "tally" : { "ANNIE YOUNG" : "13914", @@ -214,6 +277,14 @@ }, { "elected" : "MEG FORNEY", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "14866" + } ], + "summary" : { + "finalThreshold" : "14866", + "numCandidates" : 11, + "numWinners" : 3, + "totalNumBallots" : "80101", + "undervotes" : 20571 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_hare/2013_minneapolis_park_hare_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_hare/2013_minneapolis_park_hare_expected_summary.csv index 6dcfdea61..9ff5bb180 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_hare/2013_minneapolis_park_hare_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_hare/2013_minneapolis_park_hare_expected_summary.csv @@ -1,23 +1,39 @@ -Contest,2013 Minneapolis Park Board -Jurisdiction,Minneapolis -Office,Park and Recreation Commissioner -Date, -Winner(s),"ANNIE YOUNG, JOHN ERWIN, MEG FORNEY" -Threshold,19821 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6,Round 7,Round 8,Round 9,Round 10 -Eliminated,Undeclared Write-ins,CASPER HILL,ISHMAEL ISRAEL,MARY LYNN MCPHERSON,STEVE BARLAND,HASHIM YONIS,JASON STONE,TOM NORDYKE,, -Elected,,,,,,,,,ANNIE YOUNG; JOHN ERWIN; MEG FORNEY, -JOHN ERWIN,14678,14684,14866,15148,15364,15894,16074,17831,21650,19821 -ANNIE YOUNG,9294,9302,9452,9983,10942,11353,11839,13163,13914,13914.0000 -MEG FORNEY,7856,7864,8031,8403,9102,9709,10026,10728,11704,11704.0000 -TOM NORDYKE,6511,6514,6595,6723,6933,7369,7508,8246,0,0 -JASON STONE,5357,5364,5477,5766,6020,6406,6580,0,0,0 -HASHIM YONIS,3762,3767,3799,4329,4469,4543,0,0,0,0 -STEVE BARLAND,3705,3707,3803,3893,4094,0,0,0,0,0 -MARY LYNN MCPHERSON,3373,3378,3479,3681,0,0,0,0,0,0 -ISHMAEL ISRAEL,3305,3310,3374,0,0,0,0,0,0,0 -CASPER HILL,1280,1284,0,0,0,0,0,0,0,0 -Undeclared Write-ins,342,0,0,0,0,0,0,0,0,0 -Inactive ballots,20638,20927,21225,22175,23177,24827,28074,30133,32833,34660.2600 -Residual surplus,0,0,0,0,0,0,0,0,0,1.7400 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Multi-Winner +Contest,2013 Minneapolis Park Board +Jurisdiction,Minneapolis +Office,Park and Recreation Commissioner +Date, +Winner(s),"ANNIE YOUNG, JOHN ERWIN, MEG FORNEY" +Final Threshold,19821 + +Contest Summary +Number to be Elected,3 +Number of Candidates,11 +Total Number of Ballots,80101 +Number of Undervotes,20571 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer,Round 7 Votes,% of vote,transfer,Round 8 Votes,% of vote,transfer,Round 9 Votes,% of vote,transfer,Round 10 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,CASPER HILL,,,ISHMAEL ISRAEL,,,MARY LYNN MCPHERSON,,,STEVE BARLAND,,,HASHIM YONIS,,,JASON STONE,,,TOM NORDYKE,,,,,,,, +Elected,,,,,,,,,,,,,,,,,,,,,,,,,ANNIE YOUNG; JOHN ERWIN; MEG FORNEY,,,,, +JOHN ERWIN,14678,24.68%,6,14684,24.81%,182,14866,25.24%,282,15148,26.15%,216,15364,26.99%,530,15894,28.75%,180,16074,30.89%,1757,17831,35.68%,3819,21650,45.8%,-1829,19821,,0 +ANNIE YOUNG,9294,15.62%,8,9302,15.71%,150,9452,16.05%,531,9983,17.23%,959,10942,19.22%,411,11353,20.53%,486,11839,22.75%,1324,13163,26.34%,751,13914,29.43%,0.0000,13914.0000,,0 +MEG FORNEY,7856,13.21%,8,7864,13.28%,167,8031,13.64%,372,8403,14.5%,699,9102,15.98%,607,9709,17.56%,317,10026,19.27%,702,10728,21.46%,976,11704,24.76%,0.0000,11704.0000,,0 +TOM NORDYKE,6511,10.94%,3,6514,11.0%,81,6595,11.2%,128,6723,11.6%,210,6933,12.17%,436,7369,13.33%,139,7508,14.43%,738,8246,16.5%,-8246,0,0.0%,0,0,,0 +JASON STONE,5357,9.0%,7,5364,9.06%,113,5477,9.3%,289,5766,9.95%,254,6020,10.57%,386,6406,11.58%,174,6580,12.64%,-6580,0,0.0%,0,0,0.0%,0,0,,0 +HASHIM YONIS,3762,6.32%,5,3767,6.36%,32,3799,6.45%,530,4329,7.47%,140,4469,7.85%,74,4543,8.21%,-4543,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,,0 +STEVE BARLAND,3705,6.23%,2,3707,6.26%,96,3803,6.45%,90,3893,6.72%,201,4094,7.19%,-4094,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,,0 +MARY LYNN MCPHERSON,3373,5.67%,5,3378,5.7%,101,3479,5.9%,202,3681,6.35%,-3681,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,,0 +ISHMAEL ISRAEL,3305,5.55%,5,3310,5.59%,64,3374,5.73%,-3374,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,,0 +CASPER HILL,1280,2.15%,4,1284,2.16%,-1284,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,,0 +Undeclared Write-ins,342,0.57%,-342,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,,0 +Active Ballots,59463,,,59174,,,58876,,,57926,,,56924,,,55274,,,52027,,,49968,,,47268,,,0,, +Current Round Threshold,19821,,,19821,,,19821,,,19821,,,19821,,,19821,,,19821,,,19821,,,19821,,,19821,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,67,289,,356,298,,654,950,,1604,1002,,2606,1650,,4256,3247,,7503,2059,,9562,2700,,12262,1827.2600,,14089.2600,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,67,289,,356,298,,654,950,,1604,1002,,2606,1650,,4256,3247,,7503,2059,,9562,2700,,12262,1827.2600,,14089.2600,0, +Residual surplus,0,,,0,,,0,,,0,,,0,,,0,,,0,,,0,,,0,,,1.7400,, diff --git a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_hare/2013_minneapolis_park_hare_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_hare/2013_minneapolis_park_hare_expected_summary.json index 1787e42ed..98af22b33 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_hare/2013_minneapolis_park_hare_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_hare/2013_minneapolis_park_hare_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "2013 Minneapolis Park Board", "date" : "", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Minneapolis", - "office" : "Park and Recreation Commissioner", - "threshold" : "19821" + "office" : "Park and Recreation Commissioner" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "67", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "ANNIE YOUNG" : "9294", @@ -36,8 +43,15 @@ "TOM NORDYKE" : "3", "exhausted" : "289" } - } ] + } ], + "threshold" : "19821" }, { + "inactiveBallots" : { + "exhaustedChoices" : "356", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "ANNIE YOUNG" : "9302", @@ -65,8 +79,15 @@ "TOM NORDYKE" : "81", "exhausted" : "298" } - } ] + } ], + "threshold" : "19821" }, { + "inactiveBallots" : { + "exhaustedChoices" : "654", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "ANNIE YOUNG" : "9452", @@ -92,8 +113,15 @@ "TOM NORDYKE" : "128", "exhausted" : "950" } - } ] + } ], + "threshold" : "19821" }, { + "inactiveBallots" : { + "exhaustedChoices" : "1604", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "ANNIE YOUNG" : "9983", @@ -117,8 +145,15 @@ "TOM NORDYKE" : "210", "exhausted" : "1002" } - } ] + } ], + "threshold" : "19821" }, { + "inactiveBallots" : { + "exhaustedChoices" : "2606", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "ANNIE YOUNG" : "10942", @@ -140,8 +175,15 @@ "TOM NORDYKE" : "436", "exhausted" : "1650" } - } ] + } ], + "threshold" : "19821" }, { + "inactiveBallots" : { + "exhaustedChoices" : "4256", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 6, "tally" : { "ANNIE YOUNG" : "11353", @@ -161,8 +203,15 @@ "TOM NORDYKE" : "139", "exhausted" : "3247" } - } ] + } ], + "threshold" : "19821" }, { + "inactiveBallots" : { + "exhaustedChoices" : "7503", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 7, "tally" : { "ANNIE YOUNG" : "11839", @@ -180,8 +229,15 @@ "TOM NORDYKE" : "738", "exhausted" : "2059" } - } ] + } ], + "threshold" : "19821" }, { + "inactiveBallots" : { + "exhaustedChoices" : "9562", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 8, "tally" : { "ANNIE YOUNG" : "13163", @@ -197,8 +253,15 @@ "MEG FORNEY" : "976", "exhausted" : "2700" } - } ] + } ], + "threshold" : "19821" }, { + "inactiveBallots" : { + "exhaustedChoices" : "12262", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 9, "tally" : { "ANNIE YOUNG" : "13914", @@ -217,14 +280,29 @@ }, { "elected" : "MEG FORNEY", "transfers" : { } - } ] + } ], + "threshold" : "19821" }, { + "inactiveBallots" : { + "exhaustedChoices" : "14089.2600", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 10, "tally" : { "ANNIE YOUNG" : "13914.0000", "JOHN ERWIN" : "19821", "MEG FORNEY" : "11704.0000" }, - "tallyResults" : [ ] - } ] -} + "tallyResults" : [ ], + "threshold" : "19821" + } ], + "summary" : { + "finalThreshold" : "19821", + "numCandidates" : 11, + "numWinners" : 3, + "totalNumBallots" : "80101", + "undervotes" : 20571 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_1_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_1_expected_summary.csv index 218d3e2c3..d838abebd 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_1_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_1_expected_summary.csv @@ -1,22 +1,38 @@ -Contest,2013 Minneapolis Park Board -Jurisdiction,Minneapolis -Office,Park and Recreation Commissioner -Date, -Winner(s),JOHN ERWIN -Threshold,20163 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6,Round 7,Round 8,Round 9,Round 10 -Eliminated,Undeclared Write-ins,CASPER HILL,ISHMAEL ISRAEL,MARY LYNN MCPHERSON,STEVE BARLAND,HASHIM YONIS,JASON STONE,TOM NORDYKE,MEG FORNEY, -Elected,,,,,,,,,,JOHN ERWIN -JOHN ERWIN,14678,14684,14866,15148,15364,15894,16074,17831,21650,22990 -ANNIE YOUNG,9294,9302,9452,9983,10942,11353,11839,13163,13914,17334 -MEG FORNEY,7856,7864,8031,8403,9102,9709,10026,10728,11704,0 -TOM NORDYKE,6511,6514,6595,6723,6933,7369,7508,8246,0,0 -JASON STONE,5357,5364,5477,5766,6020,6406,6580,0,0,0 -HASHIM YONIS,3762,3767,3799,4329,4469,4543,0,0,0,0 -STEVE BARLAND,3705,3707,3803,3893,4094,0,0,0,0,0 -MARY LYNN MCPHERSON,3373,3378,3479,3681,0,0,0,0,0,0 -ISHMAEL ISRAEL,3305,3310,3374,0,0,0,0,0,0,0 -CASPER HILL,1280,1284,0,0,0,0,0,0,0,0 -Undeclared Write-ins,342,0,0,0,0,0,0,0,0,0 -Inactive ballots,20638,20927,21225,22175,23177,24827,28074,30133,32833,39777 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Multi-Winner +Contest,2013 Minneapolis Park Board +Jurisdiction,Minneapolis +Office,Park and Recreation Commissioner +Date, +Winner(s),JOHN ERWIN +Final Threshold,20163 + +Contest Summary +Number to be Elected,1 +Number of Candidates,11 +Total Number of Ballots,80101 +Number of Undervotes,20571 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer,Round 7 Votes,% of vote,transfer,Round 8 Votes,% of vote,transfer,Round 9 Votes,% of vote,transfer,Round 10 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,CASPER HILL,,,ISHMAEL ISRAEL,,,MARY LYNN MCPHERSON,,,STEVE BARLAND,,,HASHIM YONIS,,,JASON STONE,,,TOM NORDYKE,,,MEG FORNEY,,,,, +Elected,,,,,,,,,,,,,,,,,,,,,,,,,,,,JOHN ERWIN,, +JOHN ERWIN,14678,24.68%,6,14684,24.81%,182,14866,25.24%,282,15148,26.15%,216,15364,26.99%,530,15894,28.75%,180,16074,30.89%,1757,17831,35.68%,3819,21650,45.8%,1340,22990,57.01%,0 +ANNIE YOUNG,9294,15.62%,8,9302,15.71%,150,9452,16.05%,531,9983,17.23%,959,10942,19.22%,411,11353,20.53%,486,11839,22.75%,1324,13163,26.34%,751,13914,29.43%,3420,17334,42.98%,0 +MEG FORNEY,7856,13.21%,8,7864,13.28%,167,8031,13.64%,372,8403,14.5%,699,9102,15.98%,607,9709,17.56%,317,10026,19.27%,702,10728,21.46%,976,11704,24.76%,-11704,0,0.0%,0 +TOM NORDYKE,6511,10.94%,3,6514,11.0%,81,6595,11.2%,128,6723,11.6%,210,6933,12.17%,436,7369,13.33%,139,7508,14.43%,738,8246,16.5%,-8246,0,0.0%,0,0,0.0%,0 +JASON STONE,5357,9.0%,7,5364,9.06%,113,5477,9.3%,289,5766,9.95%,254,6020,10.57%,386,6406,11.58%,174,6580,12.64%,-6580,0,0.0%,0,0,0.0%,0,0,0.0%,0 +HASHIM YONIS,3762,6.32%,5,3767,6.36%,32,3799,6.45%,530,4329,7.47%,140,4469,7.85%,74,4543,8.21%,-4543,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +STEVE BARLAND,3705,6.23%,2,3707,6.26%,96,3803,6.45%,90,3893,6.72%,201,4094,7.19%,-4094,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +MARY LYNN MCPHERSON,3373,5.67%,5,3378,5.7%,101,3479,5.9%,202,3681,6.35%,-3681,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +ISHMAEL ISRAEL,3305,5.55%,5,3310,5.59%,64,3374,5.73%,-3374,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +CASPER HILL,1280,2.15%,4,1284,2.16%,-1284,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,342,0.57%,-342,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,59463,,,59174,,,58876,,,57926,,,56924,,,55274,,,52027,,,49968,,,47268,,,40324,, +Current Round Threshold,29732,,,29588,,,29439,,,28964,,,28463,,,27638,,,26014,,,24985,,,23635,,,20163,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,67,289,,356,298,,654,950,,1604,1002,,2606,1650,,4256,3247,,7503,2059,,9562,2700,,12262,6944,,19206,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,67,289,,356,298,,654,950,,1604,1002,,2606,1650,,4256,3247,,7503,2059,,9562,2700,,12262,6944,,19206,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_1_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_1_expected_summary.json index a77bd7cb0..9ed21e8a0 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_1_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_1_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "2013 Minneapolis Park Board", "date" : "", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Minneapolis", - "office" : "Park and Recreation Commissioner", - "threshold" : "20163" + "office" : "Park and Recreation Commissioner" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "67", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "ANNIE YOUNG" : "9294", @@ -36,8 +43,15 @@ "TOM NORDYKE" : "3", "exhausted" : "289" } - } ] + } ], + "threshold" : "29732" }, { + "inactiveBallots" : { + "exhaustedChoices" : "356", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "ANNIE YOUNG" : "9302", @@ -65,8 +79,15 @@ "TOM NORDYKE" : "81", "exhausted" : "298" } - } ] + } ], + "threshold" : "29588" }, { + "inactiveBallots" : { + "exhaustedChoices" : "654", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "ANNIE YOUNG" : "9452", @@ -92,8 +113,15 @@ "TOM NORDYKE" : "128", "exhausted" : "950" } - } ] + } ], + "threshold" : "29439" }, { + "inactiveBallots" : { + "exhaustedChoices" : "1604", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "ANNIE YOUNG" : "9983", @@ -117,8 +145,15 @@ "TOM NORDYKE" : "210", "exhausted" : "1002" } - } ] + } ], + "threshold" : "28964" }, { + "inactiveBallots" : { + "exhaustedChoices" : "2606", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "ANNIE YOUNG" : "10942", @@ -140,8 +175,15 @@ "TOM NORDYKE" : "436", "exhausted" : "1650" } - } ] + } ], + "threshold" : "28463" }, { + "inactiveBallots" : { + "exhaustedChoices" : "4256", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 6, "tally" : { "ANNIE YOUNG" : "11353", @@ -161,8 +203,15 @@ "TOM NORDYKE" : "139", "exhausted" : "3247" } - } ] + } ], + "threshold" : "27638" }, { + "inactiveBallots" : { + "exhaustedChoices" : "7503", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 7, "tally" : { "ANNIE YOUNG" : "11839", @@ -180,8 +229,15 @@ "TOM NORDYKE" : "738", "exhausted" : "2059" } - } ] + } ], + "threshold" : "26014" }, { + "inactiveBallots" : { + "exhaustedChoices" : "9562", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 8, "tally" : { "ANNIE YOUNG" : "13163", @@ -197,8 +253,15 @@ "MEG FORNEY" : "976", "exhausted" : "2700" } - } ] + } ], + "threshold" : "24985" }, { + "inactiveBallots" : { + "exhaustedChoices" : "12262", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 9, "tally" : { "ANNIE YOUNG" : "13914", @@ -212,8 +275,15 @@ "JOHN ERWIN" : "1340", "exhausted" : "6944" } - } ] + } ], + "threshold" : "23635" }, { + "inactiveBallots" : { + "exhaustedChoices" : "19206", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 10, "tally" : { "ANNIE YOUNG" : "17334", @@ -222,6 +292,14 @@ "tallyResults" : [ { "elected" : "JOHN ERWIN", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "20163" + } ], + "summary" : { + "finalThreshold" : "20163", + "numCandidates" : 11, + "numWinners" : 1, + "totalNumBallots" : "80101", + "undervotes" : 20571 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_2_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_2_expected_summary.csv index 38e02e262..cef639db7 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_2_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_2_expected_summary.csv @@ -1,21 +1,37 @@ -Contest,2013 Minneapolis Park Board -Jurisdiction,Minneapolis -Office,Park and Recreation Commissioner -Date, -Winner(s),ANNIE YOUNG -Threshold,18458 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6,Round 7,Round 8,Round 9 -Eliminated,Undeclared Write-ins,CASPER HILL,MARY LYNN MCPHERSON,ISHMAEL ISRAEL,STEVE BARLAND,HASHIM YONIS,JASON STONE,MEG FORNEY, -Elected,,,,,,,,,ANNIE YOUNG -ANNIE YOUNG,12947,12956,13196,14168,14958,15489,16010,18744,22305 -TOM NORDYKE,10594,10601,10737,11004,11236,11855,12024,13371,14609 -MEG FORNEY,8827,8835,9051,9786,10301,11016,11353,12363,0 -JASON STONE,7528,7537,7751,8060,8558,9087,9302,0,0 -STEVE BARLAND,4104,4107,4240,4474,4599,0,0,0,0 -HASHIM YONIS,3946,3952,3998,4120,4740,4827,0,0,0 -ISHMAEL ISRAEL,3800,3805,3913,4076,0,0,0,0,0 -MARY LYNN MCPHERSON,3713,3718,3849,0,0,0,0,0,0 -CASPER HILL,1586,1590,0,0,0,0,0,0,0 -Undeclared Write-ins,356,0,0,0,0,0,0,0,0 -Inactive ballots,22700,23000,23366,24413,25709,27827,31412,35623,43187 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Multi-Winner +Contest,2013 Minneapolis Park Board +Jurisdiction,Minneapolis +Office,Park and Recreation Commissioner +Date, +Winner(s),ANNIE YOUNG +Final Threshold,18458 + +Contest Summary +Number to be Elected,1 +Number of Candidates,10 +Total Number of Ballots,80101 +Number of Undervotes,20571 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer,Round 7 Votes,% of vote,transfer,Round 8 Votes,% of vote,transfer,Round 9 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,CASPER HILL,,,MARY LYNN MCPHERSON,,,ISHMAEL ISRAEL,,,STEVE BARLAND,,,HASHIM YONIS,,,JASON STONE,,,MEG FORNEY,,,,, +Elected,,,,,,,,,,,,,,,,,,,,,,,,,ANNIE YOUNG,, +ANNIE YOUNG,12947,22.55%,9,12956,22.68%,240,13196,23.25%,972,14168,25.44%,790,14958,27.5%,531,15489,29.63%,521,16010,32.88%,2734,18744,42.14%,3561,22305,60.42%,0 +TOM NORDYKE,10594,18.45%,7,10601,18.56%,136,10737,18.92%,267,11004,19.76%,232,11236,20.65%,619,11855,22.67%,169,12024,24.69%,1347,13371,30.06%,1238,14609,39.57%,0 +MEG FORNEY,8827,15.37%,8,8835,15.47%,216,9051,15.95%,735,9786,17.57%,515,10301,18.93%,715,11016,21.07%,337,11353,23.31%,1010,12363,27.79%,-12363,0,0.0%,0 +JASON STONE,7528,13.11%,9,7537,13.19%,214,7751,13.66%,309,8060,14.47%,498,8558,15.73%,529,9087,17.38%,215,9302,19.1%,-9302,0,0.0%,0,0,0.0%,0 +STEVE BARLAND,4104,7.14%,3,4107,7.19%,133,4240,7.47%,234,4474,8.03%,125,4599,8.45%,-4599,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +HASHIM YONIS,3946,6.87%,6,3952,6.92%,46,3998,7.04%,122,4120,7.39%,620,4740,8.71%,87,4827,9.23%,-4827,0,0.0%,0,0,0.0%,0,0,0.0%,0 +ISHMAEL ISRAEL,3800,6.62%,5,3805,6.66%,108,3913,6.89%,163,4076,7.31%,-4076,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +MARY LYNN MCPHERSON,3713,6.46%,5,3718,6.51%,131,3849,6.78%,-3849,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +CASPER HILL,1586,2.76%,4,1590,2.78%,-1590,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,356,0.62%,-356,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,57401,,,57101,,,56735,,,55688,,,54392,,,52274,,,48689,,,44478,,,36914,, +Current Round Threshold,28701,,,28551,,,28368,,,27845,,,27197,,,26138,,,24345,,,22240,,,18458,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,2129,300,,2429,366,,2795,1047,,3842,1296,,5138,2118,,7256,3585,,10841,4211,,15052,7564,,22616,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,2129,300,,2429,366,,2795,1047,,3842,1296,,5138,2118,,7256,3585,,10841,4211,,15052,7564,,22616,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_2_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_2_expected_summary.json index 11176a0c1..153a12a34 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_2_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_2_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "2013 Minneapolis Park Board", "date" : "", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Minneapolis", - "office" : "Park and Recreation Commissioner", - "threshold" : "18458" + "office" : "Park and Recreation Commissioner" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "2129", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "ANNIE YOUNG" : "12947", @@ -34,8 +41,15 @@ "TOM NORDYKE" : "7", "exhausted" : "300" } - } ] + } ], + "threshold" : "28701" }, { + "inactiveBallots" : { + "exhaustedChoices" : "2429", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "ANNIE YOUNG" : "12956", @@ -61,8 +75,15 @@ "TOM NORDYKE" : "136", "exhausted" : "366" } - } ] + } ], + "threshold" : "28551" }, { + "inactiveBallots" : { + "exhaustedChoices" : "2795", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "ANNIE YOUNG" : "13196", @@ -86,8 +107,15 @@ "TOM NORDYKE" : "267", "exhausted" : "1047" } - } ] + } ], + "threshold" : "28368" }, { + "inactiveBallots" : { + "exhaustedChoices" : "3842", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "ANNIE YOUNG" : "14168", @@ -109,8 +137,15 @@ "TOM NORDYKE" : "232", "exhausted" : "1296" } - } ] + } ], + "threshold" : "27845" }, { + "inactiveBallots" : { + "exhaustedChoices" : "5138", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "ANNIE YOUNG" : "14958", @@ -130,8 +165,15 @@ "TOM NORDYKE" : "619", "exhausted" : "2118" } - } ] + } ], + "threshold" : "27197" }, { + "inactiveBallots" : { + "exhaustedChoices" : "7256", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 6, "tally" : { "ANNIE YOUNG" : "15489", @@ -149,8 +191,15 @@ "TOM NORDYKE" : "169", "exhausted" : "3585" } - } ] + } ], + "threshold" : "26138" }, { + "inactiveBallots" : { + "exhaustedChoices" : "10841", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 7, "tally" : { "ANNIE YOUNG" : "16010", @@ -166,8 +215,15 @@ "TOM NORDYKE" : "1347", "exhausted" : "4211" } - } ] + } ], + "threshold" : "24345" }, { + "inactiveBallots" : { + "exhaustedChoices" : "15052", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 8, "tally" : { "ANNIE YOUNG" : "18744", @@ -181,8 +237,15 @@ "TOM NORDYKE" : "1238", "exhausted" : "7564" } - } ] + } ], + "threshold" : "22240" }, { + "inactiveBallots" : { + "exhaustedChoices" : "22616", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 9, "tally" : { "ANNIE YOUNG" : "22305", @@ -191,6 +254,14 @@ "tallyResults" : [ { "elected" : "ANNIE YOUNG", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "18458" + } ], + "summary" : { + "finalThreshold" : "18458", + "numCandidates" : 11, + "numWinners" : 1, + "totalNumBallots" : "80101", + "undervotes" : 20571 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_3_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_3_expected_summary.csv index 35fc8e56f..b4e694859 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_3_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_3_expected_summary.csv @@ -1,20 +1,36 @@ -Contest,2013 Minneapolis Park Board -Jurisdiction,Minneapolis -Office,Park and Recreation Commissioner -Date, -Winner(s),MEG FORNEY -Threshold,15675 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6,Round 7,Round 8 -Eliminated,Undeclared Write-ins,CASPER HILL,HASHIM YONIS,STEVE BARLAND,MARY LYNN MCPHERSON,ISHMAEL ISRAEL,JASON STONE, -Elected,,,,,,,,MEG FORNEY -TOM NORDYKE,11939,11946,12096,12220,12841,13238,13596,15136 -JASON STONE,11221,11230,11503,11682,12222,12725,13436,0 -MEG FORNEY,10994,11007,11290,11511,12275,14071,14954,16212 -ISHMAEL ISRAEL,4683,4688,4822,5461,5688,5979,0,0 -MARY LYNN MCPHERSON,4654,4660,4843,5023,5407,0,0,0 -STEVE BARLAND,4546,4549,4704,4782,0,0,0,0 -HASHIM YONIS,4277,4284,4341,0,0,0,0,0 -CASPER HILL,1903,1908,0,0,0,0,0,0 -Undeclared Write-ins,381,0,0,0,0,0,0,0 -Inactive ballots,25503,25829,26502,29422,31668,34088,38115,48753 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Multi-Winner +Contest,2013 Minneapolis Park Board +Jurisdiction,Minneapolis +Office,Park and Recreation Commissioner +Date, +Winner(s),MEG FORNEY +Final Threshold,15675 + +Contest Summary +Number to be Elected,1 +Number of Candidates,9 +Total Number of Ballots,80101 +Number of Undervotes,20571 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer,Round 7 Votes,% of vote,transfer,Round 8 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,CASPER HILL,,,HASHIM YONIS,,,STEVE BARLAND,,,MARY LYNN MCPHERSON,,,ISHMAEL ISRAEL,,,JASON STONE,,,,, +Elected,,,,,,,,,,,,,,,,,,,,,,MEG FORNEY,, +TOM NORDYKE,11939,21.86%,7,11946,22.01%,150,12096,22.56%,124,12220,24.11%,621,12841,26.51%,397,13238,28.77%,358,13596,32.38%,1540,15136,48.28%,0 +JASON STONE,11221,20.55%,9,11230,20.69%,273,11503,21.46%,179,11682,23.05%,540,12222,25.23%,503,12725,27.65%,711,13436,32.0%,-13436,0,0.0%,0 +MEG FORNEY,10994,20.13%,13,11007,20.28%,283,11290,21.06%,221,11511,22.71%,764,12275,25.34%,1796,14071,30.58%,883,14954,35.61%,1258,16212,51.71%,0 +ISHMAEL ISRAEL,4683,8.57%,5,4688,8.63%,134,4822,8.99%,639,5461,10.77%,227,5688,11.74%,291,5979,12.99%,-5979,0,0.0%,0,0,0.0%,0 +MARY LYNN MCPHERSON,4654,8.52%,6,4660,8.58%,183,4843,9.03%,180,5023,9.91%,384,5407,11.16%,-5407,0,0.0%,0,0,0.0%,0,0,0.0%,0 +STEVE BARLAND,4546,8.32%,3,4549,8.38%,155,4704,8.77%,78,4782,9.43%,-4782,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +HASHIM YONIS,4277,7.83%,7,4284,7.89%,57,4341,8.09%,-4341,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +CASPER HILL,1903,3.48%,5,1908,3.51%,-1908,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,381,0.69%,-381,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,54598,,,54272,,,53599,,,50679,,,48433,,,46013,,,41986,,,31348,, +Current Round Threshold,27300,,,27137,,,26800,,,25340,,,24217,,,23007,,,20994,,,15675,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,4932,326,,5258,673,,5931,2920,,8851,2246,,11097,2420,,13517,4027,,17544,10638,,28182,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,4932,326,,5258,673,,5931,2920,,8851,2246,,11097,2420,,13517,4027,,17544,10638,,28182,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_3_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_3_expected_summary.json index 209bb162f..0d52b52c7 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_3_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/2013_minneapolis_park_sequential/2013_minneapolis_park_sequential_3_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "2013 Minneapolis Park Board", "date" : "", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Minneapolis", - "office" : "Park and Recreation Commissioner", - "threshold" : "15675" + "office" : "Park and Recreation Commissioner" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "4932", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "CASPER HILL" : "1903", @@ -32,8 +39,15 @@ "TOM NORDYKE" : "7", "exhausted" : "326" } - } ] + } ], + "threshold" : "27300" }, { + "inactiveBallots" : { + "exhaustedChoices" : "5258", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "CASPER HILL" : "1908", @@ -57,8 +71,15 @@ "TOM NORDYKE" : "150", "exhausted" : "673" } - } ] + } ], + "threshold" : "27137" }, { + "inactiveBallots" : { + "exhaustedChoices" : "5931", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "HASHIM YONIS" : "4341", @@ -80,8 +101,15 @@ "TOM NORDYKE" : "124", "exhausted" : "2920" } - } ] + } ], + "threshold" : "26800" }, { + "inactiveBallots" : { + "exhaustedChoices" : "8851", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "ISHMAEL ISRAEL" : "5461", @@ -101,8 +129,15 @@ "TOM NORDYKE" : "621", "exhausted" : "2246" } - } ] + } ], + "threshold" : "25340" }, { + "inactiveBallots" : { + "exhaustedChoices" : "11097", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "ISHMAEL ISRAEL" : "5688", @@ -120,8 +155,15 @@ "TOM NORDYKE" : "397", "exhausted" : "2420" } - } ] + } ], + "threshold" : "24217" }, { + "inactiveBallots" : { + "exhaustedChoices" : "13517", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 6, "tally" : { "ISHMAEL ISRAEL" : "5979", @@ -137,8 +179,15 @@ "TOM NORDYKE" : "358", "exhausted" : "4027" } - } ] + } ], + "threshold" : "23007" }, { + "inactiveBallots" : { + "exhaustedChoices" : "17544", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 7, "tally" : { "JASON STONE" : "13436", @@ -152,8 +201,15 @@ "TOM NORDYKE" : "1540", "exhausted" : "10638" } - } ] + } ], + "threshold" : "20994" }, { + "inactiveBallots" : { + "exhaustedChoices" : "28182", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 8, "tally" : { "MEG FORNEY" : "16212", @@ -162,6 +218,14 @@ "tallyResults" : [ { "elected" : "MEG FORNEY", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "15675" + } ], + "summary" : { + "finalThreshold" : "15675", + "numCandidates" : 11, + "numWinners" : 1, + "totalNumBallots" : "80101", + "undervotes" : 20571 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/2015_portland_mayor/2015_portland_mayor_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/2015_portland_mayor/2015_portland_mayor_expected_summary.csv index 3445b0c0f..fc7e3ddc0 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2015_portland_mayor/2015_portland_mayor_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/2015_portland_mayor/2015_portland_mayor_expected_summary.csv @@ -1,27 +1,43 @@ -Contest,Portland 2015 Mayoral Race -Jurisdiction,"Portland, ME" -Office,Mayor -Date,2015-11-03 -Winner(s),"Mavodones, Nicholas M. Jr." -Threshold,48 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6,Round 7,Round 8,Round 9,Round 10,Round 11,Round 12,Round 13,Round 14 -Eliminated,"Undeclared Write-ins; Strimling, Ethan K.","Rathband, Jed","Marshall, David A.","Eder, John M.","Miller, Markos S.","Brennan, Michael F.","Vail, Christopher L.","Lapchick, Jodie L.","Duson, Jill C.","Haadoow, Hamza A.","Bryant, Peter G.","Dodge, Richard A.","Bragdon, Charles E.", -Elected,,,,,,,,,,,,,,"Mavodones, Nicholas M. Jr." -"Mavodones, Nicholas M. Jr.",13,13,15,15,15,20,20,26,32,34,41,42,45,54 -"Carmona, Ralph C.",12,12,12,12,12,12,13,13,13,13,15,17,28,40 -"Bragdon, Charles E.",11,11,11,11,11,11,14,14,14,14,14,23,24,0 -"Dodge, Richard A.",10,10,10,10,10,10,10,10,10,15,15,15,0,0 -"Bryant, Peter G.",9,9,9,9,9,9,11,11,11,12,12,0,0,0 -"Haadoow, Hamza A.",8,8,8,8,8,8,8,8,9,9,0,0,0,0 -"Lapchick, Jodie L.",7,7,7,7,7,7,7,7,0,0,0,0,0,0 -"Brennan, Michael F.",6,6,6,6,6,6,0,0,0,0,0,0,0,0 -"Vail, Christopher L.",6,7,7,7,7,7,7,0,0,0,0,0,0,0 -"Duson, Jill C.",5,5,5,5,8,8,8,8,8,0,0,0,0,0 -"Miller, Markos S.",3,3,3,5,5,0,0,0,0,0,0,0,0,0 -"Eder, John M.",3,3,3,3,0,0,0,0,0,0,0,0,0,0 -"Marshall, David A.",2,2,2,0,0,0,0,0,0,0,0,0,0,0 -"Rathband, Jed",2,2,0,0,0,0,0,0,0,0,0,0,0,0 -"Strimling, Ethan K.",1,0,0,0,0,0,0,0,0,0,0,0,0,0 -Undeclared Write-ins,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -Inactive ballots,1,1,1,1,1,1,1,2,2,2,2,2,2,5 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Portland 2015 Mayoral Race +Jurisdiction,"Portland, ME" +Office,Mayor +Date,2015-11-03 +Winner(s),"Mavodones, Nicholas M. Jr." +Final Threshold,48 + +Contest Summary +Number to be Elected,1 +Number of Candidates,16 +Total Number of Ballots,99 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer,Round 7 Votes,% of vote,transfer,Round 8 Votes,% of vote,transfer,Round 9 Votes,% of vote,transfer,Round 10 Votes,% of vote,transfer,Round 11 Votes,% of vote,transfer,Round 12 Votes,% of vote,transfer,Round 13 Votes,% of vote,transfer,Round 14 Votes,% of vote,transfer +Eliminated,"Undeclared Write-ins; Strimling, Ethan K.",,,"Rathband, Jed",,,"Marshall, David A.",,,"Eder, John M.",,,"Miller, Markos S.",,,"Brennan, Michael F.",,,"Vail, Christopher L.",,,"Lapchick, Jodie L.",,,"Duson, Jill C.",,,"Haadoow, Hamza A.",,,"Bryant, Peter G.",,,"Dodge, Richard A.",,,"Bragdon, Charles E.",,,,, +Elected,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"Mavodones, Nicholas M. Jr.",, +"Mavodones, Nicholas M. Jr.",13,13.26%,0,13,13.26%,2,15,15.3%,0,15,15.3%,0,15,15.3%,5,20,20.4%,0,20,20.4%,6,26,26.8%,6,32,32.98%,2,34,35.05%,7,41,42.26%,1,42,43.29%,3,45,46.39%,9,54,57.44%,0 +"Carmona, Ralph C.",12,12.24%,0,12,12.24%,0,12,12.24%,0,12,12.24%,0,12,12.24%,0,12,12.24%,1,13,13.26%,0,13,13.4%,0,13,13.4%,0,13,13.4%,2,15,15.46%,2,17,17.52%,11,28,28.86%,12,40,42.55%,0 +"Bragdon, Charles E.",11,11.22%,0,11,11.22%,0,11,11.22%,0,11,11.22%,0,11,11.22%,0,11,11.22%,3,14,14.28%,0,14,14.43%,0,14,14.43%,0,14,14.43%,0,14,14.43%,9,23,23.71%,1,24,24.74%,-24,0,0.0%,0 +"Dodge, Richard A.",10,10.2%,0,10,10.2%,0,10,10.2%,0,10,10.2%,0,10,10.2%,0,10,10.2%,0,10,10.2%,0,10,10.3%,0,10,10.3%,5,15,15.46%,0,15,15.46%,0,15,15.46%,-15,0,0.0%,0,0,0.0%,0 +"Bryant, Peter G.",9,9.18%,0,9,9.18%,0,9,9.18%,0,9,9.18%,0,9,9.18%,0,9,9.18%,2,11,11.22%,0,11,11.34%,0,11,11.34%,1,12,12.37%,0,12,12.37%,-12,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"Haadoow, Hamza A.",8,8.16%,0,8,8.16%,0,8,8.16%,0,8,8.16%,0,8,8.16%,0,8,8.16%,0,8,8.16%,0,8,8.24%,1,9,9.27%,0,9,9.27%,-9,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"Lapchick, Jodie L.",7,7.14%,0,7,7.14%,0,7,7.14%,0,7,7.14%,0,7,7.14%,0,7,7.14%,0,7,7.14%,0,7,7.21%,-7,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"Brennan, Michael F.",6,6.12%,0,6,6.12%,0,6,6.12%,0,6,6.12%,0,6,6.12%,0,6,6.12%,-6,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"Vail, Christopher L.",6,6.12%,1,7,7.14%,0,7,7.14%,0,7,7.14%,0,7,7.14%,0,7,7.14%,0,7,7.14%,-7,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"Duson, Jill C.",5,5.1%,0,5,5.1%,0,5,5.1%,0,5,5.1%,3,8,8.16%,0,8,8.16%,0,8,8.16%,0,8,8.24%,0,8,8.24%,-8,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"Miller, Markos S.",3,3.06%,0,3,3.06%,0,3,3.06%,2,5,5.1%,0,5,5.1%,-5,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"Eder, John M.",3,3.06%,0,3,3.06%,0,3,3.06%,0,3,3.06%,-3,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"Marshall, David A.",2,2.04%,0,2,2.04%,0,2,2.04%,-2,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"Rathband, Jed",2,2.04%,0,2,2.04%,-2,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"Strimling, Ethan K.",1,1.02%,-1,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,98,,,98,,,98,,,98,,,98,,,98,,,98,,,97,,,97,,,97,,,97,,,97,,,97,,,94,, +Current Round Threshold,50,,,50,,,50,,,50,,,50,,,50,,,50,,,49,,,49,,,49,,,49,,,49,,,49,,,48,, +Inactive Ballots by by Overvotes,1,0,,1,0,,1,0,,1,0,,1,0,,1,0,,1,0,,1,0,,1,0,,1,0,,1,0,,1,0,,1,2,,3,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,1,,1,0,,1,0,,1,0,,1,0,,1,0,,1,0,,1,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,1,0,,1,0,,1,0,,1,0,,1,0,,1,0,,1,1,,2,0,,2,0,,2,0,,2,0,,2,0,,2,3,,5,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/2015_portland_mayor/2015_portland_mayor_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/2015_portland_mayor/2015_portland_mayor_expected_summary.json index 6ec4e5f8f..d492342d8 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2015_portland_mayor/2015_portland_mayor_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/2015_portland_mayor/2015_portland_mayor_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Portland 2015 Mayoral Race", "date" : "2015-11-03", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Portland, ME", - "office" : "Mayor", - "threshold" : "48" + "office" : "Mayor" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Bragdon, Charles E." : "11", @@ -34,8 +41,15 @@ "transfers" : { "Vail, Christopher L." : "1" } - } ] + } ], + "threshold" : "50" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Bragdon, Charles E." : "11", @@ -58,8 +72,15 @@ "transfers" : { "Mavodones, Nicholas M. Jr." : "2" } - } ] + } ], + "threshold" : "50" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Bragdon, Charles E." : "11", @@ -81,8 +102,15 @@ "transfers" : { "Miller, Markos S." : "2" } - } ] + } ], + "threshold" : "50" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "Bragdon, Charles E." : "11", @@ -103,8 +131,15 @@ "transfers" : { "Duson, Jill C." : "3" } - } ] + } ], + "threshold" : "50" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "Bragdon, Charles E." : "11", @@ -124,8 +159,15 @@ "transfers" : { "Mavodones, Nicholas M. Jr." : "5" } - } ] + } ], + "threshold" : "50" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 6, "tally" : { "Bragdon, Charles E." : "11", @@ -146,8 +188,15 @@ "Bryant, Peter G." : "2", "Carmona, Ralph C." : "1" } - } ] + } ], + "threshold" : "50" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 7, "tally" : { "Bragdon, Charles E." : "14", @@ -166,8 +215,15 @@ "Mavodones, Nicholas M. Jr." : "6", "exhausted" : "1" } - } ] + } ], + "threshold" : "50" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "1" + }, "round" : 8, "tally" : { "Bragdon, Charles E." : "14", @@ -185,8 +241,15 @@ "Haadoow, Hamza A." : "1", "Mavodones, Nicholas M. Jr." : "6" } - } ] + } ], + "threshold" : "49" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "1" + }, "round" : 9, "tally" : { "Bragdon, Charles E." : "14", @@ -204,8 +267,15 @@ "Dodge, Richard A." : "5", "Mavodones, Nicholas M. Jr." : "2" } - } ] + } ], + "threshold" : "49" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "1" + }, "round" : 10, "tally" : { "Bragdon, Charles E." : "14", @@ -221,8 +291,15 @@ "Carmona, Ralph C." : "2", "Mavodones, Nicholas M. Jr." : "7" } - } ] + } ], + "threshold" : "49" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "1" + }, "round" : 11, "tally" : { "Bragdon, Charles E." : "14", @@ -238,8 +315,15 @@ "Carmona, Ralph C." : "2", "Mavodones, Nicholas M. Jr." : "1" } - } ] + } ], + "threshold" : "49" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "1" + }, "round" : 12, "tally" : { "Bragdon, Charles E." : "23", @@ -254,8 +338,15 @@ "Carmona, Ralph C." : "11", "Mavodones, Nicholas M. Jr." : "3" } - } ] + } ], + "threshold" : "49" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "1" + }, "round" : 13, "tally" : { "Bragdon, Charles E." : "24", @@ -269,8 +360,15 @@ "Mavodones, Nicholas M. Jr." : "9", "exhausted" : "3" } - } ] + } ], + "threshold" : "49" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "3", + "repeatedRankings" : "0", + "skippedRankings" : "1" + }, "round" : 14, "tally" : { "Carmona, Ralph C." : "40", @@ -279,6 +377,14 @@ "tallyResults" : [ { "elected" : "Mavodones, Nicholas M. Jr.", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "48" + } ], + "summary" : { + "finalThreshold" : "48", + "numCandidates" : 16, + "numWinners" : 1, + "totalNumBallots" : "99", + "undervotes" : 0 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/2015_portland_mayor_codes/2015_portland_mayor_codes_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/2015_portland_mayor_codes/2015_portland_mayor_codes_expected_summary.csv index 3445b0c0f..fc7e3ddc0 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2015_portland_mayor_codes/2015_portland_mayor_codes_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/2015_portland_mayor_codes/2015_portland_mayor_codes_expected_summary.csv @@ -1,27 +1,43 @@ -Contest,Portland 2015 Mayoral Race -Jurisdiction,"Portland, ME" -Office,Mayor -Date,2015-11-03 -Winner(s),"Mavodones, Nicholas M. Jr." -Threshold,48 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6,Round 7,Round 8,Round 9,Round 10,Round 11,Round 12,Round 13,Round 14 -Eliminated,"Undeclared Write-ins; Strimling, Ethan K.","Rathband, Jed","Marshall, David A.","Eder, John M.","Miller, Markos S.","Brennan, Michael F.","Vail, Christopher L.","Lapchick, Jodie L.","Duson, Jill C.","Haadoow, Hamza A.","Bryant, Peter G.","Dodge, Richard A.","Bragdon, Charles E.", -Elected,,,,,,,,,,,,,,"Mavodones, Nicholas M. Jr." -"Mavodones, Nicholas M. Jr.",13,13,15,15,15,20,20,26,32,34,41,42,45,54 -"Carmona, Ralph C.",12,12,12,12,12,12,13,13,13,13,15,17,28,40 -"Bragdon, Charles E.",11,11,11,11,11,11,14,14,14,14,14,23,24,0 -"Dodge, Richard A.",10,10,10,10,10,10,10,10,10,15,15,15,0,0 -"Bryant, Peter G.",9,9,9,9,9,9,11,11,11,12,12,0,0,0 -"Haadoow, Hamza A.",8,8,8,8,8,8,8,8,9,9,0,0,0,0 -"Lapchick, Jodie L.",7,7,7,7,7,7,7,7,0,0,0,0,0,0 -"Brennan, Michael F.",6,6,6,6,6,6,0,0,0,0,0,0,0,0 -"Vail, Christopher L.",6,7,7,7,7,7,7,0,0,0,0,0,0,0 -"Duson, Jill C.",5,5,5,5,8,8,8,8,8,0,0,0,0,0 -"Miller, Markos S.",3,3,3,5,5,0,0,0,0,0,0,0,0,0 -"Eder, John M.",3,3,3,3,0,0,0,0,0,0,0,0,0,0 -"Marshall, David A.",2,2,2,0,0,0,0,0,0,0,0,0,0,0 -"Rathband, Jed",2,2,0,0,0,0,0,0,0,0,0,0,0,0 -"Strimling, Ethan K.",1,0,0,0,0,0,0,0,0,0,0,0,0,0 -Undeclared Write-ins,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -Inactive ballots,1,1,1,1,1,1,1,2,2,2,2,2,2,5 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Portland 2015 Mayoral Race +Jurisdiction,"Portland, ME" +Office,Mayor +Date,2015-11-03 +Winner(s),"Mavodones, Nicholas M. Jr." +Final Threshold,48 + +Contest Summary +Number to be Elected,1 +Number of Candidates,16 +Total Number of Ballots,99 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer,Round 7 Votes,% of vote,transfer,Round 8 Votes,% of vote,transfer,Round 9 Votes,% of vote,transfer,Round 10 Votes,% of vote,transfer,Round 11 Votes,% of vote,transfer,Round 12 Votes,% of vote,transfer,Round 13 Votes,% of vote,transfer,Round 14 Votes,% of vote,transfer +Eliminated,"Undeclared Write-ins; Strimling, Ethan K.",,,"Rathband, Jed",,,"Marshall, David A.",,,"Eder, John M.",,,"Miller, Markos S.",,,"Brennan, Michael F.",,,"Vail, Christopher L.",,,"Lapchick, Jodie L.",,,"Duson, Jill C.",,,"Haadoow, Hamza A.",,,"Bryant, Peter G.",,,"Dodge, Richard A.",,,"Bragdon, Charles E.",,,,, +Elected,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"Mavodones, Nicholas M. Jr.",, +"Mavodones, Nicholas M. Jr.",13,13.26%,0,13,13.26%,2,15,15.3%,0,15,15.3%,0,15,15.3%,5,20,20.4%,0,20,20.4%,6,26,26.8%,6,32,32.98%,2,34,35.05%,7,41,42.26%,1,42,43.29%,3,45,46.39%,9,54,57.44%,0 +"Carmona, Ralph C.",12,12.24%,0,12,12.24%,0,12,12.24%,0,12,12.24%,0,12,12.24%,0,12,12.24%,1,13,13.26%,0,13,13.4%,0,13,13.4%,0,13,13.4%,2,15,15.46%,2,17,17.52%,11,28,28.86%,12,40,42.55%,0 +"Bragdon, Charles E.",11,11.22%,0,11,11.22%,0,11,11.22%,0,11,11.22%,0,11,11.22%,0,11,11.22%,3,14,14.28%,0,14,14.43%,0,14,14.43%,0,14,14.43%,0,14,14.43%,9,23,23.71%,1,24,24.74%,-24,0,0.0%,0 +"Dodge, Richard A.",10,10.2%,0,10,10.2%,0,10,10.2%,0,10,10.2%,0,10,10.2%,0,10,10.2%,0,10,10.2%,0,10,10.3%,0,10,10.3%,5,15,15.46%,0,15,15.46%,0,15,15.46%,-15,0,0.0%,0,0,0.0%,0 +"Bryant, Peter G.",9,9.18%,0,9,9.18%,0,9,9.18%,0,9,9.18%,0,9,9.18%,0,9,9.18%,2,11,11.22%,0,11,11.34%,0,11,11.34%,1,12,12.37%,0,12,12.37%,-12,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"Haadoow, Hamza A.",8,8.16%,0,8,8.16%,0,8,8.16%,0,8,8.16%,0,8,8.16%,0,8,8.16%,0,8,8.16%,0,8,8.24%,1,9,9.27%,0,9,9.27%,-9,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"Lapchick, Jodie L.",7,7.14%,0,7,7.14%,0,7,7.14%,0,7,7.14%,0,7,7.14%,0,7,7.14%,0,7,7.14%,0,7,7.21%,-7,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"Brennan, Michael F.",6,6.12%,0,6,6.12%,0,6,6.12%,0,6,6.12%,0,6,6.12%,0,6,6.12%,-6,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"Vail, Christopher L.",6,6.12%,1,7,7.14%,0,7,7.14%,0,7,7.14%,0,7,7.14%,0,7,7.14%,0,7,7.14%,-7,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"Duson, Jill C.",5,5.1%,0,5,5.1%,0,5,5.1%,0,5,5.1%,3,8,8.16%,0,8,8.16%,0,8,8.16%,0,8,8.24%,0,8,8.24%,-8,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"Miller, Markos S.",3,3.06%,0,3,3.06%,0,3,3.06%,2,5,5.1%,0,5,5.1%,-5,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"Eder, John M.",3,3.06%,0,3,3.06%,0,3,3.06%,0,3,3.06%,-3,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"Marshall, David A.",2,2.04%,0,2,2.04%,0,2,2.04%,-2,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"Rathband, Jed",2,2.04%,0,2,2.04%,-2,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"Strimling, Ethan K.",1,1.02%,-1,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,98,,,98,,,98,,,98,,,98,,,98,,,98,,,97,,,97,,,97,,,97,,,97,,,97,,,94,, +Current Round Threshold,50,,,50,,,50,,,50,,,50,,,50,,,50,,,49,,,49,,,49,,,49,,,49,,,49,,,48,, +Inactive Ballots by by Overvotes,1,0,,1,0,,1,0,,1,0,,1,0,,1,0,,1,0,,1,0,,1,0,,1,0,,1,0,,1,0,,1,2,,3,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,1,,1,0,,1,0,,1,0,,1,0,,1,0,,1,0,,1,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,1,0,,1,0,,1,0,,1,0,,1,0,,1,0,,1,1,,2,0,,2,0,,2,0,,2,0,,2,0,,2,3,,5,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/2015_portland_mayor_codes/2015_portland_mayor_codes_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/2015_portland_mayor_codes/2015_portland_mayor_codes_expected_summary.json index 6ec4e5f8f..d492342d8 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2015_portland_mayor_codes/2015_portland_mayor_codes_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/2015_portland_mayor_codes/2015_portland_mayor_codes_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Portland 2015 Mayoral Race", "date" : "2015-11-03", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Portland, ME", - "office" : "Mayor", - "threshold" : "48" + "office" : "Mayor" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Bragdon, Charles E." : "11", @@ -34,8 +41,15 @@ "transfers" : { "Vail, Christopher L." : "1" } - } ] + } ], + "threshold" : "50" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Bragdon, Charles E." : "11", @@ -58,8 +72,15 @@ "transfers" : { "Mavodones, Nicholas M. Jr." : "2" } - } ] + } ], + "threshold" : "50" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Bragdon, Charles E." : "11", @@ -81,8 +102,15 @@ "transfers" : { "Miller, Markos S." : "2" } - } ] + } ], + "threshold" : "50" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "Bragdon, Charles E." : "11", @@ -103,8 +131,15 @@ "transfers" : { "Duson, Jill C." : "3" } - } ] + } ], + "threshold" : "50" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "Bragdon, Charles E." : "11", @@ -124,8 +159,15 @@ "transfers" : { "Mavodones, Nicholas M. Jr." : "5" } - } ] + } ], + "threshold" : "50" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 6, "tally" : { "Bragdon, Charles E." : "11", @@ -146,8 +188,15 @@ "Bryant, Peter G." : "2", "Carmona, Ralph C." : "1" } - } ] + } ], + "threshold" : "50" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 7, "tally" : { "Bragdon, Charles E." : "14", @@ -166,8 +215,15 @@ "Mavodones, Nicholas M. Jr." : "6", "exhausted" : "1" } - } ] + } ], + "threshold" : "50" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "1" + }, "round" : 8, "tally" : { "Bragdon, Charles E." : "14", @@ -185,8 +241,15 @@ "Haadoow, Hamza A." : "1", "Mavodones, Nicholas M. Jr." : "6" } - } ] + } ], + "threshold" : "49" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "1" + }, "round" : 9, "tally" : { "Bragdon, Charles E." : "14", @@ -204,8 +267,15 @@ "Dodge, Richard A." : "5", "Mavodones, Nicholas M. Jr." : "2" } - } ] + } ], + "threshold" : "49" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "1" + }, "round" : 10, "tally" : { "Bragdon, Charles E." : "14", @@ -221,8 +291,15 @@ "Carmona, Ralph C." : "2", "Mavodones, Nicholas M. Jr." : "7" } - } ] + } ], + "threshold" : "49" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "1" + }, "round" : 11, "tally" : { "Bragdon, Charles E." : "14", @@ -238,8 +315,15 @@ "Carmona, Ralph C." : "2", "Mavodones, Nicholas M. Jr." : "1" } - } ] + } ], + "threshold" : "49" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "1" + }, "round" : 12, "tally" : { "Bragdon, Charles E." : "23", @@ -254,8 +338,15 @@ "Carmona, Ralph C." : "11", "Mavodones, Nicholas M. Jr." : "3" } - } ] + } ], + "threshold" : "49" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "1" + }, "round" : 13, "tally" : { "Bragdon, Charles E." : "24", @@ -269,8 +360,15 @@ "Mavodones, Nicholas M. Jr." : "9", "exhausted" : "3" } - } ] + } ], + "threshold" : "49" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "3", + "repeatedRankings" : "0", + "skippedRankings" : "1" + }, "round" : 14, "tally" : { "Carmona, Ralph C." : "40", @@ -279,6 +377,14 @@ "tallyResults" : [ { "elected" : "Mavodones, Nicholas M. Jr.", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "48" + } ], + "summary" : { + "finalThreshold" : "48", + "numCandidates" : 16, + "numWinners" : 1, + "totalNumBallots" : "99", + "undervotes" : 0 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/2017_minneapolis_mayor/2017_minneapolis_mayor_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/2017_minneapolis_mayor/2017_minneapolis_mayor_expected_summary.csv index 7119cb36b..b3ab2138c 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2017_minneapolis_mayor/2017_minneapolis_mayor_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/2017_minneapolis_mayor/2017_minneapolis_mayor_expected_summary.csv @@ -1,30 +1,46 @@ -Contest,2017 Minneapolis mayoral race -Jurisdiction,"Minneapolis, MN" -Office,Mayor -Date,2017-11-07 -Winner(s),Jacob Frey -Threshold,40838 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6 -Eliminated,Undeclared Write-ins,Aswar Rahman; David Rosenfeld; L.A. Nik; Christopher Zimmerman; Ronald Lischeid; Ian Simpson; Charlie Gers; Captain Jack Sparrow; Theron Preston Washington; David John Wilson; Gregg A. Iverson; Troy Benjegerdes; Al Flowers,Nekima Levy-Pounds,Tom Hoch,Betsy Hodges, -Elected,,,,,,Jacob Frey -Jacob Frey,26104,26112,26738,29468,39356,46704 -Tom Hoch,20122,20128,20909,22751,0,0 -Betsy Hodges,18905,18911,19457,23501,26865,0 -Raymond Dehn,18100,18103,18573,24027,27357,34970 -Nekima Levy-Pounds,15715,15717,16188,0,0,0 -Charlie Gers,1233,1238,0,0,0,0 -Aswar Rahman,751,751,0,0,0,0 -Al Flowers,711,713,0,0,0,0 -L.A. Nik,612,616,0,0,0,0 -David Rosenfeld,476,479,0,0,0,0 -Captain Jack Sparrow,438,443,0,0,0,0 -Gregg A. Iverson,335,337,0,0,0,0 -Ronald Lischeid,321,321,0,0,0,0 -David John Wilson,220,224,0,0,0,0 -Troy Benjegerdes,184,185,0,0,0,0 -Ian Simpson,119,119,0,0,0,0 -Christopher Zimmerman,1,1,0,0,0,0 -Theron Preston Washington,0,0,0,0,0,0 -Undeclared Write-ins,137,0,0,0,0,0 -Inactive ballots,1444,1530,4063,6181,12350,24254 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,2017 Minneapolis mayoral race +Jurisdiction,"Minneapolis, MN" +Office,Mayor +Date,2017-11-07 +Winner(s),Jacob Frey +Final Threshold,40838 + +Contest Summary +Number to be Elected,1 +Number of Candidates,19 +Total Number of Ballots,105928 +Number of Undervotes,1369 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,Aswar Rahman; David Rosenfeld; L.A. Nik; Christopher Zimmerman; Ronald Lischeid; Ian Simpson; Charlie Gers; Captain Jack Sparrow; Theron Preston Washington; David John Wilson; Gregg A. Iverson; Troy Benjegerdes; Al Flowers,,,Nekima Levy-Pounds,,,Tom Hoch,,,Betsy Hodges,,,,, +Elected,,,,,,,,,,,,,,,,Jacob Frey,, +Jacob Frey,26104,24.98%,8,26112,25.01%,626,26738,26.24%,2730,29468,29.54%,9888,39356,42.05%,7348,46704,57.18%,0 +Tom Hoch,20122,19.25%,6,20128,19.28%,781,20909,20.52%,1842,22751,22.8%,-22751,0,0.0%,0,0,0.0%,0 +Betsy Hodges,18905,18.09%,6,18911,18.11%,546,19457,19.1%,4044,23501,23.56%,3364,26865,28.7%,-26865,0,0.0%,0 +Raymond Dehn,18100,17.32%,3,18103,17.34%,470,18573,18.23%,5454,24027,24.08%,3330,27357,29.23%,7613,34970,42.81%,0 +Nekima Levy-Pounds,15715,15.04%,2,15717,15.05%,471,16188,15.89%,-16188,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Charlie Gers,1233,1.18%,5,1238,1.18%,-1238,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Aswar Rahman,751,0.71%,0,751,0.71%,-751,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Al Flowers,711,0.68%,2,713,0.68%,-713,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +L.A. Nik,612,0.58%,4,616,0.59%,-616,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +David Rosenfeld,476,0.45%,3,479,0.45%,-479,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Captain Jack Sparrow,438,0.41%,5,443,0.42%,-443,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Gregg A. Iverson,335,0.32%,2,337,0.32%,-337,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Ronald Lischeid,321,0.3%,0,321,0.3%,-321,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +David John Wilson,220,0.21%,4,224,0.21%,-224,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Troy Benjegerdes,184,0.17%,1,185,0.17%,-185,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Ian Simpson,119,0.11%,0,119,0.11%,-119,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Christopher Zimmerman,1,0.0%,0,1,0.0%,-1,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Theron Preston Washington,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,137,0.13%,-137,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,104484,,,104398,,,101865,,,99747,,,93578,,,81674,, +Current Round Threshold,52243,,,52200,,,50933,,,49874,,,46790,,,40838,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,38,0,,38,0,,38,0,,38,0,,38,0,,38,0, +Inactive Ballots by by Exhausted Choices,37,37,,74,1534,,1608,1291,,2899,3596,,6495,9273,,15768,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,75,86,,161,2533,,2694,2118,,4812,6169,,10981,11904,,22885,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/2017_minneapolis_mayor/2017_minneapolis_mayor_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/2017_minneapolis_mayor/2017_minneapolis_mayor_expected_summary.json index 2a6493acf..e01b0f053 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2017_minneapolis_mayor/2017_minneapolis_mayor_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/2017_minneapolis_mayor/2017_minneapolis_mayor_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "2017 Minneapolis mayoral race", "date" : "2017-11-07", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Minneapolis, MN", - "office" : "Mayor", - "threshold" : "40838" + "office" : "Mayor" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "37", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "38" + }, "round" : 1, "tally" : { "Al Flowers" : "711", @@ -47,8 +54,15 @@ "Troy Benjegerdes" : "1", "exhausted" : "86" } - } ] + } ], + "threshold" : "52243" }, { + "inactiveBallots" : { + "exhaustedChoices" : "74", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "38" + }, "round" : 2, "tally" : { "Al Flowers" : "713", @@ -188,8 +202,15 @@ "Tom Hoch" : "107", "exhausted" : "206" } - } ] + } ], + "threshold" : "52200" }, { + "inactiveBallots" : { + "exhaustedChoices" : "1608", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "38" + }, "round" : 3, "tally" : { "Betsy Hodges" : "19457", @@ -207,8 +228,15 @@ "Tom Hoch" : "1842", "exhausted" : "2118" } - } ] + } ], + "threshold" : "50933" }, { + "inactiveBallots" : { + "exhaustedChoices" : "2899", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "38" + }, "round" : 4, "tally" : { "Betsy Hodges" : "23501", @@ -224,8 +252,15 @@ "Raymond Dehn" : "3330", "exhausted" : "6169" } - } ] + } ], + "threshold" : "49874" }, { + "inactiveBallots" : { + "exhaustedChoices" : "6495", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "38" + }, "round" : 5, "tally" : { "Betsy Hodges" : "26865", @@ -239,8 +274,15 @@ "Raymond Dehn" : "7613", "exhausted" : "11904" } - } ] + } ], + "threshold" : "46790" }, { + "inactiveBallots" : { + "exhaustedChoices" : "15768", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "38" + }, "round" : 6, "tally" : { "Jacob Frey" : "46704", @@ -249,6 +291,14 @@ "tallyResults" : [ { "elected" : "Jacob Frey", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "40838" + } ], + "summary" : { + "finalThreshold" : "40838", + "numCandidates" : 19, + "numWinners" : 1, + "totalNumBallots" : "105928", + "undervotes" : 1369 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/2018_maine_governor_primary/2018_maine_governor_primary_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/2018_maine_governor_primary/2018_maine_governor_primary_expected_summary.csv index 8a71c7f66..1864895cd 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2018_maine_governor_primary/2018_maine_governor_primary_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/2018_maine_governor_primary/2018_maine_governor_primary_expected_summary.csv @@ -1,19 +1,35 @@ -Contest,Maine 2018 Democratic Governor Primary race -Jurisdiction,Maine -Office,Governor -Date,2018-06-12 -Winner(s),"Mills, Janet T." -Threshold,58627 - -Rounds,Round 1,Round 2,Round 3,Round 4 -Eliminated,"Dion, Mark N.; Dion, Donna J.; Write-in; Russell, Diane Marie","Eves, Mark W.","Sweet, Elizabeth A.", -Elected,,,,"Mills, Janet T." -"Mills, Janet T.",41735,44042,49945,63387 -"Cote, Adam Roland",35478,37543,42623,53866 -"Sweet, Elizabeth A.",20767,22987,29944,0 -"Eves, Mark W.",17887,19521,0,0 -"Dion, Mark N.",5200,0,0,0 -"Russell, Diane Marie",2728,0,0,0 -"Dion, Donna J.",1596,0,0,0 -Write-in,748,0,0,0 -Inactive ballots,6111,8157,9738,14997 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Maine 2018 Democratic Governor Primary race +Jurisdiction,Maine +Office,Governor +Date,2018-06-12 +Winner(s),"Mills, Janet T." +Final Threshold,58627 + +Contest Summary +Number to be Elected,1 +Number of Candidates,8 +Total Number of Ballots,132250 +Number of Undervotes,5535 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer +Eliminated,"Dion, Mark N.; Dion, Donna J.; Write-in; Russell, Diane Marie",,,"Eves, Mark W.",,,"Sweet, Elizabeth A.",,,,, +Elected,,,,,,,,,,"Mills, Janet T.",, +"Mills, Janet T.",41735,33.08%,2307,44042,35.49%,5903,49945,40.76%,13442,63387,54.06%,0 +"Cote, Adam Roland",35478,28.12%,2065,37543,30.25%,5080,42623,34.79%,11243,53866,45.93%,0 +"Sweet, Elizabeth A.",20767,16.46%,2220,22987,18.52%,6957,29944,24.44%,-29944,0,0.0%,0 +"Eves, Mark W.",17887,14.18%,1634,19521,15.73%,-19521,0,0.0%,0,0,0.0%,0 +"Dion, Mark N.",5200,4.12%,-5200,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"Russell, Diane Marie",2728,2.16%,-2728,0,0.0%,0,0,0.0%,0,0,0.0%,0 +"Dion, Donna J.",1596,1.26%,-1596,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Write-in,748,0.59%,-748,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,126139,,,124093,,,122512,,,117253,, +Current Round Threshold,63070,,,62047,,,61257,,,58627,, +Inactive Ballots by by Overvotes,430,42,,472,35,,507,73,,580,0, +Inactive Ballots by by Skipped Rankings,146,45,,191,28,,219,78,,297,0, +Inactive Ballots by by Exhausted Choices,0,119,,119,61,,180,92,,272,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,576,2046,,2622,1581,,4203,5259,,9462,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/2018_maine_governor_primary/2018_maine_governor_primary_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/2018_maine_governor_primary/2018_maine_governor_primary_expected_summary.json index 4e8d8a390..84e817c8a 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/2018_maine_governor_primary/2018_maine_governor_primary_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/2018_maine_governor_primary/2018_maine_governor_primary_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Maine 2018 Democratic Governor Primary race", "date" : "2018-06-12", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Maine", - "office" : "Governor", - "threshold" : "58627" + "office" : "Governor" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "430", + "repeatedRankings" : "0", + "skippedRankings" : "146" + }, "round" : 1, "tally" : { "Cote, Adam Roland" : "35478", @@ -54,8 +61,15 @@ "Sweet, Elizabeth A." : "1128", "exhausted" : "285" } - } ] + } ], + "threshold" : "63070" }, { + "inactiveBallots" : { + "exhaustedChoices" : "119", + "overvotes" : "472", + "repeatedRankings" : "0", + "skippedRankings" : "191" + }, "round" : 2, "tally" : { "Cote, Adam Roland" : "37543", @@ -71,8 +85,15 @@ "Sweet, Elizabeth A." : "6957", "exhausted" : "1581" } - } ] + } ], + "threshold" : "62047" }, { + "inactiveBallots" : { + "exhaustedChoices" : "180", + "overvotes" : "507", + "repeatedRankings" : "0", + "skippedRankings" : "219" + }, "round" : 3, "tally" : { "Cote, Adam Roland" : "42623", @@ -86,8 +107,15 @@ "Mills, Janet T." : "13442", "exhausted" : "5259" } - } ] + } ], + "threshold" : "61257" }, { + "inactiveBallots" : { + "exhaustedChoices" : "272", + "overvotes" : "580", + "repeatedRankings" : "0", + "skippedRankings" : "297" + }, "round" : 4, "tally" : { "Cote, Adam Roland" : "53866", @@ -96,6 +124,14 @@ "tallyResults" : [ { "elected" : "Mills, Janet T.", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "58627" + } ], + "summary" : { + "finalThreshold" : "58627", + "numCandidates" : 8, + "numWinners" : 1, + "totalNumBallots" : "132250", + "undervotes" : 5535 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/aliases_cdf_json/aliases_cdf_json_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/aliases_cdf_json/aliases_cdf_json_expected_summary.csv index 8da4facb0..669d2dc78 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/aliases_cdf_json/aliases_cdf_json_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/aliases_cdf_json/aliases_cdf_json_expected_summary.csv @@ -1,15 +1,31 @@ -Contest,Aliases test (JSON CDF Format) -Jurisdiction,TestSets_Single_winner -Office,Aliases test -Date,2023-03-23 -Winner(s),Unused Display Name Candidate A -Threshold,16 - -Rounds,Round 1,Round 2,Round 3 -Eliminated,Candidate D Name File 1,Candidate C Name File 1, -Elected,,,Unused Display Name Candidate A -Candidate B Name File 1,10,10,14 -Unused Display Name Candidate A,10,12,16 -Candidate C Name File 1,6,8,0 -Candidate D Name File 1,4,0,0 -Inactive ballots,0,0,0 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Aliases test (JSON CDF Format) +Jurisdiction,TestSets_Single_winner +Office,Aliases test +Date,2023-03-23 +Winner(s),Unused Display Name Candidate A +Final Threshold,16 + +Contest Summary +Number to be Elected,1 +Number of Candidates,4 +Total Number of Ballots,30 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer +Eliminated,Candidate D Name File 1,,,Candidate C Name File 1,,,,, +Elected,,,,,,,Unused Display Name Candidate A,, +Candidate B Name File 1,10,33.33%,0,10,33.33%,4,14,46.66%,0 +Unused Display Name Candidate A,10,33.33%,2,12,40.0%,4,16,53.33%,0 +Candidate C Name File 1,6,20.0%,2,8,26.66%,-8,0,0.0%,0 +Candidate D Name File 1,4,13.33%,-4,0,0.0%,0,0,0.0%,0 +Active Ballots,30,,,30,,,30,, +Current Round Threshold,16,,,16,,,16,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,0,,0,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/aliases_cdf_json/aliases_cdf_json_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/aliases_cdf_json/aliases_cdf_json_expected_summary.json index 6d62a36b7..13f16152e 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/aliases_cdf_json/aliases_cdf_json_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/aliases_cdf_json/aliases_cdf_json_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Aliases test (JSON CDF Format)", "date" : "2023-03-23", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "TestSets_Single_winner", - "office" : "Aliases test", - "threshold" : "16" + "office" : "Aliases test" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Candidate B Name File 1" : "10", @@ -20,8 +27,15 @@ "Candidate C Name File 1" : "2", "Unused Display Name Candidate A" : "2" } - } ] + } ], + "threshold" : "16" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Candidate B Name File 1" : "10", @@ -34,8 +48,15 @@ "Candidate B Name File 1" : "4", "Unused Display Name Candidate A" : "4" } - } ] + } ], + "threshold" : "16" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Candidate B Name File 1" : "14", @@ -44,6 +65,14 @@ "tallyResults" : [ { "elected" : "Unused Display Name Candidate A", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "16" + } ], + "summary" : { + "finalThreshold" : "16", + "numCandidates" : 4, + "numWinners" : 1, + "totalNumBallots" : "30", + "undervotes" : 0 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/aliases_ess_xlsx/aliases_ess_xlsx_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/aliases_ess_xlsx/aliases_ess_xlsx_expected_summary.csv index 24074033d..43b2d1c65 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/aliases_ess_xlsx/aliases_ess_xlsx_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/aliases_ess_xlsx/aliases_ess_xlsx_expected_summary.csv @@ -1,15 +1,31 @@ -Contest,Aliases test (ES&S XLSX Format) -Jurisdiction, -Office, -Date,2023-04-28 -Winner(s),A -Threshold,5 - -Rounds,Round 1,Round 2,Round 3 -Eliminated,D,C, -Elected,,,A -A,3,3,5 -B-2,3,3,3 -C,2,2,0 -D,1,0,0 -Inactive ballots,0,1,1 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Aliases test (ES&S XLSX Format) +Jurisdiction, +Office, +Date,2023-04-28 +Winner(s),A +Final Threshold,5 + +Contest Summary +Number to be Elected,1 +Number of Candidates,4 +Total Number of Ballots,9 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer +Eliminated,D,,,C,,,,, +Elected,,,,,,,A,, +A,3,33.33%,0,3,37.5%,2,5,62.5%,0 +B-2,3,33.33%,0,3,37.5%,0,3,37.5%,0 +C,2,22.22%,0,2,25.0%,-2,0,0.0%,0 +D,1,11.11%,-1,0,0.0%,0,0,0.0%,0 +Active Ballots,9,,,8,,,8,, +Current Round Threshold,5,,,5,,,5,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0, +Inactive Ballots Total,0,1,,1,0,,1,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/aliases_ess_xlsx/aliases_ess_xlsx_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/aliases_ess_xlsx/aliases_ess_xlsx_expected_summary.json index 6cd2156e2..10f95990a 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/aliases_ess_xlsx/aliases_ess_xlsx_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/aliases_ess_xlsx/aliases_ess_xlsx_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Aliases test (ES&S XLSX Format)", "date" : "2023-04-28", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "5" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "A" : "3", @@ -19,8 +26,15 @@ "transfers" : { "exhausted" : "1" } - } ] + } ], + "threshold" : "5" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "A" : "3", @@ -32,8 +46,15 @@ "transfers" : { "A" : "2" } - } ] + } ], + "threshold" : "5" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "A" : "5", @@ -42,6 +63,14 @@ "tallyResults" : [ { "elected" : "A", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "5" + } ], + "summary" : { + "finalThreshold" : "5", + "numCandidates" : 4, + "numWinners" : 1, + "totalNumBallots" : "9", + "undervotes" : 0 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/clear_ballot_kansas_primary/clear_ballot_kansas_primary_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/clear_ballot_kansas_primary/clear_ballot_kansas_primary_expected_summary.csv index 861f6e9e8..538919b3e 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/clear_ballot_kansas_primary/clear_ballot_kansas_primary_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/clear_ballot_kansas_primary/clear_ballot_kansas_primary_expected_summary.csv @@ -1,22 +1,38 @@ -Contest,Democratic Primary -Jurisdiction,Kansas -Office,Democratic Presidential Primary -Date, -Winner(s),Amy Klobuchar -Threshold,26 - -Rounds,Round 1,Round 2,Round 3,Round 4 -Eliminated,Cory Booker; Undeclared Write-ins; Steven Bullock,Pete Buttigieg,Joe Biden, -Elected,,,,Amy Klobuchar -Amy Klobuchar,20,21,23,26 -Michael Bennet,5,5,5,5 -John Delaney,5,5,5,5 -Tulsi Gabbard,5,5,5,5 -Kamala Harris,5,5,5,5 -Julian Castro,4,4,4,4 -Joe Biden,3,3,3,0 -Pete Buttigieg,2,2,0,0 -Cory Booker,1,0,0,0 -Steven Bullock,0,0,0,0 -Undeclared Write-ins,0,0,0,0 -Inactive ballots,0,0,0,0 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Democratic Primary +Jurisdiction,Kansas +Office,Democratic Presidential Primary +Date, +Winner(s),Amy Klobuchar +Final Threshold,26 + +Contest Summary +Number to be Elected,1 +Number of Candidates,11 +Total Number of Ballots,50 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer +Eliminated,Cory Booker; Undeclared Write-ins; Steven Bullock,,,Pete Buttigieg,,,Joe Biden,,,,, +Elected,,,,,,,,,,Amy Klobuchar,, +Amy Klobuchar,20,40.0%,1,21,42.0%,2,23,46.0%,3,26,52.0%,0 +Michael Bennet,5,10.0%,0,5,10.0%,0,5,10.0%,0,5,10.0%,0 +John Delaney,5,10.0%,0,5,10.0%,0,5,10.0%,0,5,10.0%,0 +Tulsi Gabbard,5,10.0%,0,5,10.0%,0,5,10.0%,0,5,10.0%,0 +Kamala Harris,5,10.0%,0,5,10.0%,0,5,10.0%,0,5,10.0%,0 +Julian Castro,4,8.0%,0,4,8.0%,0,4,8.0%,0,4,8.0%,0 +Joe Biden,3,6.0%,0,3,6.0%,0,3,6.0%,-3,0,0.0%,0 +Pete Buttigieg,2,4.0%,0,2,4.0%,-2,0,0.0%,0,0,0.0%,0 +Cory Booker,1,2.0%,-1,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Steven Bullock,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,50,,,50,,,50,,,50,, +Current Round Threshold,26,,,26,,,26,,,26,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,0,,0,0,,0,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/clear_ballot_kansas_primary/clear_ballot_kansas_primary_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/clear_ballot_kansas_primary/clear_ballot_kansas_primary_expected_summary.json index 79e95ffc3..451bce805 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/clear_ballot_kansas_primary/clear_ballot_kansas_primary_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/clear_ballot_kansas_primary/clear_ballot_kansas_primary_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Democratic Primary", "date" : "", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Kansas", - "office" : "Democratic Presidential Primary", - "threshold" : "26" + "office" : "Democratic Presidential Primary" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Amy Klobuchar" : "20", @@ -32,8 +39,15 @@ }, { "eliminated" : "Steven Bullock", "transfers" : { } - } ] + } ], + "threshold" : "26" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Amy Klobuchar" : "21", @@ -50,8 +64,15 @@ "transfers" : { "Amy Klobuchar" : "2" } - } ] + } ], + "threshold" : "26" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Amy Klobuchar" : "23", @@ -67,8 +88,15 @@ "transfers" : { "Amy Klobuchar" : "3" } - } ] + } ], + "threshold" : "26" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "Amy Klobuchar" : "26", @@ -81,6 +109,14 @@ "tallyResults" : [ { "elected" : "Amy Klobuchar", "transfers" : { } - } ] - } ] + } ], + "threshold" : "26" + } ], + "summary" : { + "finalThreshold" : "26", + "numCandidates" : 11, + "numWinners" : 1, + "totalNumBallots" : "50", + "undervotes" : 0 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/continue_tabulation_test/continue_tabulation_test_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/continue_tabulation_test/continue_tabulation_test_expected_summary.csv index ef73e7cae..15f71270f 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/continue_tabulation_test/continue_tabulation_test_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/continue_tabulation_test/continue_tabulation_test_expected_summary.csv @@ -1,14 +1,30 @@ -Contest,Portland 2015 Mayoral Race -Jurisdiction,"Portland, ME" -Office,Mayor -Date,2015-11-03 -Winner(s),"Vail, Christopher L." -Threshold,10 - -Rounds,Round 1,Round 2,Round 3 -Eliminated,,"Haadoow, Hamza A.", -Elected,"Vail, Christopher L.",, -"Vail, Christopher L.",10,10,13 -"Carmona, Ralph C.",5,5,5 -"Haadoow, Hamza A.",3,3,0 -Inactive ballots,0,0,0 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Portland 2015 Mayoral Race +Jurisdiction,"Portland, ME" +Office,Mayor +Date,2015-11-03 +Winner(s),"Vail, Christopher L." +Final Threshold,10 + +Contest Summary +Number to be Elected,1 +Number of Candidates,3 +Total Number of Ballots,18 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer +Eliminated,,,,"Haadoow, Hamza A.",,,,, +Elected,"Vail, Christopher L.",,,,,,,, +"Vail, Christopher L.",10,55.55%,0,10,55.55%,3,13,72.22%,0 +"Carmona, Ralph C.",5,27.77%,0,5,27.77%,0,5,27.77%,0 +"Haadoow, Hamza A.",3,16.66%,0,3,16.66%,-3,0,0.0%,0 +Active Ballots,18,,,18,,,18,, +Current Round Threshold,10,,,10,,,10,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,0,,0,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/continue_tabulation_test/continue_tabulation_test_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/continue_tabulation_test/continue_tabulation_test_expected_summary.json index 5ec3a350e..36b1c3d66 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/continue_tabulation_test/continue_tabulation_test_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/continue_tabulation_test/continue_tabulation_test_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Portland 2015 Mayoral Race", "date" : "2015-11-03", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Portland, ME", - "office" : "Mayor", - "threshold" : "10" + "office" : "Mayor" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Carmona, Ralph C." : "5", @@ -16,8 +23,15 @@ "tallyResults" : [ { "elected" : "Vail, Christopher L.", "transfers" : { } - } ] + } ], + "threshold" : "10" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Carmona, Ralph C." : "5", @@ -29,13 +43,28 @@ "transfers" : { "Vail, Christopher L." : "3" } - } ] + } ], + "threshold" : "10" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Carmona, Ralph C." : "5", "Vail, Christopher L." : "13" }, - "tallyResults" : [ ] - } ] -} + "tallyResults" : [ ], + "threshold" : "10" + } ], + "summary" : { + "finalThreshold" : "10", + "numCandidates" : 4, + "numWinners" : 1, + "totalNumBallots" : "18", + "undervotes" : 0 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/continue_until_two_with_batch_elimination_test/continue_until_two_with_batch_elimination_test_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/continue_until_two_with_batch_elimination_test/continue_until_two_with_batch_elimination_test_expected_summary.csv index d28695947..435d0a1cf 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/continue_until_two_with_batch_elimination_test/continue_until_two_with_batch_elimination_test_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/continue_until_two_with_batch_elimination_test/continue_until_two_with_batch_elimination_test_expected_summary.csv @@ -1,18 +1,34 @@ -Contest,Continue Until Two + Batch Elimination Test -Jurisdiction, -Office, -Date, -Winner(s),A -Threshold,39 - -Rounds,Round 1,Round 2,Round 3,Round 4 -Eliminated,,D; E; F; G,B, -Elected,A,,, -A,60,60,60,60 -B,15,15,15,0 -C,14,14,16,16 -D,5,5,0,0 -E,4,4,0,0 -F,1,1,0,0 -G,1,1,0,0 -Inactive ballots,0,0,9,24 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Continue Until Two + Batch Elimination Test +Jurisdiction, +Office, +Date, +Winner(s),A +Final Threshold,39 + +Contest Summary +Number to be Elected,1 +Number of Candidates,7 +Total Number of Ballots,100 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer +Eliminated,,,,D; E; F; G,,,B,,,,, +Elected,A,,,,,,,,,,, +A,60,60.0%,0,60,60.0%,0,60,65.93%,0,60,78.94%,0 +B,15,15.0%,0,15,15.0%,0,15,16.48%,-15,0,0.0%,0 +C,14,14.0%,0,14,14.0%,2,16,17.58%,0,16,21.05%,0 +D,5,5.0%,0,5,5.0%,-5,0,0.0%,0,0,0.0%,0 +E,4,4.0%,0,4,4.0%,-4,0,0.0%,0,0,0.0%,0 +F,1,1.0%,0,1,1.0%,-1,0,0.0%,0,0,0.0%,0 +G,1,1.0%,0,1,1.0%,-1,0,0.0%,0,0,0.0%,0 +Active Ballots,100,,,100,,,91,,,76,, +Current Round Threshold,51,,,51,,,46,,,39,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,9,,9,15,,24,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/continue_until_two_with_batch_elimination_test/continue_until_two_with_batch_elimination_test_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/continue_until_two_with_batch_elimination_test/continue_until_two_with_batch_elimination_test_expected_summary.json index c43ea9641..1e1658a1e 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/continue_until_two_with_batch_elimination_test/continue_until_two_with_batch_elimination_test_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/continue_until_two_with_batch_elimination_test/continue_until_two_with_batch_elimination_test_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Continue Until Two + Batch Elimination Test", "date" : "", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "39" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "A" : "60", @@ -20,8 +27,15 @@ "tallyResults" : [ { "elected" : "A", "transfers" : { } - } ] + } ], + "threshold" : "51" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "A" : "60", @@ -53,8 +67,15 @@ "transfers" : { "exhausted" : "1" } - } ] + } ], + "threshold" : "51" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "A" : "60", @@ -66,13 +87,28 @@ "transfers" : { "exhausted" : "15" } - } ] + } ], + "threshold" : "46" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "A" : "60", "C" : "16" }, - "tallyResults" : [ ] - } ] -} + "tallyResults" : [ ], + "threshold" : "39" + } ], + "summary" : { + "finalThreshold" : "39", + "numCandidates" : 7, + "numWinners" : 1, + "totalNumBallots" : "100", + "undervotes" : 0 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/dominion_alaska/dominion_alaska_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/dominion_alaska/dominion_alaska_expected_summary.csv index 75de4c237..360041684 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/dominion_alaska/dominion_alaska_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/dominion_alaska/dominion_alaska_expected_summary.csv @@ -1,20 +1,36 @@ -Contest,Alaska Dominion test -Jurisdiction,Alaska -Office,Democratic Primary -Date,2020-07-19 -Winner(s),Tom Steyer -Threshold,397 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6,Round 7,Round 8 -Eliminated,Undeclared Write-ins,Amy Klobuchar,Elizabeth Warren,Pete Buttigieg,Bernie Sanders,Michael R. Bloomberg,Joseph R. Biden, -Elected,,,,,,,,Tom Steyer -Tulsi Gabbard,116,132,148,164,186,238,301,393 -Bernie Sanders,111,129,150,159,182,0,0,0 -Pete Buttigieg,106,113,126,148,0,0,0,0 -Joseph R. Biden,106,120,138,156,190,228,282,0 -Michael R. Bloomberg,102,116,128,152,187,227,0,0 -Tom Steyer,101,112,134,164,197,245,311,400 -Amy Klobuchar,101,110,0,0,0,0,0,0 -Elizabeth Warren,96,111,119,0,0,0,0,0 -Undeclared Write-ins,104,0,0,0,0,0,0,0 -Inactive ballots,57,57,57,57,58,62,106,207 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Alaska Dominion test +Jurisdiction,Alaska +Office,Democratic Primary +Date,2020-07-19 +Winner(s),Tom Steyer +Final Threshold,397 + +Contest Summary +Number to be Elected,1 +Number of Candidates,9 +Total Number of Ballots,1000 +Number of Undervotes,55 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer,Round 7 Votes,% of vote,transfer,Round 8 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,Amy Klobuchar,,,Elizabeth Warren,,,Pete Buttigieg,,,Bernie Sanders,,,Michael R. Bloomberg,,,Joseph R. Biden,,,,, +Elected,,,,,,,,,,,,,,,,,,,,,,Tom Steyer,, +Tulsi Gabbard,116,12.3%,16,132,13.99%,16,148,15.69%,16,164,17.39%,22,186,19.74%,52,238,25.37%,63,301,33.66%,92,393,49.55%,0 +Bernie Sanders,111,11.77%,18,129,13.67%,21,150,15.9%,9,159,16.86%,23,182,19.32%,-182,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Pete Buttigieg,106,11.24%,7,113,11.98%,13,126,13.36%,22,148,15.69%,-148,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Joseph R. Biden,106,11.24%,14,120,12.72%,18,138,14.63%,18,156,16.54%,34,190,20.16%,38,228,24.3%,54,282,31.54%,-282,0,0.0%,0 +Michael R. Bloomberg,102,10.81%,14,116,12.3%,12,128,13.57%,24,152,16.11%,35,187,19.85%,40,227,24.2%,-227,0,0.0%,0,0,0.0%,0 +Tom Steyer,101,10.71%,11,112,11.87%,22,134,14.2%,30,164,17.39%,33,197,20.91%,48,245,26.11%,66,311,34.78%,89,400,50.44%,0 +Amy Klobuchar,101,10.71%,9,110,11.66%,-110,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Elizabeth Warren,96,10.18%,15,111,11.77%,8,119,12.61%,-119,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,104,11.02%,-104,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,943,,,943,,,943,,,943,,,942,,,938,,,894,,,793,, +Current Round Threshold,472,,,472,,,472,,,472,,,472,,,470,,,448,,,397,, +Inactive Ballots by by Overvotes,2,0,,2,0,,2,0,,2,1,,3,2,,5,1,,6,1,,7,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,2,0,,2,0,,2,0,,2,1,,3,4,,7,44,,51,101,,152,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/dominion_alaska/dominion_alaska_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/dominion_alaska/dominion_alaska_expected_summary.json index 20db3adcf..7ac13c522 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/dominion_alaska/dominion_alaska_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/dominion_alaska/dominion_alaska_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Alaska Dominion test", "date" : "2020-07-19", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Alaska", - "office" : "Democratic Primary", - "threshold" : "397" + "office" : "Democratic Primary" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "2", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Amy Klobuchar" : "101", @@ -31,8 +38,15 @@ "Tom Steyer" : "11", "Tulsi Gabbard" : "16" } - } ] + } ], + "threshold" : "472" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "2", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Amy Klobuchar" : "110", @@ -55,8 +69,15 @@ "Tom Steyer" : "22", "Tulsi Gabbard" : "16" } - } ] + } ], + "threshold" : "472" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "2", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Bernie Sanders" : "150", @@ -77,8 +98,15 @@ "Tom Steyer" : "30", "Tulsi Gabbard" : "16" } - } ] + } ], + "threshold" : "472" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "2", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "Bernie Sanders" : "159", @@ -98,8 +126,15 @@ "Tulsi Gabbard" : "22", "exhausted" : "1" } - } ] + } ], + "threshold" : "472" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "3", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "Bernie Sanders" : "182", @@ -117,8 +152,15 @@ "Tulsi Gabbard" : "52", "exhausted" : "4" } - } ] + } ], + "threshold" : "472" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "5", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 6, "tally" : { "Joseph R. Biden" : "228", @@ -134,8 +176,15 @@ "Tulsi Gabbard" : "63", "exhausted" : "44" } - } ] + } ], + "threshold" : "470" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "6", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 7, "tally" : { "Joseph R. Biden" : "282", @@ -149,8 +198,15 @@ "Tulsi Gabbard" : "92", "exhausted" : "101" } - } ] + } ], + "threshold" : "448" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "7", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 8, "tally" : { "Tom Steyer" : "400", @@ -159,6 +215,14 @@ "tallyResults" : [ { "elected" : "Tom Steyer", "transfers" : { } - } ] - } ] + } ], + "threshold" : "397" + } ], + "summary" : { + "finalThreshold" : "397", + "numCandidates" : 9, + "numWinners" : 1, + "totalNumBallots" : "1000", + "undervotes" : 55 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/dominion_kansas/dominion_kansas_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/dominion_kansas/dominion_kansas_expected_summary.csv index b889764ad..e40ebf34b 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/dominion_kansas/dominion_kansas_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/dominion_kansas/dominion_kansas_expected_summary.csv @@ -1,20 +1,36 @@ -Contest,Kansas Dominion test -Jurisdiction,Kansas -Office,Democratic Primary -Date,2020-07-19 -Winner(s),Tom Steyer -Threshold,1962 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6,Round 7,Round 8 -Eliminated,Undeclared Write-ins,Joseph R. Biden,Michael R. Bloomberg,Pete Buttigieg,Elizabeth Warren,Bernie Sanders,Amy Klobuchar, -Elected,,,,,,,,Tom Steyer -Elizabeth Warren,558,622,694,789,920,0,0,0 -Tulsi Gabbard,530,593,677,788,949,1175,1513,1954 -Amy Klobuchar,527,602,675,793,943,1161,1463,0 -Bernie Sanders,523,579,665,774,933,1153,0,0 -Michael R. Bloomberg,523,575,645,0,0,0,0,0 -Pete Buttigieg,517,576,661,761,0,0,0,0 -Tom Steyer,510,590,678,789,943,1159,1470,1969 -Joseph R. Biden,496,559,0,0,0,0,0,0 -Undeclared Write-ins,513,0,0,0,0,0,0,0 -Inactive ballots,303,304,305,306,312,352,554,1077 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Kansas Dominion test +Jurisdiction,Kansas +Office,Democratic Primary +Date,2020-07-19 +Winner(s),Tom Steyer +Final Threshold,1962 + +Contest Summary +Number to be Elected,1 +Number of Candidates,9 +Total Number of Ballots,5000 +Number of Undervotes,290 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer,Round 7 Votes,% of vote,transfer,Round 8 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,Joseph R. Biden,,,Michael R. Bloomberg,,,Pete Buttigieg,,,Elizabeth Warren,,,Bernie Sanders,,,Amy Klobuchar,,,,, +Elected,,,,,,,,,,,,,,,,,,,,,,Tom Steyer,, +Elizabeth Warren,558,11.87%,64,622,13.24%,72,694,14.78%,95,789,16.8%,131,920,19.62%,-920,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Tulsi Gabbard,530,11.28%,63,593,12.62%,84,677,14.41%,111,788,16.78%,161,949,20.24%,226,1175,25.27%,338,1513,34.03%,441,1954,49.8%,0 +Amy Klobuchar,527,11.21%,75,602,12.81%,73,675,14.37%,118,793,16.89%,150,943,20.11%,218,1161,24.97%,302,1463,32.9%,-1463,0,0.0%,0 +Bernie Sanders,523,11.13%,56,579,12.32%,86,665,14.16%,109,774,16.48%,159,933,19.9%,220,1153,24.8%,-1153,0,0.0%,0,0,0.0%,0 +Michael R. Bloomberg,523,11.13%,52,575,12.24%,70,645,13.73%,-645,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Pete Buttigieg,517,11.0%,59,576,12.26%,85,661,14.07%,100,761,16.21%,-761,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Tom Steyer,510,10.85%,80,590,12.56%,88,678,14.44%,111,789,16.8%,154,943,20.11%,216,1159,24.93%,311,1470,33.06%,499,1969,50.19%,0 +Joseph R. Biden,496,10.55%,63,559,11.9%,-559,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,513,10.92%,-513,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,4697,,,4696,,,4695,,,4694,,,4688,,,4648,,,4446,,,3923,, +Current Round Threshold,2349,,,2349,,,2348,,,2348,,,2345,,,2325,,,2224,,,1962,, +Inactive Ballots by by Overvotes,13,1,,14,1,,15,1,,16,6,,22,1,,23,5,,28,5,,33,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,13,1,,14,1,,15,1,,16,6,,22,40,,62,202,,264,523,,787,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/dominion_kansas/dominion_kansas_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/dominion_kansas/dominion_kansas_expected_summary.json index 848d0f8ae..2ae11dea5 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/dominion_kansas/dominion_kansas_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/dominion_kansas/dominion_kansas_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Kansas Dominion test", "date" : "2020-07-19", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Kansas", - "office" : "Democratic Primary", - "threshold" : "1962" + "office" : "Democratic Primary" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "13", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Amy Klobuchar" : "527", @@ -32,8 +39,15 @@ "Tulsi Gabbard" : "63", "exhausted" : "1" } - } ] + } ], + "threshold" : "2349" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "14", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Amy Klobuchar" : "602", @@ -57,8 +71,15 @@ "Tulsi Gabbard" : "84", "exhausted" : "1" } - } ] + } ], + "threshold" : "2349" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "15", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Amy Klobuchar" : "675", @@ -80,8 +101,15 @@ "Tulsi Gabbard" : "111", "exhausted" : "1" } - } ] + } ], + "threshold" : "2348" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "16", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "Amy Klobuchar" : "793", @@ -101,8 +129,15 @@ "Tulsi Gabbard" : "161", "exhausted" : "6" } - } ] + } ], + "threshold" : "2348" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "22", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "Amy Klobuchar" : "943", @@ -120,8 +155,15 @@ "Tulsi Gabbard" : "226", "exhausted" : "40" } - } ] + } ], + "threshold" : "2345" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "23", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 6, "tally" : { "Amy Klobuchar" : "1161", @@ -137,8 +179,15 @@ "Tulsi Gabbard" : "338", "exhausted" : "202" } - } ] + } ], + "threshold" : "2325" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "28", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 7, "tally" : { "Amy Klobuchar" : "1463", @@ -152,8 +201,15 @@ "Tulsi Gabbard" : "441", "exhausted" : "523" } - } ] + } ], + "threshold" : "2224" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "33", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 8, "tally" : { "Tom Steyer" : "1969", @@ -162,6 +218,14 @@ "tallyResults" : [ { "elected" : "Tom Steyer", "transfers" : { } - } ] - } ] + } ], + "threshold" : "1962" + } ], + "summary" : { + "finalThreshold" : "1962", + "numCandidates" : 9, + "numWinners" : 1, + "totalNumBallots" : "5000", + "undervotes" : 290 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/dominion_multi_file/dominion_multi_file_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/dominion_multi_file/dominion_multi_file_expected_summary.csv index 90f8a9bb4..02fa87aca 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/dominion_multi_file/dominion_multi_file_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/dominion_multi_file/dominion_multi_file_expected_summary.csv @@ -1,16 +1,32 @@ -Contest,Multi-file Dominion test -Jurisdiction,San Francisco -Office,Board of Supervisors District 3 -Date,2020-11-03 -Winner(s),Aaron Peskin -Threshold,9 - -Rounds,Round 1 -Eliminated, -Elected,Aaron Peskin -Aaron Peskin,9 -Danny Sauter,4 -Stephen (Lulu) Schwartz,3 -Spencer Simonson,1 -Undeclared Write-ins,0 -Inactive ballots,8 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Multi-file Dominion test +Jurisdiction,San Francisco +Office,Board of Supervisors District 3 +Date,2020-11-03 +Winner(s),Aaron Peskin +Final Threshold,9 + +Contest Summary +Number to be Elected,1 +Number of Candidates,5 +Total Number of Ballots,25 +Number of Undervotes,8 + +Rounds,Round 1 Votes,% of vote,transfer +Eliminated,,, +Elected,Aaron Peskin,, +Aaron Peskin,9,52.94%,0 +Danny Sauter,4,23.52%,0 +Stephen (Lulu) Schwartz,3,17.64%,0 +Spencer Simonson,1,5.88%,0 +Undeclared Write-ins,0,0.0%,0 +Active Ballots,17,, +Current Round Threshold,9,, +Inactive Ballots by by Overvotes,0,0, +Inactive Ballots by by Skipped Rankings,0,0, +Inactive Ballots by by Exhausted Choices,0,0, +Inactive Ballots by by Repeated Rankings,0,0, +Inactive Ballots Total,0,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/dominion_multi_file/dominion_multi_file_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/dominion_multi_file/dominion_multi_file_expected_summary.json index 54d50e90e..e6b5531c9 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/dominion_multi_file/dominion_multi_file_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/dominion_multi_file/dominion_multi_file_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Multi-file Dominion test", "date" : "2020-11-03", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "San Francisco", - "office" : "Board of Supervisors District 3", - "threshold" : "9" + "office" : "Board of Supervisors District 3" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Aaron Peskin" : "9", @@ -18,6 +25,14 @@ "tallyResults" : [ { "elected" : "Aaron Peskin", "transfers" : { } - } ] - } ] + } ], + "threshold" : "9" + } ], + "summary" : { + "finalThreshold" : "9", + "numCandidates" : 5, + "numWinners" : 1, + "totalNumBallots" : "25", + "undervotes" : 8 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/dominion_no_precinct_data/dominion_no_precinct_data_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/dominion_no_precinct_data/dominion_no_precinct_data_expected_summary.csv index d9d68b493..0475cd089 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/dominion_no_precinct_data/dominion_no_precinct_data_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/dominion_no_precinct_data/dominion_no_precinct_data_expected_summary.csv @@ -1,20 +1,36 @@ -Contest,Wyoming Dominion test -Jurisdiction,Wyoming -Office,Democratic Primary -Date,2020-07-19 -Winner(s),Bernie Sanders -Threshold,398 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6,Round 7,Round 8 -Eliminated,Undeclared Write-ins,Tom Steyer,Joseph R. Biden,Elizabeth Warren,Tulsi Gabbard,Amy Klobuchar,Pete Buttigieg, -Elected,,,,,,,,Bernie Sanders -Bernie Sanders,117,131,148,169,199,248,311,404 -Amy Klobuchar,114,128,145,165,193,227,0,0 -Michael R. Bloomberg,109,124,136,154,182,232,304,391 -Pete Buttigieg,106,126,137,160,190,228,288,0 -Elizabeth Warren,98,110,123,142,0,0,0,0 -Tom Steyer,95,104,0,0,0,0,0,0 -Joseph R. Biden,94,108,120,0,0,0,0,0 -Tulsi Gabbard,89,108,130,149,175,0,0,0 -Undeclared Write-ins,117,0,0,0,0,0,0,0 -Inactive ballots,61,61,61,61,61,65,97,205 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Wyoming Dominion test +Jurisdiction,Wyoming +Office,Democratic Primary +Date,2020-07-19 +Winner(s),Bernie Sanders +Final Threshold,398 + +Contest Summary +Number to be Elected,1 +Number of Candidates,9 +Total Number of Ballots,1000 +Number of Undervotes,57 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer,Round 7 Votes,% of vote,transfer,Round 8 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,Tom Steyer,,,Joseph R. Biden,,,Elizabeth Warren,,,Tulsi Gabbard,,,Amy Klobuchar,,,Pete Buttigieg,,,,, +Elected,,,,,,,,,,,,,,,,,,,,,,Bernie Sanders,, +Bernie Sanders,117,12.46%,14,131,13.95%,17,148,15.76%,21,169,17.99%,30,199,21.19%,49,248,26.52%,63,311,34.44%,93,404,50.81%,0 +Amy Klobuchar,114,12.14%,14,128,13.63%,17,145,15.44%,20,165,17.57%,28,193,20.55%,34,227,24.27%,-227,0,0.0%,0,0,0.0%,0 +Michael R. Bloomberg,109,11.6%,15,124,13.2%,12,136,14.48%,18,154,16.4%,28,182,19.38%,50,232,24.81%,72,304,33.66%,87,391,49.18%,0 +Pete Buttigieg,106,11.28%,20,126,13.41%,11,137,14.58%,23,160,17.03%,30,190,20.23%,38,228,24.38%,60,288,31.89%,-288,0,0.0%,0 +Elizabeth Warren,98,10.43%,12,110,11.71%,13,123,13.09%,19,142,15.12%,-142,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Tom Steyer,95,10.11%,9,104,11.07%,-104,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Joseph R. Biden,94,10.01%,14,108,11.5%,12,120,12.77%,-120,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Tulsi Gabbard,89,9.47%,19,108,11.5%,22,130,13.84%,19,149,15.86%,26,175,18.63%,-175,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,117,12.46%,-117,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,939,,,939,,,939,,,939,,,939,,,935,,,903,,,795,, +Current Round Threshold,470,,,470,,,470,,,470,,,470,,,468,,,452,,,398,, +Inactive Ballots by by Overvotes,4,0,,4,0,,4,0,,4,0,,4,1,,5,1,,6,1,,7,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,4,0,,4,0,,4,0,,4,0,,4,4,,8,32,,40,108,,148,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/dominion_no_precinct_data/dominion_no_precinct_data_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/dominion_no_precinct_data/dominion_no_precinct_data_expected_summary.json index b94483249..67bf364a3 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/dominion_no_precinct_data/dominion_no_precinct_data_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/dominion_no_precinct_data/dominion_no_precinct_data_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Wyoming Dominion test", "date" : "2020-07-19", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Wyoming", - "office" : "Democratic Primary", - "threshold" : "398" + "office" : "Democratic Primary" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "4", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Amy Klobuchar" : "114", @@ -31,8 +38,15 @@ "Tom Steyer" : "9", "Tulsi Gabbard" : "19" } - } ] + } ], + "threshold" : "470" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "4", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Amy Klobuchar" : "128", @@ -55,8 +69,15 @@ "Pete Buttigieg" : "11", "Tulsi Gabbard" : "22" } - } ] + } ], + "threshold" : "470" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "4", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Amy Klobuchar" : "145", @@ -77,8 +98,15 @@ "Pete Buttigieg" : "23", "Tulsi Gabbard" : "19" } - } ] + } ], + "threshold" : "470" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "4", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "Amy Klobuchar" : "165", @@ -97,8 +125,15 @@ "Pete Buttigieg" : "30", "Tulsi Gabbard" : "26" } - } ] + } ], + "threshold" : "470" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "4", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "Amy Klobuchar" : "193", @@ -116,8 +151,15 @@ "Pete Buttigieg" : "38", "exhausted" : "4" } - } ] + } ], + "threshold" : "470" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "5", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 6, "tally" : { "Amy Klobuchar" : "227", @@ -133,8 +175,15 @@ "Pete Buttigieg" : "60", "exhausted" : "32" } - } ] + } ], + "threshold" : "468" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "6", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 7, "tally" : { "Bernie Sanders" : "311", @@ -148,8 +197,15 @@ "Michael R. Bloomberg" : "87", "exhausted" : "108" } - } ] + } ], + "threshold" : "452" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "7", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 8, "tally" : { "Bernie Sanders" : "404", @@ -158,6 +214,14 @@ "tallyResults" : [ { "elected" : "Bernie Sanders", "transfers" : { } - } ] - } ] + } ], + "threshold" : "398" + } ], + "summary" : { + "finalThreshold" : "398", + "numCandidates" : 9, + "numWinners" : 1, + "totalNumBallots" : "1000", + "undervotes" : 57 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/dominion_wyoming/dominion_wyoming_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/dominion_wyoming/dominion_wyoming_expected_summary.csv index d9d68b493..0475cd089 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/dominion_wyoming/dominion_wyoming_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/dominion_wyoming/dominion_wyoming_expected_summary.csv @@ -1,20 +1,36 @@ -Contest,Wyoming Dominion test -Jurisdiction,Wyoming -Office,Democratic Primary -Date,2020-07-19 -Winner(s),Bernie Sanders -Threshold,398 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6,Round 7,Round 8 -Eliminated,Undeclared Write-ins,Tom Steyer,Joseph R. Biden,Elizabeth Warren,Tulsi Gabbard,Amy Klobuchar,Pete Buttigieg, -Elected,,,,,,,,Bernie Sanders -Bernie Sanders,117,131,148,169,199,248,311,404 -Amy Klobuchar,114,128,145,165,193,227,0,0 -Michael R. Bloomberg,109,124,136,154,182,232,304,391 -Pete Buttigieg,106,126,137,160,190,228,288,0 -Elizabeth Warren,98,110,123,142,0,0,0,0 -Tom Steyer,95,104,0,0,0,0,0,0 -Joseph R. Biden,94,108,120,0,0,0,0,0 -Tulsi Gabbard,89,108,130,149,175,0,0,0 -Undeclared Write-ins,117,0,0,0,0,0,0,0 -Inactive ballots,61,61,61,61,61,65,97,205 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Wyoming Dominion test +Jurisdiction,Wyoming +Office,Democratic Primary +Date,2020-07-19 +Winner(s),Bernie Sanders +Final Threshold,398 + +Contest Summary +Number to be Elected,1 +Number of Candidates,9 +Total Number of Ballots,1000 +Number of Undervotes,57 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer,Round 7 Votes,% of vote,transfer,Round 8 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,Tom Steyer,,,Joseph R. Biden,,,Elizabeth Warren,,,Tulsi Gabbard,,,Amy Klobuchar,,,Pete Buttigieg,,,,, +Elected,,,,,,,,,,,,,,,,,,,,,,Bernie Sanders,, +Bernie Sanders,117,12.46%,14,131,13.95%,17,148,15.76%,21,169,17.99%,30,199,21.19%,49,248,26.52%,63,311,34.44%,93,404,50.81%,0 +Amy Klobuchar,114,12.14%,14,128,13.63%,17,145,15.44%,20,165,17.57%,28,193,20.55%,34,227,24.27%,-227,0,0.0%,0,0,0.0%,0 +Michael R. Bloomberg,109,11.6%,15,124,13.2%,12,136,14.48%,18,154,16.4%,28,182,19.38%,50,232,24.81%,72,304,33.66%,87,391,49.18%,0 +Pete Buttigieg,106,11.28%,20,126,13.41%,11,137,14.58%,23,160,17.03%,30,190,20.23%,38,228,24.38%,60,288,31.89%,-288,0,0.0%,0 +Elizabeth Warren,98,10.43%,12,110,11.71%,13,123,13.09%,19,142,15.12%,-142,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Tom Steyer,95,10.11%,9,104,11.07%,-104,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Joseph R. Biden,94,10.01%,14,108,11.5%,12,120,12.77%,-120,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Tulsi Gabbard,89,9.47%,19,108,11.5%,22,130,13.84%,19,149,15.86%,26,175,18.63%,-175,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,117,12.46%,-117,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,939,,,939,,,939,,,939,,,939,,,935,,,903,,,795,, +Current Round Threshold,470,,,470,,,470,,,470,,,470,,,468,,,452,,,398,, +Inactive Ballots by by Overvotes,4,0,,4,0,,4,0,,4,0,,4,1,,5,1,,6,1,,7,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,4,0,,4,0,,4,0,,4,0,,4,4,,8,32,,40,108,,148,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/dominion_wyoming/dominion_wyoming_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/dominion_wyoming/dominion_wyoming_expected_summary.json index b94483249..67bf364a3 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/dominion_wyoming/dominion_wyoming_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/dominion_wyoming/dominion_wyoming_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Wyoming Dominion test", "date" : "2020-07-19", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Wyoming", - "office" : "Democratic Primary", - "threshold" : "398" + "office" : "Democratic Primary" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "4", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Amy Klobuchar" : "114", @@ -31,8 +38,15 @@ "Tom Steyer" : "9", "Tulsi Gabbard" : "19" } - } ] + } ], + "threshold" : "470" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "4", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Amy Klobuchar" : "128", @@ -55,8 +69,15 @@ "Pete Buttigieg" : "11", "Tulsi Gabbard" : "22" } - } ] + } ], + "threshold" : "470" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "4", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Amy Klobuchar" : "145", @@ -77,8 +98,15 @@ "Pete Buttigieg" : "23", "Tulsi Gabbard" : "19" } - } ] + } ], + "threshold" : "470" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "4", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "Amy Klobuchar" : "165", @@ -97,8 +125,15 @@ "Pete Buttigieg" : "30", "Tulsi Gabbard" : "26" } - } ] + } ], + "threshold" : "470" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "4", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "Amy Klobuchar" : "193", @@ -116,8 +151,15 @@ "Pete Buttigieg" : "38", "exhausted" : "4" } - } ] + } ], + "threshold" : "470" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "5", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 6, "tally" : { "Amy Klobuchar" : "227", @@ -133,8 +175,15 @@ "Pete Buttigieg" : "60", "exhausted" : "32" } - } ] + } ], + "threshold" : "468" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "6", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 7, "tally" : { "Bernie Sanders" : "311", @@ -148,8 +197,15 @@ "Michael R. Bloomberg" : "87", "exhausted" : "108" } - } ] + } ], + "threshold" : "452" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "7", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 8, "tally" : { "Bernie Sanders" : "404", @@ -158,6 +214,14 @@ "tallyResults" : [ { "elected" : "Bernie Sanders", "transfers" : { } - } ] - } ] + } ], + "threshold" : "398" + } ], + "summary" : { + "finalThreshold" : "398", + "numCandidates" : 9, + "numWinners" : 1, + "totalNumBallots" : "1000", + "undervotes" : 57 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/duplicate_test/duplicate_test_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/duplicate_test/duplicate_test_expected_summary.csv index ab23718db..6c302e719 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/duplicate_test/duplicate_test_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/duplicate_test/duplicate_test_expected_summary.csv @@ -1,14 +1,30 @@ -Contest,Duplicate test -Jurisdiction,"Funkytown, USA" -Office,Director of Produce -Date,2018-05-21 -Winner(s),Kumquat -Threshold,5 - -Rounds,Round 1,Round 2 -Eliminated,Durian, -Elected,,Kumquat -Kumquat,4,5 -Banana,4,4 -Durian,3,0 -Inactive ballots,0,2 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Duplicate test +Jurisdiction,"Funkytown, USA" +Office,Director of Produce +Date,2018-05-21 +Winner(s),Kumquat +Final Threshold,5 + +Contest Summary +Number to be Elected,1 +Number of Candidates,3 +Total Number of Ballots,11 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer +Eliminated,Durian,,,,, +Elected,,,,Kumquat,, +Kumquat,4,36.36%,1,5,55.55%,0 +Banana,4,36.36%,0,4,44.44%,0 +Durian,3,27.27%,-3,0,0.0%,0 +Active Ballots,11,,,9,, +Current Round Threshold,6,,,5,, +Inactive Ballots by by Overvotes,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,2,,2,0, +Inactive Ballots Total,0,2,,2,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/duplicate_test/duplicate_test_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/duplicate_test/duplicate_test_expected_summary.json index cc5ba2805..0b71875e1 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/duplicate_test/duplicate_test_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/duplicate_test/duplicate_test_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Duplicate test", "date" : "2018-05-21", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Funkytown, USA", - "office" : "Director of Produce", - "threshold" : "5" + "office" : "Director of Produce" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Banana" : "4", @@ -19,8 +26,15 @@ "Kumquat" : "1", "exhausted" : "2" } - } ] + } ], + "threshold" : "6" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "2", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Banana" : "4", @@ -29,6 +43,14 @@ "tallyResults" : [ { "elected" : "Kumquat", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "5" + } ], + "summary" : { + "finalThreshold" : "5", + "numCandidates" : 3, + "numWinners" : 1, + "totalNumBallots" : "11", + "undervotes" : 0 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/excluded_test/excluded_test_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/excluded_test/excluded_test_expected_summary.csv index ad43ac3b3..c2fd679f5 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/excluded_test/excluded_test_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/excluded_test/excluded_test_expected_summary.csv @@ -1,12 +1,28 @@ -Contest,Tiebreak test -Jurisdiction,"Funkytown, USA" -Office,Sergeant-at-Arms -Date,2017-12-03 -Winner(s),George Gervin -Threshold,2 - -Rounds,Round 1 -Eliminated, -Elected,George Gervin -George Gervin,3 -Inactive ballots,7 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Tiebreak test +Jurisdiction,"Funkytown, USA" +Office,Sergeant-at-Arms +Date,2017-12-03 +Winner(s),George Gervin +Final Threshold,2 + +Contest Summary +Number to be Elected,1 +Number of Candidates,1 +Total Number of Ballots,10 +Number of Undervotes,7 + +Rounds,Round 1 Votes,% of vote,transfer +Eliminated,,, +Elected,George Gervin,, +George Gervin,3,100.0%,0 +Active Ballots,3,, +Current Round Threshold,2,, +Inactive Ballots by by Overvotes,0,0, +Inactive Ballots by by Skipped Rankings,0,0, +Inactive Ballots by by Exhausted Choices,0,0, +Inactive Ballots by by Repeated Rankings,0,0, +Inactive Ballots Total,0,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/excluded_test/excluded_test_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/excluded_test/excluded_test_expected_summary.json index 1d2e3b460..698ff52ee 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/excluded_test/excluded_test_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/excluded_test/excluded_test_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Tiebreak test", "date" : "2017-12-03", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Funkytown, USA", - "office" : "Sergeant-at-Arms", - "threshold" : "2" + "office" : "Sergeant-at-Arms" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "George Gervin" : "3" @@ -14,6 +21,14 @@ "tallyResults" : [ { "elected" : "George Gervin", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "2" + } ], + "summary" : { + "finalThreshold" : "2", + "numCandidates" : 4, + "numWinners" : 1, + "totalNumBallots" : "10", + "undervotes" : 7 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/exhaust_if_multiple_continuing/exhaust_if_multiple_continuing_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/exhaust_if_multiple_continuing/exhaust_if_multiple_continuing_expected_summary.csv index 49b8fc910..6bc431b1d 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/exhaust_if_multiple_continuing/exhaust_if_multiple_continuing_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/exhaust_if_multiple_continuing/exhaust_if_multiple_continuing_expected_summary.csv @@ -1,15 +1,31 @@ -Contest,Overvote Exhaust If Multiple Continuing Test -Jurisdiction, -Office, -Date,2022-08-15 -Winner(s),B -Threshold,3 - -Rounds,Round 1,Round 2,Round 3 -Eliminated,A,D, -Elected,,,B -B,3,3,3 -C,2,2,2 -D,1,1,0 -A,0,0,0 -Inactive ballots,3,3,4 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Overvote Exhaust If Multiple Continuing Test +Jurisdiction, +Office, +Date,2022-08-15 +Winner(s),B +Final Threshold,3 + +Contest Summary +Number to be Elected,1 +Number of Candidates,4 +Total Number of Ballots,9 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer +Eliminated,A,,,D,,,,, +Elected,,,,,,,B,, +B,3,50.0%,0,3,50.0%,0,3,60.0%,0 +C,2,33.33%,0,2,33.33%,0,2,40.0%,0 +D,1,16.66%,0,1,16.66%,-1,0,0.0%,0 +A,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,6,,,6,,,5,, +Current Round Threshold,4,,,4,,,3,, +Inactive Ballots by by Overvotes,3,0,,3,0,,3,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0, +Inactive Ballots Total,3,0,,3,1,,4,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/exhaust_if_multiple_continuing/exhaust_if_multiple_continuing_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/exhaust_if_multiple_continuing/exhaust_if_multiple_continuing_expected_summary.json index 65297af6a..4df06eb1b 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/exhaust_if_multiple_continuing/exhaust_if_multiple_continuing_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/exhaust_if_multiple_continuing/exhaust_if_multiple_continuing_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Overvote Exhaust If Multiple Continuing Test", "date" : "2022-08-15", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "3" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "3", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "A" : "0", @@ -17,8 +24,15 @@ "tallyResults" : [ { "eliminated" : "A", "transfers" : { } - } ] + } ], + "threshold" : "4" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "3", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "B" : "3", @@ -30,8 +44,15 @@ "transfers" : { "exhausted" : "1" } - } ] + } ], + "threshold" : "4" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "3", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "B" : "3", @@ -40,6 +61,14 @@ "tallyResults" : [ { "elected" : "B", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "3" + } ], + "summary" : { + "finalThreshold" : "3", + "numCandidates" : 4, + "numWinners" : 1, + "totalNumBallots" : "9", + "undervotes" : 0 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/first_round_determines_threshold_test/first_round_determines_threshold_test_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/first_round_determines_threshold_test/first_round_determines_threshold_test_expected_summary.csv index 076f88191..4aab1232d 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/first_round_determines_threshold_test/first_round_determines_threshold_test_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/first_round_determines_threshold_test/first_round_determines_threshold_test_expected_summary.csv @@ -1,14 +1,30 @@ -Contest,Portland 2015 Mayoral Race -Jurisdiction,"Portland, ME" -Office,Mayor -Date,2015-11-03 -Winner(s),"Vail, Christopher L." -Threshold,9 - -Rounds,Round 1,Round 2 -Eliminated,"Haadoow, Hamza A.", -Elected,,"Vail, Christopher L." -"Vail, Christopher L.",6,6 -"Haadoow, Hamza A.",5,0 -"Carmona, Ralph C.",5,5 -Inactive ballots,3,8 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Portland 2015 Mayoral Race +Jurisdiction,"Portland, ME" +Office,Mayor +Date,2015-11-03 +Winner(s),"Vail, Christopher L." +Final Threshold,9 + +Contest Summary +Number to be Elected,1 +Number of Candidates,3 +Total Number of Ballots,19 +Number of Undervotes,3 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer +Eliminated,"Haadoow, Hamza A.",,,,, +Elected,,,,"Vail, Christopher L.",, +"Vail, Christopher L.",6,37.5%,0,6,54.54%,0 +"Haadoow, Hamza A.",5,31.25%,-5,0,0.0%,0 +"Carmona, Ralph C.",5,31.25%,0,5,45.45%,0 +Active Ballots,16,,,11,, +Current Round Threshold,9,,,9,, +Inactive Ballots by by Overvotes,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0, +Inactive Ballots Total,0,5,,5,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/first_round_determines_threshold_test/first_round_determines_threshold_test_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/first_round_determines_threshold_test/first_round_determines_threshold_test_expected_summary.json index 04b64cd2f..a6140c722 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/first_round_determines_threshold_test/first_round_determines_threshold_test_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/first_round_determines_threshold_test/first_round_determines_threshold_test_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Portland 2015 Mayoral Race", "date" : "2015-11-03", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Portland, ME", - "office" : "Mayor", - "threshold" : "9" + "office" : "Mayor" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Carmona, Ralph C." : "5", @@ -18,8 +25,15 @@ "transfers" : { "exhausted" : "5" } - } ] + } ], + "threshold" : "9" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Carmona, Ralph C." : "5", @@ -28,6 +42,14 @@ "tallyResults" : [ { "elected" : "Vail, Christopher L.", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "9" + } ], + "summary" : { + "finalThreshold" : "9", + "numCandidates" : 4, + "numWinners" : 1, + "totalNumBallots" : "19", + "undervotes" : 3 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/first_round_determines_threshold_tiebreaker_test/first_round_determines_threshold_tiebreaker_test_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/first_round_determines_threshold_tiebreaker_test/first_round_determines_threshold_tiebreaker_test_expected_summary.csv index ea9045534..a7eaec35a 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/first_round_determines_threshold_tiebreaker_test/first_round_determines_threshold_tiebreaker_test_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/first_round_determines_threshold_tiebreaker_test/first_round_determines_threshold_tiebreaker_test_expected_summary.csv @@ -1,14 +1,30 @@ -Contest,Portland 2015 Mayoral Race -Jurisdiction,"Portland, ME" -Office,Mayor -Date,2015-11-03 -Winner(s),"Vail, Christopher L." -Threshold,9 - -Rounds,Round 1,Round 2 -Eliminated,"Haadoow, Hamza A.", -Elected,,"Vail, Christopher L." -"Carmona, Ralph C.",6,6 -"Vail, Christopher L.",6,6 -"Haadoow, Hamza A.",5,0 -Inactive ballots,2,7 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Portland 2015 Mayoral Race +Jurisdiction,"Portland, ME" +Office,Mayor +Date,2015-11-03 +Winner(s),"Vail, Christopher L." +Final Threshold,9 + +Contest Summary +Number to be Elected,1 +Number of Candidates,3 +Total Number of Ballots,19 +Number of Undervotes,2 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer +Eliminated,"Haadoow, Hamza A.",,,,, +Elected,,,,"Vail, Christopher L.",, +"Carmona, Ralph C.",6,35.29%,0,6,50.0%,0 +"Vail, Christopher L.",6,35.29%,0,6,50.0%,0 +"Haadoow, Hamza A.",5,29.41%,-5,0,0.0%,0 +Active Ballots,17,,,12,, +Current Round Threshold,9,,,9,, +Inactive Ballots by by Overvotes,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0, +Inactive Ballots Total,0,5,,5,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/first_round_determines_threshold_tiebreaker_test/first_round_determines_threshold_tiebreaker_test_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/first_round_determines_threshold_tiebreaker_test/first_round_determines_threshold_tiebreaker_test_expected_summary.json index 42ca9a7ce..2f1801ca1 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/first_round_determines_threshold_tiebreaker_test/first_round_determines_threshold_tiebreaker_test_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/first_round_determines_threshold_tiebreaker_test/first_round_determines_threshold_tiebreaker_test_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Portland 2015 Mayoral Race", "date" : "2015-11-03", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Portland, ME", - "office" : "Mayor", - "threshold" : "9" + "office" : "Mayor" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Carmona, Ralph C." : "6", @@ -18,8 +25,15 @@ "transfers" : { "exhausted" : "5" } - } ] + } ], + "threshold" : "9" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Carmona, Ralph C." : "6", @@ -28,6 +42,14 @@ "tallyResults" : [ { "elected" : "Vail, Christopher L.", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "9" + } ], + "summary" : { + "finalThreshold" : "9", + "numCandidates" : 4, + "numWinners" : 1, + "totalNumBallots" : "19", + "undervotes" : 2 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/generic_csv_test/generic_csv_test_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/generic_csv_test/generic_csv_test_expected_summary.csv index f57d312a4..a3599f235 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/generic_csv_test/generic_csv_test_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/generic_csv_test/generic_csv_test_expected_summary.csv @@ -1,16 +1,32 @@ -Contest,Generic CSV Test -Jurisdiction,"Portland, ME" -Office,Mayor -Date,2023-04-03 -Winner(s),Cucumber -Threshold,14 - -Rounds,Round 1,Round 2,Round 3,Round 4 -Eliminated,Undeclared Write-ins,Broccoli,Cauliflower, -Elected,,,,Cucumber -Cucumber,8,10,10,14 -Lettuce,5,7,10,12 -Cauliflower,4,5,6,0 -Broccoli,3,4,0,0 -Undeclared Write-ins,6,0,0,0 -Inactive ballots,0,0,0,0 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Generic CSV Test +Jurisdiction,"Portland, ME" +Office,Mayor +Date,2023-04-03 +Winner(s),Cucumber +Final Threshold,14 + +Contest Summary +Number to be Elected,1 +Number of Candidates,5 +Total Number of Ballots,26 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,Broccoli,,,Cauliflower,,,,, +Elected,,,,,,,,,,Cucumber,, +Cucumber,8,30.76%,2,10,38.46%,0,10,38.46%,4,14,53.84%,0 +Lettuce,5,19.23%,2,7,26.92%,3,10,38.46%,2,12,46.15%,0 +Cauliflower,4,15.38%,1,5,19.23%,1,6,23.07%,-6,0,0.0%,0 +Broccoli,3,11.53%,1,4,15.38%,-4,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,6,23.07%,-6,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,26,,,26,,,26,,,26,, +Current Round Threshold,14,,,14,,,14,,,14,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,0,,0,0,,0,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/generic_csv_test/generic_csv_test_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/generic_csv_test/generic_csv_test_expected_summary.json index 9797c20de..0e8e5e0a7 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/generic_csv_test/generic_csv_test_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/generic_csv_test/generic_csv_test_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Generic CSV Test", "date" : "2023-04-03", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Portland, ME", - "office" : "Mayor", - "threshold" : "14" + "office" : "Mayor" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Broccoli" : "3", @@ -23,8 +30,15 @@ "Cucumber" : "2", "Lettuce" : "2" } - } ] + } ], + "threshold" : "14" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Broccoli" : "4", @@ -38,8 +52,15 @@ "Cauliflower" : "1", "Lettuce" : "3" } - } ] + } ], + "threshold" : "14" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Cauliflower" : "6", @@ -52,8 +73,15 @@ "Cucumber" : "4", "Lettuce" : "2" } - } ] + } ], + "threshold" : "14" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "Cucumber" : "14", @@ -62,6 +90,14 @@ "tallyResults" : [ { "elected" : "Cucumber", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "14" + } ], + "summary" : { + "finalThreshold" : "14", + "numCandidates" : 5, + "numWinners" : 1, + "totalNumBallots" : "26", + "undervotes" : 0 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/hart_cedar_park_school_board/hart_cedar_park_school_board_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/hart_cedar_park_school_board/hart_cedar_park_school_board_expected_summary.csv index efad90598..ffdd0ced8 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/hart_cedar_park_school_board/hart_cedar_park_school_board_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/hart_cedar_park_school_board/hart_cedar_park_school_board_expected_summary.csv @@ -1,19 +1,35 @@ -Contest,CEDAR PARK SCHOOL BOARD -Jurisdiction, -Office, -Date, -Winner(s),Steve Carlson -Threshold,4 - -Rounds,Round 1 -Eliminated, -Elected,Steve Carlson -Steve Carlson,5 -Bev Scalze,1 -Barb Yarusso,1 -Tony Hernandez,0 -Russ Bertsch,0 -April King,0 -Betty McCollum,0 -Undeclared Write-ins,0 -Inactive ballots,2 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,CEDAR PARK SCHOOL BOARD +Jurisdiction, +Office, +Date, +Winner(s),Steve Carlson +Final Threshold,4 + +Contest Summary +Number to be Elected,1 +Number of Candidates,8 +Total Number of Ballots,9 +Number of Undervotes,2 + +Rounds,Round 1 Votes,% of vote,transfer +Eliminated,,, +Elected,Steve Carlson,, +Steve Carlson,5,71.42%,0 +Bev Scalze,1,14.28%,0 +Barb Yarusso,1,14.28%,0 +Tony Hernandez,0,0.0%,0 +Russ Bertsch,0,0.0%,0 +April King,0,0.0%,0 +Betty McCollum,0,0.0%,0 +Undeclared Write-ins,0,0.0%,0 +Active Ballots,7,, +Current Round Threshold,4,, +Inactive Ballots by by Overvotes,0,0, +Inactive Ballots by by Skipped Rankings,0,0, +Inactive Ballots by by Exhausted Choices,0,0, +Inactive Ballots by by Repeated Rankings,0,0, +Inactive Ballots Total,0,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/hart_cedar_park_school_board/hart_cedar_park_school_board_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/hart_cedar_park_school_board/hart_cedar_park_school_board_expected_summary.json index ee5d107de..62789a147 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/hart_cedar_park_school_board/hart_cedar_park_school_board_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/hart_cedar_park_school_board/hart_cedar_park_school_board_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "CEDAR PARK SCHOOL BOARD", "date" : "", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "4" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "April King" : "0", @@ -21,6 +28,14 @@ "tallyResults" : [ { "elected" : "Steve Carlson", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "4" + } ], + "summary" : { + "finalThreshold" : "4", + "numCandidates" : 8, + "numWinners" : 1, + "totalNumBallots" : "9", + "undervotes" : 2 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/hart_travis_county_officers/hart_travis_county_officers_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/hart_travis_county_officers/hart_travis_county_officers_expected_summary.csv index 1119681cb..19f3b4b27 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/hart_travis_county_officers/hart_travis_county_officers_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/hart_travis_county_officers/hart_travis_county_officers_expected_summary.csv @@ -1,16 +1,32 @@ -Contest,TRAVIS COUNTY OFFICERS -Jurisdiction, -Office, -Date, -Winner(s),Michael Gottner -Threshold,1 - -Rounds,Round 1 -Eliminated, -Elected,Michael Gottner -Michael Gottner,1 -William Poole,0 -Sheriff Hamilton,0 -Jim Sylvester,0 -Bruce Elfant,0 -Inactive ballots,8 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,TRAVIS COUNTY OFFICERS +Jurisdiction, +Office, +Date, +Winner(s),Michael Gottner +Final Threshold,1 + +Contest Summary +Number to be Elected,1 +Number of Candidates,5 +Total Number of Ballots,9 +Number of Undervotes,2 + +Rounds,Round 1 Votes,% of vote,transfer +Eliminated,,, +Elected,Michael Gottner,, +Michael Gottner,1,100.0%,0 +William Poole,0,0.0%,0 +Sheriff Hamilton,0,0.0%,0 +Jim Sylvester,0,0.0%,0 +Bruce Elfant,0,0.0%,0 +Active Ballots,1,, +Current Round Threshold,1,, +Inactive Ballots by by Overvotes,6,0, +Inactive Ballots by by Skipped Rankings,0,0, +Inactive Ballots by by Exhausted Choices,0,0, +Inactive Ballots by by Repeated Rankings,0,0, +Inactive Ballots Total,6,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/hart_travis_county_officers/hart_travis_county_officers_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/hart_travis_county_officers/hart_travis_county_officers_expected_summary.json index f7b767997..07d71a014 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/hart_travis_county_officers/hart_travis_county_officers_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/hart_travis_county_officers/hart_travis_county_officers_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "TRAVIS COUNTY OFFICERS", "date" : "", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "1" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "6", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Bruce Elfant" : "0", @@ -18,6 +25,14 @@ "tallyResults" : [ { "elected" : "Michael Gottner", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "1" + } ], + "summary" : { + "finalThreshold" : "1", + "numCandidates" : 5, + "numWinners" : 1, + "totalNumBallots" : "9", + "undervotes" : 2 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/minimum_threshold_test/minimum_threshold_test_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/minimum_threshold_test/minimum_threshold_test_expected_summary.csv index e6c9677c0..ef1ca4cb0 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/minimum_threshold_test/minimum_threshold_test_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/minimum_threshold_test/minimum_threshold_test_expected_summary.csv @@ -1,16 +1,32 @@ -Contest,Minimum threshold test -Jurisdiction,"Funkytown, USA" -Office,Sergeant-at-Arms -Date,2018-01-07 -Winner(s),Gargamel -Threshold,6 - -Rounds,Round 1,Round 2 -Eliminated,Odie; Garfield; Skeletor, -Elected,,Gargamel -Gargamel,4,6 -Megatron,3,4 -Skeletor,2,0 -Garfield,1,0 -Odie,0,0 -Inactive ballots,0,0 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Minimum threshold test +Jurisdiction,"Funkytown, USA" +Office,Sergeant-at-Arms +Date,2018-01-07 +Winner(s),Gargamel +Final Threshold,6 + +Contest Summary +Number to be Elected,1 +Number of Candidates,5 +Total Number of Ballots,10 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer +Eliminated,Odie; Garfield; Skeletor,,,,, +Elected,,,,Gargamel,, +Gargamel,4,40.0%,2,6,60.0%,0 +Megatron,3,30.0%,1,4,40.0%,0 +Skeletor,2,20.0%,-2,0,0.0%,0 +Garfield,1,10.0%,-1,0,0.0%,0 +Odie,0,0.0%,0,0,0.0%,0 +Active Ballots,10,,,10,, +Current Round Threshold,6,,,6,, +Inactive Ballots by by Overvotes,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0, +Inactive Ballots Total,0,0,,0,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/minimum_threshold_test/minimum_threshold_test_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/minimum_threshold_test/minimum_threshold_test_expected_summary.json index 6ef8472fc..6cc49c727 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/minimum_threshold_test/minimum_threshold_test_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/minimum_threshold_test/minimum_threshold_test_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Minimum threshold test", "date" : "2018-01-07", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Funkytown, USA", - "office" : "Sergeant-at-Arms", - "threshold" : "6" + "office" : "Sergeant-at-Arms" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Garfield" : "1", @@ -29,8 +36,15 @@ "Gargamel" : "1", "Megatron" : "1" } - } ] + } ], + "threshold" : "6" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Gargamel" : "6", @@ -39,6 +53,14 @@ "tallyResults" : [ { "elected" : "Gargamel", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "6" + } ], + "summary" : { + "finalThreshold" : "6", + "numCandidates" : 5, + "numWinners" : 1, + "totalNumBallots" : "10", + "undervotes" : 0 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/minneapolis_multi_seat_threshold/minneapolis_multi_seat_threshold_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/minneapolis_multi_seat_threshold/minneapolis_multi_seat_threshold_expected_summary.csv index a055c1470..f090c25a8 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/minneapolis_multi_seat_threshold/minneapolis_multi_seat_threshold_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/minneapolis_multi_seat_threshold/minneapolis_multi_seat_threshold_expected_summary.csv @@ -1,17 +1,33 @@ -Contest,Multi_winner2 -Jurisdiction,Multi-winner -Office,Multi_winner2 -Date,2018-09-30 -Winner(s),"C, A, B" -Threshold,8 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6 -Eliminated,D,,F,E,, -Elected,,C,,,A; B, -C,7,8,8.0000,8.0000,8.0000,8.0000 -A,6,6,6,7,10.0000,8.0000 -E,6,6,6.0000,6.0000,0,0 -B,5,5,5,7.0000,10.0000,8.0000 -F,3,3,3.0000,0,0,0 -D,2,0,0,0,0,0 -Inactive ballots,1,2,2.0000,2.0000,2.0000,6.0000 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Multi-Winner +Contest,Multi_winner2 +Jurisdiction,Multi-winner +Office,Multi_winner2 +Date,2018-09-30 +Winner(s),"C, A, B" +Final Threshold,8 + +Contest Summary +Number to be Elected,3 +Number of Candidates,6 +Total Number of Ballots,30 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer +Eliminated,D,,,,,,F,,,E,,,,,,,, +Elected,,,,C,,,,,,,,,A; B,,,,, +C,7,24.13%,1,8,28.57%,0.0000,8.0000,40.0%,0.0000,8.0000,40.0%,0.0000,8.0000,40.0%,0.0000,8.0000,,0 +A,6,20.68%,0,6,21.42%,0,6,30.0%,1,7,35.0%,3.0000,10.0000,50.0%,-2.0000,8.0000,,0 +E,6,20.68%,0,6,21.42%,0.0000,6.0000,30.0%,0.0000,6.0000,30.0%,-6.0000,0,0.0%,0,0,,0 +B,5,17.24%,0,5,17.85%,0,5,25.0%,2.0000,7.0000,35.0%,3.0000,10.0000,50.0%,-2.0000,8.0000,,0 +F,3,10.34%,0,3,10.71%,0.0000,3.0000,15.0%,-3.0000,0,0.0%,0,0,0.0%,0,0,,0 +D,2,6.89%,-2,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,,0 +Active Ballots,29,,,28,,,20.0000,,,20.0000,,,20.0000,,,0,, +Current Round Threshold,8,,,8,,,8,,,8,,,8,,,8,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,1,1,,2,0,,2,0,,2,0.0000,,2.0000,0.6000,,2.6000,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,0,,0,2.6000,,2.6000,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,1,1,,2,0,,2,0,,2,0.0000,,2.0000,4.0000,,6.0000,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/minneapolis_multi_seat_threshold/minneapolis_multi_seat_threshold_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/minneapolis_multi_seat_threshold/minneapolis_multi_seat_threshold_expected_summary.json index 82e8445f7..25ca66a00 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/minneapolis_multi_seat_threshold/minneapolis_multi_seat_threshold_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/minneapolis_multi_seat_threshold/minneapolis_multi_seat_threshold_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Multi_winner2", "date" : "2018-09-30", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Multi-winner", - "office" : "Multi_winner2", - "threshold" : "8" + "office" : "Multi_winner2" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "1" + }, "round" : 1, "tally" : { "A" : "6", @@ -22,8 +29,15 @@ "C" : "1", "exhausted" : "1" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "2" + }, "round" : 2, "tally" : { "A" : "6", @@ -35,8 +49,15 @@ "tallyResults" : [ { "elected" : "C", "transfers" : { } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "2" + }, "round" : 3, "tally" : { "A" : "6", @@ -51,8 +72,15 @@ "A" : "1", "B" : "2" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "2" + }, "round" : 4, "tally" : { "A" : "7", @@ -66,8 +94,15 @@ "A" : "3", "B" : "3" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "2.0000" + }, "round" : 5, "tally" : { "A" : "10.0000", @@ -84,14 +119,29 @@ "transfers" : { "exhausted" : "2.0000" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "2.6000", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "2.6000" + }, "round" : 6, "tally" : { "A" : "8.0000", "B" : "8.0000", "C" : "8.0000" }, - "tallyResults" : [ ] - } ] -} + "tallyResults" : [ ], + "threshold" : "8" + } ], + "summary" : { + "finalThreshold" : "8", + "numCandidates" : 6, + "numWinners" : 3, + "totalNumBallots" : "30", + "undervotes" : 0 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/missing_precinct_example/missing_precinct_example_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/missing_precinct_example/missing_precinct_example_expected_summary.csv index 958101b36..fbcd3e04a 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/missing_precinct_example/missing_precinct_example_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/missing_precinct_example/missing_precinct_example_expected_summary.csv @@ -1,30 +1,46 @@ -Contest,Missing Precinct example -Jurisdiction,"Minneapolis, MN" -Office,Mayor -Date,2017-11-07 -Winner(s),Jacob Frey -Threshold,2 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5 -Eliminated,Aswar Rahman; David Rosenfeld; Raymond Dehn; L.A. Nik; Undeclared Write-ins; Christopher Zimmerman; Ronald Lischeid; Ian Simpson; Charlie Gers; Captain Jack Sparrow; Theron Preston Washington; David John Wilson; Gregg A. Iverson; Troy Benjegerdes; Al Flowers,Nekima Levy-Pounds,Tom Hoch,Betsy Hodges, -Elected,,,,,Jacob Frey -Tom Hoch,1,1,1,0,0 -Betsy Hodges,1,1,2,2,0 -Jacob Frey,1,1,1,2,2 -Nekima Levy-Pounds,1,1,0,0,0 -Aswar Rahman,0,0,0,0,0 -David Rosenfeld,0,0,0,0,0 -Raymond Dehn,0,0,0,0,0 -L.A. Nik,0,0,0,0,0 -Christopher Zimmerman,0,0,0,0,0 -Ronald Lischeid,0,0,0,0,0 -Ian Simpson,0,0,0,0,0 -Charlie Gers,0,0,0,0,0 -Captain Jack Sparrow,0,0,0,0,0 -Theron Preston Washington,0,0,0,0,0 -David John Wilson,0,0,0,0,0 -Gregg A. Iverson,0,0,0,0,0 -Troy Benjegerdes,0,0,0,0,0 -Al Flowers,0,0,0,0,0 -Undeclared Write-ins,0,0,0,0,0 -Inactive ballots,0,0,0,0,2 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Missing Precinct example +Jurisdiction,"Minneapolis, MN" +Office,Mayor +Date,2017-11-07 +Winner(s),Jacob Frey +Final Threshold,2 + +Contest Summary +Number to be Elected,1 +Number of Candidates,19 +Total Number of Ballots,4 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer +Eliminated,Aswar Rahman; David Rosenfeld; Raymond Dehn; L.A. Nik; Undeclared Write-ins; Christopher Zimmerman; Ronald Lischeid; Ian Simpson; Charlie Gers; Captain Jack Sparrow; Theron Preston Washington; David John Wilson; Gregg A. Iverson; Troy Benjegerdes; Al Flowers,,,Nekima Levy-Pounds,,,Tom Hoch,,,Betsy Hodges,,,,, +Elected,,,,,,,,,,,,,Jacob Frey,, +Tom Hoch,1,25.0%,0,1,25.0%,0,1,25.0%,-1,0,0.0%,0,0,0.0%,0 +Betsy Hodges,1,25.0%,0,1,25.0%,1,2,50.0%,0,2,50.0%,-2,0,0.0%,0 +Jacob Frey,1,25.0%,0,1,25.0%,0,1,25.0%,1,2,50.0%,0,2,100.0%,0 +Nekima Levy-Pounds,1,25.0%,0,1,25.0%,-1,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Aswar Rahman,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +David Rosenfeld,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Raymond Dehn,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +L.A. Nik,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Christopher Zimmerman,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Ronald Lischeid,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Ian Simpson,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Charlie Gers,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Captain Jack Sparrow,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Theron Preston Washington,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +David John Wilson,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Gregg A. Iverson,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Troy Benjegerdes,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Al Flowers,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,4,,,4,,,4,,,4,,,2,, +Current Round Threshold,3,,,3,,,3,,,3,,,2,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,2,,2,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,0,,0,0,,0,2,,2,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/missing_precinct_example/missing_precinct_example_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/missing_precinct_example/missing_precinct_example_expected_summary.json index 93c805d2d..ae3b5dd61 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/missing_precinct_example/missing_precinct_example_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/missing_precinct_example/missing_precinct_example_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Missing Precinct example", "date" : "2017-11-07", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Minneapolis, MN", - "office" : "Mayor", - "threshold" : "2" + "office" : "Mayor" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Al Flowers" : "0", @@ -74,8 +81,15 @@ }, { "eliminated" : "Al Flowers", "transfers" : { } - } ] + } ], + "threshold" : "3" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Betsy Hodges" : "1", @@ -88,8 +102,15 @@ "transfers" : { "Betsy Hodges" : "1" } - } ] + } ], + "threshold" : "3" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Betsy Hodges" : "2", @@ -101,8 +122,15 @@ "transfers" : { "Jacob Frey" : "1" } - } ] + } ], + "threshold" : "3" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "Betsy Hodges" : "2", @@ -113,8 +141,15 @@ "transfers" : { "exhausted" : "2" } - } ] + } ], + "threshold" : "3" }, { + "inactiveBallots" : { + "exhaustedChoices" : "2", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "Jacob Frey" : "2" @@ -122,6 +157,14 @@ "tallyResults" : [ { "elected" : "Jacob Frey", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "2" + } ], + "summary" : { + "finalThreshold" : "2", + "numCandidates" : 19, + "numWinners" : 1, + "totalNumBallots" : "4", + "undervotes" : 0 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/multi_seat_bottoms_up_with_threshold/multi_seat_bottoms_up_with_threshold_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/multi_seat_bottoms_up_with_threshold/multi_seat_bottoms_up_with_threshold_expected_summary.csv index 7ff0df88b..4cc0a7bd5 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/multi_seat_bottoms_up_with_threshold/multi_seat_bottoms_up_with_threshold_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/multi_seat_bottoms_up_with_threshold/multi_seat_bottoms_up_with_threshold_expected_summary.csv @@ -1,19 +1,35 @@ -Contest,Multi-Seat Bottoms-up With Threshold -Jurisdiction, -Office, -Date, -Winner(s),"A, B, C, G" -Threshold,3.1500 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5 -Eliminated,F,E,H,D, -Elected,,,,,A; B; C; G -A,5,5,5,5,5 -B,5,5,5,5,5 -C,4,4,4,4,4 -D,3,3,3,3,0 -G,3,3,3,4,7 -H,1,1,1,0,0 -E,0,0,0,0,0 -F,0,0,0,0,0 -Inactive ballots,0,0,0,0,0 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Multi-Winner +Contest,Multi-Seat Bottoms-up With Threshold +Jurisdiction, +Office, +Date, +Winner(s),"A, B, C, G" +Final Threshold,3.1500 + +Contest Summary +Number to be Elected,0 +Number of Candidates,8 +Total Number of Ballots,21 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer +Eliminated,F,,,E,,,H,,,D,,,,, +Elected,,,,,,,,,,,,,A; B; C; G,, +A,5,23.8%,0,5,23.8%,0,5,23.8%,0,5,23.8%,0,5,23.8%,0 +B,5,23.8%,0,5,23.8%,0,5,23.8%,0,5,23.8%,0,5,23.8%,0 +C,4,19.04%,0,4,19.04%,0,4,19.04%,0,4,19.04%,0,4,19.04%,0 +D,3,14.28%,0,3,14.28%,0,3,14.28%,0,3,14.28%,-3,0,0.0%,0 +G,3,14.28%,0,3,14.28%,0,3,14.28%,1,4,19.04%,3,7,33.33%,0 +H,1,4.76%,0,1,4.76%,0,1,4.76%,-1,0,0.0%,0,0,0.0%,0 +E,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +F,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,21,,,21,,,21,,,21,,,21,, +Current Round Threshold,3.1500,,,3.1500,,,3.1500,,,3.1500,,,3.1500,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,0,,0,0,,0,0,,0,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/multi_seat_bottoms_up_with_threshold/multi_seat_bottoms_up_with_threshold_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/multi_seat_bottoms_up_with_threshold/multi_seat_bottoms_up_with_threshold_expected_summary.json index 7cbec09ba..69b638906 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/multi_seat_bottoms_up_with_threshold/multi_seat_bottoms_up_with_threshold_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/multi_seat_bottoms_up_with_threshold/multi_seat_bottoms_up_with_threshold_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Multi-Seat Bottoms-up With Threshold", "date" : "", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "3.1500" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "A" : "5", @@ -21,8 +28,15 @@ "tallyResults" : [ { "eliminated" : "F", "transfers" : { } - } ] + } ], + "threshold" : "3.1500" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "A" : "5", @@ -36,8 +50,15 @@ "tallyResults" : [ { "eliminated" : "E", "transfers" : { } - } ] + } ], + "threshold" : "3.1500" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "A" : "5", @@ -52,8 +73,15 @@ "transfers" : { "G" : "1" } - } ] + } ], + "threshold" : "3.1500" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "A" : "5", @@ -67,8 +95,15 @@ "transfers" : { "G" : "3" } - } ] + } ], + "threshold" : "3.1500" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "A" : "5", @@ -88,6 +123,14 @@ }, { "elected" : "G", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "3.1500" + } ], + "summary" : { + "finalThreshold" : "3.1500", + "numCandidates" : 8, + "numWinners" : 0, + "totalNumBallots" : "21", + "undervotes" : 0 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/multi_seat_uwi_test/multi_seat_uwi_test_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/multi_seat_uwi_test/multi_seat_uwi_test_expected_summary.csv index 53f6b644c..d99608402 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/multi_seat_uwi_test/multi_seat_uwi_test_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/multi_seat_uwi_test/multi_seat_uwi_test_expected_summary.csv @@ -1,15 +1,31 @@ -Contest,Multi-Seat UWI Test -Jurisdiction, -Office, -Date, -Winner(s),"A, B" -Threshold,6 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5 -Eliminated,,Undeclared Write-ins,C,, -Elected,A,,,B, -A,6,6.0000,6.0000,6.0000,6.0000 -B,3,3,3,3,3.0000 -C,2,2,2,0,0 -Undeclared Write-ins,4,4,0,0,0 -Inactive ballots,0,0.0000,4.0000,6.0000,6.0000 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Multi-Winner +Contest,Multi-Seat UWI Test +Jurisdiction, +Office, +Date, +Winner(s),"A, B" +Final Threshold,6 + +Contest Summary +Number to be Elected,2 +Number of Candidates,4 +Total Number of Ballots,15 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer +Eliminated,,,,Undeclared Write-ins,,,C,,,,,,,, +Elected,A,,,,,,,,,B,,,,, +A,6,40.0%,0.0000,6.0000,66.66%,0.0000,6.0000,120.0%,0.0000,6.0000,200.0%,0.0000,6.0000,,0 +B,3,20.0%,0,3,33.33%,0,3,60.0%,0,3,100.0%,0.0000,3.0000,,0 +C,2,13.33%,0,2,22.22%,0,2,40.0%,-2,0,0.0%,0,0,,0 +Undeclared Write-ins,4,26.66%,0,4,44.44%,-4,0,0.0%,0,0,0.0%,0,0,,0 +Active Ballots,15,,,9,,,5,,,3,,,0,, +Current Round Threshold,6,,,6,,,6,,,6,,,6,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0.0000,,0.0000,4.0000,,4.0000,2.0000,,6.0000,0.0000,,6.0000,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/multi_seat_uwi_test/multi_seat_uwi_test_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/multi_seat_uwi_test/multi_seat_uwi_test_expected_summary.json index 671df38f0..7b5d6d76f 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/multi_seat_uwi_test/multi_seat_uwi_test_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/multi_seat_uwi_test/multi_seat_uwi_test_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Multi-Seat UWI Test", "date" : "", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "6" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "A" : "6", @@ -17,8 +24,15 @@ "tallyResults" : [ { "elected" : "A", "transfers" : { } - } ] + } ], + "threshold" : "6" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "A" : "6.0000", @@ -31,8 +45,15 @@ "transfers" : { "exhausted" : "4" } - } ] + } ], + "threshold" : "6" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "A" : "6.0000", @@ -44,8 +65,15 @@ "transfers" : { "exhausted" : "2" } - } ] + } ], + "threshold" : "6" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "A" : "6.0000", @@ -54,13 +82,28 @@ "tallyResults" : [ { "elected" : "B", "transfers" : { } - } ] + } ], + "threshold" : "6" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "A" : "6.0000", "B" : "3.0000" }, - "tallyResults" : [ ] - } ] -} + "tallyResults" : [ ], + "threshold" : "6" + } ], + "summary" : { + "finalThreshold" : "6", + "numCandidates" : 4, + "numWinners" : 2, + "totalNumBallots" : "15", + "undervotes" : 0 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/nist_xml_cdf_2/nist_xml_cdf_2_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/nist_xml_cdf_2/nist_xml_cdf_2_expected_summary.csv index 045e24145..e07d1e939 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/nist_xml_cdf_2/nist_xml_cdf_2_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/nist_xml_cdf_2/nist_xml_cdf_2_expected_summary.csv @@ -1,14 +1,30 @@ -Contest,For Governor and Lieutenant Governor -Jurisdiction, -Office, -Date,2019-03-06 -Winner(s),Edward FitzGerald and Sharen Swartz Neuhardt -Threshold,1 - -Rounds,Round 1,Round 2,Round 3 -Eliminated,John Kasich and Mary Taylor,Anita Rios and Bob Fitrakis, -Elected,,,Edward FitzGerald and Sharen Swartz Neuhardt -Edward FitzGerald and Sharen Swartz Neuhardt,0,0,0 -John Kasich and Mary Taylor,0,0,0 -Anita Rios and Bob Fitrakis,0,0,0 -Inactive ballots,1,1,1 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,For Governor and Lieutenant Governor +Jurisdiction, +Office, +Date,2019-03-06 +Winner(s),Edward FitzGerald and Sharen Swartz Neuhardt +Final Threshold,1 + +Contest Summary +Number to be Elected,1 +Number of Candidates,3 +Total Number of Ballots,1 +Number of Undervotes,1 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer +Eliminated,John Kasich and Mary Taylor,,,Anita Rios and Bob Fitrakis,,,,, +Elected,,,,,,,Edward FitzGerald and Sharen Swartz Neuhardt,, +Edward FitzGerald and Sharen Swartz Neuhardt,0,,0,0,,0,0,,0 +John Kasich and Mary Taylor,0,,0,0,,0,0,,0 +Anita Rios and Bob Fitrakis,0,,0,0,,0,0,,0 +Active Ballots,0,,,0,,,0,, +Current Round Threshold,1,,,1,,,1,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,0,,0,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/nist_xml_cdf_2/nist_xml_cdf_2_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/nist_xml_cdf_2/nist_xml_cdf_2_expected_summary.json index 0af3c8961..e7594ab06 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/nist_xml_cdf_2/nist_xml_cdf_2_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/nist_xml_cdf_2/nist_xml_cdf_2_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "For Governor and Lieutenant Governor", "date" : "2019-03-06", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "1" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Anita Rios and Bob Fitrakis" : "0", @@ -16,8 +23,15 @@ "tallyResults" : [ { "eliminated" : "John Kasich and Mary Taylor", "transfers" : { } - } ] + } ], + "threshold" : "1" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Anita Rios and Bob Fitrakis" : "0", @@ -26,8 +40,15 @@ "tallyResults" : [ { "eliminated" : "Anita Rios and Bob Fitrakis", "transfers" : { } - } ] + } ], + "threshold" : "1" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Edward FitzGerald and Sharen Swartz Neuhardt" : "0" @@ -35,6 +56,14 @@ "tallyResults" : [ { "elected" : "Edward FitzGerald and Sharen Swartz Neuhardt", "transfers" : { } - } ] - } ] + } ], + "threshold" : "1" + } ], + "summary" : { + "finalThreshold" : "1", + "numCandidates" : 3, + "numWinners" : 1, + "totalNumBallots" : "1", + "undervotes" : 1 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/precinct_example/precinct_example_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/precinct_example/precinct_example_expected_summary.csv index 838bf7925..ebe4a0715 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/precinct_example/precinct_example_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/precinct_example/precinct_example_expected_summary.csv @@ -1,30 +1,46 @@ -Contest,Precinct example -Jurisdiction,"Minneapolis, MN" -Office,Mayor -Date,2017-11-07 -Winner(s),Betsy Hodges -Threshold,42 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5 -Eliminated,Undeclared Write-ins,Aswar Rahman; David Rosenfeld; L.A. Nik; Christopher Zimmerman; Ronald Lischeid; Ian Simpson; Charlie Gers; Captain Jack Sparrow; Theron Preston Washington; David John Wilson; Gregg A. Iverson; Troy Benjegerdes; Al Flowers; Nekima Levy-Pounds,Tom Hoch,Raymond Dehn, -Elected,,,,,Betsy Hodges -Jacob Frey,28,28,30,39,41 -Betsy Hodges,20,20,25,28,42 -Tom Hoch,17,17,19,0,0 -Raymond Dehn,17,17,22,23,0 -Nekima Levy-Pounds,12,12,0,0,0 -David Rosenfeld,1,1,0,0,0 -Charlie Gers,1,1,0,0,0 -Captain Jack Sparrow,1,1,0,0,0 -Al Flowers,1,1,0,0,0 -Aswar Rahman,0,0,0,0,0 -L.A. Nik,0,0,0,0,0 -Christopher Zimmerman,0,0,0,0,0 -Ronald Lischeid,0,0,0,0,0 -Ian Simpson,0,0,0,0,0 -Theron Preston Washington,0,0,0,0,0 -David John Wilson,0,0,0,0,0 -Gregg A. Iverson,0,0,0,0,0 -Troy Benjegerdes,0,0,0,0,0 -Undeclared Write-ins,1,0,0,0,0 -Inactive ballots,1,2,4,10,17 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Precinct example +Jurisdiction,"Minneapolis, MN" +Office,Mayor +Date,2017-11-07 +Winner(s),Betsy Hodges +Final Threshold,42 + +Contest Summary +Number to be Elected,1 +Number of Candidates,19 +Total Number of Ballots,100 +Number of Undervotes,1 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,Aswar Rahman; David Rosenfeld; L.A. Nik; Christopher Zimmerman; Ronald Lischeid; Ian Simpson; Charlie Gers; Captain Jack Sparrow; Theron Preston Washington; David John Wilson; Gregg A. Iverson; Troy Benjegerdes; Al Flowers; Nekima Levy-Pounds,,,Tom Hoch,,,Raymond Dehn,,,,, +Elected,,,,,,,,,,,,,Betsy Hodges,, +Jacob Frey,28,28.28%,0,28,28.57%,2,30,31.25%,9,39,43.33%,2,41,49.39%,0 +Betsy Hodges,20,20.2%,0,20,20.4%,5,25,26.04%,3,28,31.11%,14,42,50.6%,0 +Tom Hoch,17,17.17%,0,17,17.34%,2,19,19.79%,-19,0,0.0%,0,0,0.0%,0 +Raymond Dehn,17,17.17%,0,17,17.34%,5,22,22.91%,1,23,25.55%,-23,0,0.0%,0 +Nekima Levy-Pounds,12,12.12%,0,12,12.24%,-12,0,0.0%,0,0,0.0%,0,0,0.0%,0 +David Rosenfeld,1,1.01%,0,1,1.02%,-1,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Charlie Gers,1,1.01%,0,1,1.02%,-1,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Captain Jack Sparrow,1,1.01%,0,1,1.02%,-1,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Al Flowers,1,1.01%,0,1,1.02%,-1,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Aswar Rahman,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +L.A. Nik,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Christopher Zimmerman,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Ronald Lischeid,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Ian Simpson,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Theron Preston Washington,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +David John Wilson,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Gregg A. Iverson,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Troy Benjegerdes,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,1,1.01%,-1,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,99,,,98,,,96,,,90,,,83,, +Current Round Threshold,50,,,50,,,49,,,46,,,42,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,1,,1,2,,3,7,,10,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,0,1,,1,2,,3,6,,9,7,,16,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/precinct_example/precinct_example_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/precinct_example/precinct_example_expected_summary.json index 6e4f048f2..094e825e8 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/precinct_example/precinct_example_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/precinct_example/precinct_example_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Precinct example", "date" : "2017-11-07", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Minneapolis, MN", - "office" : "Mayor", - "threshold" : "42" + "office" : "Mayor" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Al Flowers" : "1", @@ -34,8 +41,15 @@ "transfers" : { "exhausted" : "1" } - } ] + } ], + "threshold" : "50" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Al Flowers" : "1", @@ -113,8 +127,15 @@ "Tom Hoch" : "1", "exhausted" : "1" } - } ] + } ], + "threshold" : "50" }, { + "inactiveBallots" : { + "exhaustedChoices" : "1", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Betsy Hodges" : "25", @@ -130,8 +151,15 @@ "Raymond Dehn" : "1", "exhausted" : "6" } - } ] + } ], + "threshold" : "49" }, { + "inactiveBallots" : { + "exhaustedChoices" : "3", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "Betsy Hodges" : "28", @@ -145,8 +173,15 @@ "Jacob Frey" : "2", "exhausted" : "7" } - } ] + } ], + "threshold" : "46" }, { + "inactiveBallots" : { + "exhaustedChoices" : "10", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "Betsy Hodges" : "42", @@ -155,6 +190,14 @@ "tallyResults" : [ { "elected" : "Betsy Hodges", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "42" + } ], + "summary" : { + "finalThreshold" : "42", + "numCandidates" : 19, + "numWinners" : 1, + "totalNumBallots" : "100", + "undervotes" : 1 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_1_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_1_expected_summary.csv index 774b94b39..b5a47d765 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_1_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_1_expected_summary.csv @@ -1,17 +1,33 @@ -Contest,Test Sequential with Batch Elimination -Jurisdiction, -Office, -Date, -Winner(s),A -Threshold,5 - -Rounds,Round 1 -Eliminated, -Elected,A -A,5 -C,2 -B,1 -D,1 -E,0 -F,0 -Inactive ballots,0 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Multi-Winner +Contest,Test Sequential with Batch Elimination +Jurisdiction, +Office, +Date, +Winner(s),A +Final Threshold,5 + +Contest Summary +Number to be Elected,1 +Number of Candidates,6 +Total Number of Ballots,9 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer +Eliminated,,, +Elected,A,, +A,5,55.55%,0 +C,2,22.22%,0 +B,1,11.11%,0 +D,1,11.11%,0 +E,0,0.0%,0 +F,0,0.0%,0 +Active Ballots,9,, +Current Round Threshold,5,, +Inactive Ballots by by Overvotes,0,0, +Inactive Ballots by by Skipped Rankings,0,0, +Inactive Ballots by by Exhausted Choices,0,0, +Inactive Ballots by by Repeated Rankings,0,0, +Inactive Ballots Total,0,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_1_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_1_expected_summary.json index 521347b58..b8bd9b4b4 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_1_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_1_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Test Sequential with Batch Elimination", "date" : "", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "5" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "A" : "5", @@ -19,6 +26,14 @@ "tallyResults" : [ { "elected" : "A", "transfers" : { } - } ] - } ] + } ], + "threshold" : "5" + } ], + "summary" : { + "finalThreshold" : "5", + "numCandidates" : 6, + "numWinners" : 1, + "totalNumBallots" : "9", + "undervotes" : 0 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_2_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_2_expected_summary.csv index b82430099..973fe4cd1 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_2_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_2_expected_summary.csv @@ -1,16 +1,32 @@ -Contest,Test Sequential with Batch Elimination -Jurisdiction, -Office, -Date, -Winner(s),B -Threshold,2 - -Rounds,Round 1,Round 2,Round 3 -Eliminated,D; E; F,C, -Elected,,,B -B,2,2,2 -C,2,2,0 -D,1,0,0 -E,0,0,0 -F,0,0,0 -Inactive ballots,4,5,7 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Multi-Winner +Contest,Test Sequential with Batch Elimination +Jurisdiction, +Office, +Date, +Winner(s),B +Final Threshold,2 + +Contest Summary +Number to be Elected,1 +Number of Candidates,5 +Total Number of Ballots,9 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer +Eliminated,D; E; F,,,C,,,,, +Elected,,,,,,,B,, +B,2,40.0%,0,2,50.0%,0,2,100.0%,0 +C,2,40.0%,0,2,50.0%,-2,0,0.0%,0 +D,1,20.0%,-1,0,0.0%,0,0,0.0%,0 +E,0,0.0%,0,0,0.0%,0,0,0.0%,0 +F,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,5,,,4,,,2,, +Current Round Threshold,3,,,3,,,2,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,4,1,,5,2,,7,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0, +Inactive Ballots Total,4,1,,5,2,,7,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_2_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_2_expected_summary.json index d39d955c5..bbf8a8f2b 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_2_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_2_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Test Sequential with Batch Elimination", "date" : "", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "2" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "4", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "B" : "2", @@ -26,8 +33,15 @@ }, { "eliminated" : "F", "transfers" : { } - } ] + } ], + "threshold" : "3" }, { + "inactiveBallots" : { + "exhaustedChoices" : "5", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "B" : "2", @@ -38,8 +52,15 @@ "transfers" : { "exhausted" : "2" } - } ] + } ], + "threshold" : "3" }, { + "inactiveBallots" : { + "exhaustedChoices" : "7", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "B" : "2" @@ -47,6 +68,14 @@ "tallyResults" : [ { "elected" : "B", "transfers" : { } - } ] - } ] + } ], + "threshold" : "2" + } ], + "summary" : { + "finalThreshold" : "2", + "numCandidates" : 6, + "numWinners" : 1, + "totalNumBallots" : "9", + "undervotes" : 0 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_3_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_3_expected_summary.csv index 38212e188..64f0d9045 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_3_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_3_expected_summary.csv @@ -1,15 +1,31 @@ -Contest,Test Sequential with Batch Elimination -Jurisdiction, -Office, -Date, -Winner(s),C -Threshold,2 - -Rounds,Round 1 -Eliminated, -Elected,C -C,2 -D,1 -E,0 -F,0 -Inactive ballots,6 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Multi-Winner +Contest,Test Sequential with Batch Elimination +Jurisdiction, +Office, +Date, +Winner(s),C +Final Threshold,2 + +Contest Summary +Number to be Elected,1 +Number of Candidates,4 +Total Number of Ballots,9 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer +Eliminated,,, +Elected,C,, +C,2,66.66%,0 +D,1,33.33%,0 +E,0,0.0%,0 +F,0,0.0%,0 +Active Ballots,3,, +Current Round Threshold,2,, +Inactive Ballots by by Overvotes,0,0, +Inactive Ballots by by Skipped Rankings,0,0, +Inactive Ballots by by Exhausted Choices,6,0, +Inactive Ballots by by Repeated Rankings,0,0, +Inactive Ballots Total,6,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_3_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_3_expected_summary.json index efbdac820..d8f76f9c4 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_3_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_batch/sequential_with_batch_3_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Test Sequential with Batch Elimination", "date" : "", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "2" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "6", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "C" : "2", @@ -17,6 +24,14 @@ "tallyResults" : [ { "elected" : "C", "transfers" : { } - } ] - } ] + } ], + "threshold" : "2" + } ], + "summary" : { + "finalThreshold" : "2", + "numCandidates" : 6, + "numWinners" : 1, + "totalNumBallots" : "9", + "undervotes" : 0 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_1_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_1_expected_summary.csv index bf7239d72..b78732faf 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_1_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_1_expected_summary.csv @@ -1,17 +1,33 @@ -Contest,Test Sequential with Continue until Two -Jurisdiction, -Office, -Date, -Winner(s),A -Threshold,4 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6 -Eliminated,,F,E,D,B, -Elected,A,,,,, -A,5,5,5,5,5,5 -C,2,2,2,2,2,2 -B,1,1,1,1,1,0 -D,1,1,1,1,0,0 -E,0,0,0,0,0,0 -F,0,0,0,0,0,0 -Inactive ballots,0,0,0,0,1,2 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Multi-Winner +Contest,Test Sequential with Continue until Two +Jurisdiction, +Office, +Date, +Winner(s),A +Final Threshold,4 + +Contest Summary +Number to be Elected,1 +Number of Candidates,6 +Total Number of Ballots,9 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer +Eliminated,,,,F,,,E,,,D,,,B,,,,, +Elected,A,,,,,,,,,,,,,,,,, +A,5,55.55%,0,5,55.55%,0,5,55.55%,0,5,55.55%,0,5,62.5%,0,5,71.42%,0 +C,2,22.22%,0,2,22.22%,0,2,22.22%,0,2,22.22%,0,2,25.0%,0,2,28.57%,0 +B,1,11.11%,0,1,11.11%,0,1,11.11%,0,1,11.11%,0,1,12.5%,-1,0,0.0%,0 +D,1,11.11%,0,1,11.11%,0,1,11.11%,0,1,11.11%,-1,0,0.0%,0,0,0.0%,0 +E,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +F,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,9,,,9,,,9,,,9,,,8,,,7,, +Current Round Threshold,5,,,5,,,5,,,5,,,5,,,4,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,1,,1,1,,2,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,0,,0,0,,0,1,,1,1,,2,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_1_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_1_expected_summary.json index 140bd7833..42a99def0 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_1_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_1_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Test Sequential with Continue until Two", "date" : "", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "4" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "A" : "5", @@ -19,8 +26,15 @@ "tallyResults" : [ { "elected" : "A", "transfers" : { } - } ] + } ], + "threshold" : "5" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "A" : "5", @@ -33,8 +47,15 @@ "tallyResults" : [ { "eliminated" : "F", "transfers" : { } - } ] + } ], + "threshold" : "5" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "A" : "5", @@ -46,8 +67,15 @@ "tallyResults" : [ { "eliminated" : "E", "transfers" : { } - } ] + } ], + "threshold" : "5" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "A" : "5", @@ -60,8 +88,15 @@ "transfers" : { "exhausted" : "1" } - } ] + } ], + "threshold" : "5" }, { + "inactiveBallots" : { + "exhaustedChoices" : "1", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "A" : "5", @@ -73,13 +108,28 @@ "transfers" : { "exhausted" : "1" } - } ] + } ], + "threshold" : "5" }, { + "inactiveBallots" : { + "exhaustedChoices" : "2", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 6, "tally" : { "A" : "5", "C" : "2" }, - "tallyResults" : [ ] - } ] + "tallyResults" : [ ], + "threshold" : "4" + } ], + "summary" : { + "finalThreshold" : "4", + "numCandidates" : 6, + "numWinners" : 1, + "totalNumBallots" : "9", + "undervotes" : 0 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_2_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_2_expected_summary.csv index 8530d9faa..2d04fd097 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_2_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_2_expected_summary.csv @@ -1,16 +1,32 @@ -Contest,Test Sequential with Continue until Two -Jurisdiction, -Office, -Date, -Winner(s),B -Threshold,2 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5 -Eliminated,F,E,D,C, -Elected,,,,,B -B,2,2,2,2,2 -C,2,2,2,2,0 -D,1,1,1,0,0 -E,0,0,0,0,0 -F,0,0,0,0,0 -Inactive ballots,4,4,4,5,7 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Multi-Winner +Contest,Test Sequential with Continue until Two +Jurisdiction, +Office, +Date, +Winner(s),B +Final Threshold,2 + +Contest Summary +Number to be Elected,1 +Number of Candidates,5 +Total Number of Ballots,9 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer +Eliminated,F,,,E,,,D,,,C,,,,, +Elected,,,,,,,,,,,,,B,, +B,2,40.0%,0,2,40.0%,0,2,40.0%,0,2,50.0%,0,2,100.0%,0 +C,2,40.0%,0,2,40.0%,0,2,40.0%,0,2,50.0%,-2,0,0.0%,0 +D,1,20.0%,0,1,20.0%,0,1,20.0%,-1,0,0.0%,0,0,0.0%,0 +E,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +F,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,5,,,5,,,5,,,4,,,2,, +Current Round Threshold,3,,,3,,,3,,,3,,,2,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,4,0,,4,0,,4,1,,5,2,,7,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,4,0,,4,0,,4,1,,5,2,,7,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_2_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_2_expected_summary.json index 98d9e06c2..a8c553d4d 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_2_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_2_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Test Sequential with Continue until Two", "date" : "", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "2" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "4", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "B" : "2", @@ -18,8 +25,15 @@ "tallyResults" : [ { "eliminated" : "F", "transfers" : { } - } ] + } ], + "threshold" : "3" }, { + "inactiveBallots" : { + "exhaustedChoices" : "4", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "B" : "2", @@ -30,8 +44,15 @@ "tallyResults" : [ { "eliminated" : "E", "transfers" : { } - } ] + } ], + "threshold" : "3" }, { + "inactiveBallots" : { + "exhaustedChoices" : "4", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "B" : "2", @@ -43,8 +64,15 @@ "transfers" : { "exhausted" : "1" } - } ] + } ], + "threshold" : "3" }, { + "inactiveBallots" : { + "exhaustedChoices" : "5", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "B" : "2", @@ -55,8 +83,15 @@ "transfers" : { "exhausted" : "2" } - } ] + } ], + "threshold" : "3" }, { + "inactiveBallots" : { + "exhaustedChoices" : "7", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "B" : "2" @@ -64,6 +99,14 @@ "tallyResults" : [ { "elected" : "B", "transfers" : { } - } ] - } ] + } ], + "threshold" : "2" + } ], + "summary" : { + "finalThreshold" : "2", + "numCandidates" : 6, + "numWinners" : 1, + "totalNumBallots" : "9", + "undervotes" : 0 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_3_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_3_expected_summary.csv index b9cc853dd..072549cd8 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_3_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_3_expected_summary.csv @@ -1,15 +1,31 @@ -Contest,Test Sequential with Continue until Two -Jurisdiction, -Office, -Date, -Winner(s),C -Threshold,2 - -Rounds,Round 1,Round 2,Round 3,Round 4 -Eliminated,,F,E, -Elected,C,,, -C,2,2,2,2 -D,1,1,1,1 -E,0,0,0,0 -F,0,0,0,0 -Inactive ballots,6,6,6,6 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Multi-Winner +Contest,Test Sequential with Continue until Two +Jurisdiction, +Office, +Date, +Winner(s),C +Final Threshold,2 + +Contest Summary +Number to be Elected,1 +Number of Candidates,4 +Total Number of Ballots,9 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer +Eliminated,,,,F,,,E,,,,, +Elected,C,,,,,,,,,,, +C,2,66.66%,0,2,66.66%,0,2,66.66%,0,2,66.66%,0 +D,1,33.33%,0,1,33.33%,0,1,33.33%,0,1,33.33%,0 +E,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +F,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,3,,,3,,,3,,,3,, +Current Round Threshold,2,,,2,,,2,,,2,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,6,0,,6,0,,6,0,,6,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,6,0,,6,0,,6,0,,6,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_3_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_3_expected_summary.json index 1e5481241..1fb4cb053 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_3_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/sequential_with_continue_until_two/sequential_with_continue_until_two_3_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Test Sequential with Continue until Two", "date" : "", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "2" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "6", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "C" : "2", @@ -17,8 +24,15 @@ "tallyResults" : [ { "elected" : "C", "transfers" : { } - } ] + } ], + "threshold" : "2" }, { + "inactiveBallots" : { + "exhaustedChoices" : "6", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "C" : "2", @@ -29,8 +43,15 @@ "tallyResults" : [ { "eliminated" : "F", "transfers" : { } - } ] + } ], + "threshold" : "2" }, { + "inactiveBallots" : { + "exhaustedChoices" : "6", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "C" : "2", @@ -40,13 +61,28 @@ "tallyResults" : [ { "eliminated" : "E", "transfers" : { } - } ] + } ], + "threshold" : "2" }, { + "inactiveBallots" : { + "exhaustedChoices" : "6", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "C" : "2", "D" : "1" }, - "tallyResults" : [ ] - } ] + "tallyResults" : [ ], + "threshold" : "2" + } ], + "summary" : { + "finalThreshold" : "2", + "numCandidates" : 6, + "numWinners" : 1, + "totalNumBallots" : "9", + "undervotes" : 0 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/skip_to_next_test/skip_to_next_test_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/skip_to_next_test/skip_to_next_test_expected_summary.csv index 18f647ecc..a8eace8d7 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/skip_to_next_test/skip_to_next_test_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/skip_to_next_test/skip_to_next_test_expected_summary.csv @@ -1,15 +1,31 @@ -Contest,Overvote2 -Jurisdiction,"Funkytown, USA" -Office,Exhausted -Date,2018-07-28 -Winner(s),B -Threshold,8 - -Rounds,Round 1,Round 2,Round 3 -Eliminated,D,C, -Elected,,,B -B,6,6,8 -A,5,5,6 -C,3,4,0 -D,1,0,0 -Inactive ballots,0,0,1 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Overvote2 +Jurisdiction,"Funkytown, USA" +Office,Exhausted +Date,2018-07-28 +Winner(s),B +Final Threshold,8 + +Contest Summary +Number to be Elected,1 +Number of Candidates,4 +Total Number of Ballots,15 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer +Eliminated,D,,,C,,,,, +Elected,,,,,,,B,, +B,6,40.0%,0,6,40.0%,2,8,57.14%,0 +A,5,33.33%,0,5,33.33%,1,6,42.85%,0 +C,3,20.0%,1,4,26.66%,-4,0,0.0%,0 +D,1,6.66%,-1,0,0.0%,0,0,0.0%,0 +Active Ballots,15,,,15,,,14,, +Current Round Threshold,8,,,8,,,8,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,1,,1,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,1,,1,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/skip_to_next_test/skip_to_next_test_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/skip_to_next_test/skip_to_next_test_expected_summary.json index c2cf92e54..f71710cc7 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/skip_to_next_test/skip_to_next_test_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/skip_to_next_test/skip_to_next_test_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Overvote2", "date" : "2018-07-28", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Funkytown, USA", - "office" : "Exhausted", - "threshold" : "8" + "office" : "Exhausted" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "A" : "5", @@ -19,8 +26,15 @@ "transfers" : { "C" : "1" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "A" : "5", @@ -34,8 +48,15 @@ "B" : "2", "exhausted" : "1" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "1", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "A" : "6", @@ -44,6 +65,14 @@ "tallyResults" : [ { "elected" : "B", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "8" + } ], + "summary" : { + "finalThreshold" : "8", + "numCandidates" : 4, + "numWinners" : 1, + "totalNumBallots" : "15", + "undervotes" : 0 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/stop_tabulation_early_test/stop_tabulation_early_test_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/stop_tabulation_early_test/stop_tabulation_early_test_expected_summary.csv index 891f557f9..6ee06c80c 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/stop_tabulation_early_test/stop_tabulation_early_test_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/stop_tabulation_early_test/stop_tabulation_early_test_expected_summary.csv @@ -1,14 +1,30 @@ -Contest,Stop Tabulation Early Test -Jurisdiction,"Funkytown, USA" -Office,Sergeant-at-Arms -Date,2023-03-14 -Winner(s), -Threshold,4 - -Rounds,Round 1,Round 2 -Eliminated,Yinka Dare,George Gervin -Elected,, -Yinka Dare,3,0 -George Gervin,3,3 -Mookie Blaylock,3,3 -Inactive ballots,0,3 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Stop Tabulation Early Test +Jurisdiction,"Funkytown, USA" +Office,Sergeant-at-Arms +Date,2023-03-14 +Winner(s), +Final Threshold,4 + +Contest Summary +Number to be Elected,1 +Number of Candidates,3 +Total Number of Ballots,9 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer +Eliminated,Yinka Dare,,,George Gervin,, +Elected,,,,,, +Yinka Dare,3,33.33%,-3,0,0.0%,0 +George Gervin,3,33.33%,0,3,50.0%,0 +Mookie Blaylock,3,33.33%,0,3,50.0%,0 +Active Ballots,9,,,6,, +Current Round Threshold,5,,,4,, +Inactive Ballots by by Overvotes,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0, +Inactive Ballots Total,0,3,,3,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/stop_tabulation_early_test/stop_tabulation_early_test_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/stop_tabulation_early_test/stop_tabulation_early_test_expected_summary.json index e96796e8a..48a8f4388 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/stop_tabulation_early_test/stop_tabulation_early_test_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/stop_tabulation_early_test/stop_tabulation_early_test_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Stop Tabulation Early Test", "date" : "2023-03-14", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Funkytown, USA", - "office" : "Sergeant-at-Arms", - "threshold" : "4" + "office" : "Sergeant-at-Arms" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "George Gervin" : "3", @@ -18,8 +25,15 @@ "transfers" : { "exhausted" : "3" } - } ] + } ], + "threshold" : "5" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "George Gervin" : "3", @@ -28,6 +42,14 @@ "tallyResults" : [ { "eliminated" : "George Gervin", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "4" + } ], + "summary" : { + "finalThreshold" : "4", + "numCandidates" : 3, + "numWinners" : 1, + "totalNumBallots" : "9", + "undervotes" : 0 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_0_skipped_first_choice/test_set_0_skipped_first_choice_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/test_set_0_skipped_first_choice/test_set_0_skipped_first_choice_expected_summary.csv index 1a770a786..e71f36415 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_0_skipped_first_choice/test_set_0_skipped_first_choice_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_0_skipped_first_choice/test_set_0_skipped_first_choice_expected_summary.csv @@ -1,15 +1,31 @@ -Contest,Test Set 0 -Jurisdiction,TestSets_Single_winner -Office,Skiptonext_Skiponovervote -Date,2019-03-06 -Winner(s),Candidate B Name -Threshold,6 - -Rounds,Round 1,Round 2,Round 3 -Eliminated,Candidate D Name,Candidate C Name, -Elected,,,Candidate B Name -Candidate A Name,4,4,4 -Candidate B Name,4,5,7 -Candidate C Name,3,3,0 -Candidate D Name,1,0,0 -Inactive ballots,0,0,1 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Test Set 0 +Jurisdiction,TestSets_Single_winner +Office,Skiptonext_Skiponovervote +Date,2019-03-06 +Winner(s),Candidate B Name +Final Threshold,6 + +Contest Summary +Number to be Elected,1 +Number of Candidates,4 +Total Number of Ballots,12 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer +Eliminated,Candidate D Name,,,Candidate C Name,,,,, +Elected,,,,,,,Candidate B Name,, +Candidate A Name,4,33.33%,0,4,33.33%,0,4,36.36%,0 +Candidate B Name,4,33.33%,1,5,41.66%,2,7,63.63%,0 +Candidate C Name,3,25.0%,0,3,25.0%,-3,0,0.0%,0 +Candidate D Name,1,8.33%,-1,0,0.0%,0,0,0.0%,0 +Active Ballots,12,,,12,,,11,, +Current Round Threshold,7,,,7,,,6,, +Inactive Ballots by by Overvotes,0,0,,0,1,,1,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,1,,1,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_0_skipped_first_choice/test_set_0_skipped_first_choice_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/test_set_0_skipped_first_choice/test_set_0_skipped_first_choice_expected_summary.json index 53d2c140e..d486905b7 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_0_skipped_first_choice/test_set_0_skipped_first_choice_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_0_skipped_first_choice/test_set_0_skipped_first_choice_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Test Set 0", "date" : "2019-03-06", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "TestSets_Single_winner", - "office" : "Skiptonext_Skiponovervote", - "threshold" : "6" + "office" : "Skiptonext_Skiponovervote" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Candidate A Name" : "4", @@ -19,8 +26,15 @@ "transfers" : { "Candidate B Name" : "1" } - } ] + } ], + "threshold" : "7" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Candidate A Name" : "4", @@ -33,8 +47,15 @@ "Candidate B Name" : "2", "exhausted" : "1" } - } ] + } ], + "threshold" : "7" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Candidate A Name" : "4", @@ -43,6 +64,14 @@ "tallyResults" : [ { "elected" : "Candidate B Name", "transfers" : { } - } ] - } ] + } ], + "threshold" : "6" + } ], + "summary" : { + "finalThreshold" : "6", + "numCandidates" : 4, + "numWinners" : 1, + "totalNumBallots" : "12", + "undervotes" : 0 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_1_exhaust_at_overvote/test_set_1_exhaust_at_overvote_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/test_set_1_exhaust_at_overvote/test_set_1_exhaust_at_overvote_expected_summary.csv index 3bab5f3fb..68a865954 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_1_exhaust_at_overvote/test_set_1_exhaust_at_overvote_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_1_exhaust_at_overvote/test_set_1_exhaust_at_overvote_expected_summary.csv @@ -1,15 +1,31 @@ -Contest,test set 1 -Jurisdiction,TestSets_Single_winner -Office, -Date,2019-03-06 -Winner(s),Candidate B Name -Threshold,7 - -Rounds,Round 1,Round 2,Round 3 -Eliminated,Candidate D Name,Candidate C Name, -Elected,,,Candidate B Name -Candidate B Name,6,6,8 -Candidate A Name,5,5,5 -Candidate C Name,2,3,0 -Candidate D Name,1,0,0 -Inactive ballots,1,1,2 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,test set 1 +Jurisdiction,TestSets_Single_winner +Office, +Date,2019-03-06 +Winner(s),Candidate B Name +Final Threshold,7 + +Contest Summary +Number to be Elected,1 +Number of Candidates,4 +Total Number of Ballots,15 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer +Eliminated,Candidate D Name,,,Candidate C Name,,,,, +Elected,,,,,,,Candidate B Name,, +Candidate B Name,6,42.85%,0,6,42.85%,2,8,61.53%,0 +Candidate A Name,5,35.71%,0,5,35.71%,0,5,38.46%,0 +Candidate C Name,2,14.28%,1,3,21.42%,-3,0,0.0%,0 +Candidate D Name,1,7.14%,-1,0,0.0%,0,0,0.0%,0 +Active Ballots,14,,,14,,,13,, +Current Round Threshold,8,,,8,,,7,, +Inactive Ballots by by Overvotes,1,0,,1,1,,2,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0, +Inactive Ballots Total,1,0,,1,1,,2,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_1_exhaust_at_overvote/test_set_1_exhaust_at_overvote_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/test_set_1_exhaust_at_overvote/test_set_1_exhaust_at_overvote_expected_summary.json index e6317e69e..825bf6ea9 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_1_exhaust_at_overvote/test_set_1_exhaust_at_overvote_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_1_exhaust_at_overvote/test_set_1_exhaust_at_overvote_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "test set 1", "date" : "2019-03-06", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "TestSets_Single_winner", - "office" : "", - "threshold" : "7" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Candidate A Name" : "5", @@ -19,8 +26,15 @@ "transfers" : { "Candidate C Name" : "1" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Candidate A Name" : "5", @@ -33,8 +47,15 @@ "Candidate B Name" : "2", "exhausted" : "1" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "2", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Candidate A Name" : "5", @@ -43,6 +64,14 @@ "tallyResults" : [ { "elected" : "Candidate B Name", "transfers" : { } - } ] - } ] + } ], + "threshold" : "7" + } ], + "summary" : { + "finalThreshold" : "7", + "numCandidates" : 4, + "numWinners" : 1, + "totalNumBallots" : "15", + "undervotes" : 0 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_2_overvote_skip_to_next/test_set_2_overvote_skip_to_next_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/test_set_2_overvote_skip_to_next/test_set_2_overvote_skip_to_next_expected_summary.csv index a22e1cdc3..12a118de6 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_2_overvote_skip_to_next/test_set_2_overvote_skip_to_next_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_2_overvote_skip_to_next/test_set_2_overvote_skip_to_next_expected_summary.csv @@ -1,15 +1,31 @@ -Contest,overvote skips to next rank -Jurisdiction,TestSets_Single_winner -Office,Exhaust skipped -Date,2019-03-06 -Winner(s),Candidate B Name -Threshold,7 - -Rounds,Round 1,Round 2,Round 3 -Eliminated,Candidate D Name,Candidate C Name, -Elected,,,Candidate B Name -Candidate B Name,6,6,7 -Candidate A Name,5,5,6 -Candidate C Name,2,3,0 -Candidate D Name,1,0,0 -Inactive ballots,1,1,2 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,overvote skips to next rank +Jurisdiction,TestSets_Single_winner +Office,Exhaust skipped +Date,2019-03-06 +Winner(s),Candidate B Name +Final Threshold,7 + +Contest Summary +Number to be Elected,1 +Number of Candidates,4 +Total Number of Ballots,15 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer +Eliminated,Candidate D Name,,,Candidate C Name,,,,, +Elected,,,,,,,Candidate B Name,, +Candidate B Name,6,42.85%,0,6,42.85%,1,7,53.84%,0 +Candidate A Name,5,35.71%,0,5,35.71%,1,6,46.15%,0 +Candidate C Name,2,14.28%,1,3,21.42%,-3,0,0.0%,0 +Candidate D Name,1,7.14%,-1,0,0.0%,0,0,0.0%,0 +Active Ballots,14,,,14,,,13,, +Current Round Threshold,8,,,8,,,7,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,1,0,,1,1,,2,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0, +Inactive Ballots Total,1,0,,1,1,,2,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_2_overvote_skip_to_next/test_set_2_overvote_skip_to_next_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/test_set_2_overvote_skip_to_next/test_set_2_overvote_skip_to_next_expected_summary.json index 19be2d0f0..2557bbb37 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_2_overvote_skip_to_next/test_set_2_overvote_skip_to_next_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_2_overvote_skip_to_next/test_set_2_overvote_skip_to_next_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "overvote skips to next rank", "date" : "2019-03-06", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "TestSets_Single_winner", - "office" : "Exhaust skipped", - "threshold" : "7" + "office" : "Exhaust skipped" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "1" + }, "round" : 1, "tally" : { "Candidate A Name" : "5", @@ -19,8 +26,15 @@ "transfers" : { "Candidate C Name" : "1" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "1" + }, "round" : 2, "tally" : { "Candidate A Name" : "5", @@ -34,8 +48,15 @@ "Candidate B Name" : "1", "exhausted" : "1" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "2" + }, "round" : 3, "tally" : { "Candidate A Name" : "6", @@ -44,6 +65,14 @@ "tallyResults" : [ { "elected" : "Candidate B Name", "transfers" : { } - } ] - } ] + } ], + "threshold" : "7" + } ], + "summary" : { + "finalThreshold" : "7", + "numCandidates" : 4, + "numWinners" : 1, + "totalNumBallots" : "15", + "undervotes" : 0 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_3_skipped_choice_exhaust/test_set_3_skipped_choice_exhaust_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/test_set_3_skipped_choice_exhaust/test_set_3_skipped_choice_exhaust_expected_summary.csv index ba7bb84e0..b89e8d83a 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_3_skipped_choice_exhaust/test_set_3_skipped_choice_exhaust_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_3_skipped_choice_exhaust/test_set_3_skipped_choice_exhaust_expected_summary.csv @@ -1,15 +1,31 @@ -Contest,test set 3 -Jurisdiction,"Funkytown, USA" -Office,Exhausted -Date,2018-08-06 -Winner(s),Candidate B Name -Threshold,7 - -Rounds,Round 1,Round 2,Round 3 -Eliminated,Candidate D Name,Candidate C Name, -Elected,,,Candidate B Name -Candidate B Name,6,6,7 -Candidate A Name,5,5,5 -Candidate C Name,2,3,0 -Candidate D Name,1,0,0 -Inactive ballots,1,1,3 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,test set 3 +Jurisdiction,"Funkytown, USA" +Office,Exhausted +Date,2018-08-06 +Winner(s),Candidate B Name +Final Threshold,7 + +Contest Summary +Number to be Elected,1 +Number of Candidates,4 +Total Number of Ballots,15 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer +Eliminated,Candidate D Name,,,Candidate C Name,,,,, +Elected,,,,,,,Candidate B Name,, +Candidate B Name,6,42.85%,0,6,42.85%,1,7,58.33%,0 +Candidate A Name,5,35.71%,0,5,35.71%,0,5,41.66%,0 +Candidate C Name,2,14.28%,1,3,21.42%,-3,0,0.0%,0 +Candidate D Name,1,7.14%,-1,0,0.0%,0,0,0.0%,0 +Active Ballots,14,,,14,,,12,, +Current Round Threshold,8,,,8,,,7,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,1,0,,1,2,,3,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0, +Inactive Ballots Total,1,0,,1,2,,3,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_3_skipped_choice_exhaust/test_set_3_skipped_choice_exhaust_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/test_set_3_skipped_choice_exhaust/test_set_3_skipped_choice_exhaust_expected_summary.json index 7c56ecad6..7ec5adf92 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_3_skipped_choice_exhaust/test_set_3_skipped_choice_exhaust_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_3_skipped_choice_exhaust/test_set_3_skipped_choice_exhaust_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "test set 3", "date" : "2018-08-06", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Funkytown, USA", - "office" : "Exhausted", - "threshold" : "7" + "office" : "Exhausted" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "1" + }, "round" : 1, "tally" : { "Candidate A Name" : "5", @@ -19,8 +26,15 @@ "transfers" : { "Candidate C Name" : "1" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "1" + }, "round" : 2, "tally" : { "Candidate A Name" : "5", @@ -33,8 +47,15 @@ "Candidate B Name" : "1", "exhausted" : "2" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "3" + }, "round" : 3, "tally" : { "Candidate A Name" : "5", @@ -43,6 +64,14 @@ "tallyResults" : [ { "elected" : "Candidate B Name", "transfers" : { } - } ] - } ] + } ], + "threshold" : "7" + } ], + "summary" : { + "finalThreshold" : "7", + "numCandidates" : 4, + "numWinners" : 1, + "totalNumBallots" : "15", + "undervotes" : 0 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_4_skipped_choice_next/test_set_4_skipped_choice_next_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/test_set_4_skipped_choice_next/test_set_4_skipped_choice_next_expected_summary.csv index 1dafcab39..6909da927 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_4_skipped_choice_next/test_set_4_skipped_choice_next_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_4_skipped_choice_next/test_set_4_skipped_choice_next_expected_summary.csv @@ -1,15 +1,31 @@ -Contest,test set 4 -Jurisdiction,TestSets_Single_winner -Office,Skipped choice_skip to next -Date,2019-03-06 -Winner(s),Candidate B Name -Threshold,8 - -Rounds,Round 1,Round 2,Round 3 -Eliminated,Candidate D Name,Candidate C Name, -Elected,,,Candidate B Name -Candidate B Name,7,7,10 -Candidate A Name,5,5,5 -Candidate C Name,2,3,0 -Candidate D Name,1,0,0 -Inactive ballots,0,0,0 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,test set 4 +Jurisdiction,TestSets_Single_winner +Office,Skipped choice_skip to next +Date,2019-03-06 +Winner(s),Candidate B Name +Final Threshold,8 + +Contest Summary +Number to be Elected,1 +Number of Candidates,4 +Total Number of Ballots,15 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer +Eliminated,Candidate D Name,,,Candidate C Name,,,,, +Elected,,,,,,,Candidate B Name,, +Candidate B Name,7,46.66%,0,7,46.66%,3,10,66.66%,0 +Candidate A Name,5,33.33%,0,5,33.33%,0,5,33.33%,0 +Candidate C Name,2,13.33%,1,3,20.0%,-3,0,0.0%,0 +Candidate D Name,1,6.66%,-1,0,0.0%,0,0,0.0%,0 +Active Ballots,15,,,15,,,15,, +Current Round Threshold,8,,,8,,,8,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,0,,0,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_4_skipped_choice_next/test_set_4_skipped_choice_next_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/test_set_4_skipped_choice_next/test_set_4_skipped_choice_next_expected_summary.json index f343e50cf..87cc018e8 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_4_skipped_choice_next/test_set_4_skipped_choice_next_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_4_skipped_choice_next/test_set_4_skipped_choice_next_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "test set 4", "date" : "2019-03-06", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "TestSets_Single_winner", - "office" : "Skipped choice_skip to next", - "threshold" : "8" + "office" : "Skipped choice_skip to next" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Candidate A Name" : "5", @@ -19,8 +26,15 @@ "transfers" : { "Candidate C Name" : "1" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Candidate A Name" : "5", @@ -32,8 +46,15 @@ "transfers" : { "Candidate B Name" : "3" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Candidate A Name" : "5", @@ -42,6 +63,14 @@ "tallyResults" : [ { "elected" : "Candidate B Name", "transfers" : { } - } ] - } ] + } ], + "threshold" : "8" + } ], + "summary" : { + "finalThreshold" : "8", + "numCandidates" : 4, + "numWinners" : 1, + "totalNumBallots" : "15", + "undervotes" : 0 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_5_two_skipped_choice_exhaust/test_set_5_two_skipped_choice_exhaust_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/test_set_5_two_skipped_choice_exhaust/test_set_5_two_skipped_choice_exhaust_expected_summary.csv index 772602b0d..e31f7e420 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_5_two_skipped_choice_exhaust/test_set_5_two_skipped_choice_exhaust_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_5_two_skipped_choice_exhaust/test_set_5_two_skipped_choice_exhaust_expected_summary.csv @@ -1,15 +1,31 @@ -Contest,Test Set 5 -Jurisdiction,TestSets_Single_winner -Office,Skipped choice_allow 1 -Date,2019-03-06 -Winner(s),Candidate B Name -Threshold,8 - -Rounds,Round 1,Round 2,Round 3 -Eliminated,Candidate D Name,Candidate C Name, -Elected,,,Candidate B Name -Candidate B Name,7,7,9 -Candidate A Name,5,5,5 -Candidate C Name,2,3,0 -Candidate D Name,1,0,0 -Inactive ballots,0,0,1 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Test Set 5 +Jurisdiction,TestSets_Single_winner +Office,Skipped choice_allow 1 +Date,2019-03-06 +Winner(s),Candidate B Name +Final Threshold,8 + +Contest Summary +Number to be Elected,1 +Number of Candidates,4 +Total Number of Ballots,15 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer +Eliminated,Candidate D Name,,,Candidate C Name,,,,, +Elected,,,,,,,Candidate B Name,, +Candidate B Name,7,46.66%,0,7,46.66%,2,9,64.28%,0 +Candidate A Name,5,33.33%,0,5,33.33%,0,5,35.71%,0 +Candidate C Name,2,13.33%,1,3,20.0%,-3,0,0.0%,0 +Candidate D Name,1,6.66%,-1,0,0.0%,0,0,0.0%,0 +Active Ballots,15,,,15,,,14,, +Current Round Threshold,8,,,8,,,8,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,1,,1,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,1,,1,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_5_two_skipped_choice_exhaust/test_set_5_two_skipped_choice_exhaust_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/test_set_5_two_skipped_choice_exhaust/test_set_5_two_skipped_choice_exhaust_expected_summary.json index a9abf6636..adefd5dd9 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_5_two_skipped_choice_exhaust/test_set_5_two_skipped_choice_exhaust_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_5_two_skipped_choice_exhaust/test_set_5_two_skipped_choice_exhaust_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Test Set 5", "date" : "2019-03-06", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "TestSets_Single_winner", - "office" : "Skipped choice_allow 1", - "threshold" : "8" + "office" : "Skipped choice_allow 1" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Candidate A Name" : "5", @@ -19,8 +26,15 @@ "transfers" : { "Candidate C Name" : "1" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Candidate A Name" : "5", @@ -33,8 +47,15 @@ "Candidate B Name" : "2", "exhausted" : "1" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "1" + }, "round" : 3, "tally" : { "Candidate A Name" : "5", @@ -43,6 +64,14 @@ "tallyResults" : [ { "elected" : "Candidate B Name", "transfers" : { } - } ] - } ] + } ], + "threshold" : "8" + } ], + "summary" : { + "finalThreshold" : "8", + "numCandidates" : 4, + "numWinners" : 1, + "totalNumBallots" : "15", + "undervotes" : 0 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_6_duplicate_exhaust/test_set_6_duplicate_exhaust_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/test_set_6_duplicate_exhaust/test_set_6_duplicate_exhaust_expected_summary.csv index 1a9f0a3ef..7055664a8 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_6_duplicate_exhaust/test_set_6_duplicate_exhaust_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_6_duplicate_exhaust/test_set_6_duplicate_exhaust_expected_summary.csv @@ -1,15 +1,31 @@ -Contest,test set 6 -Jurisdiction,TestSets_Single_winner -Office,Duplicate choice exhaust -Date,2019-03-06 -Winner(s),Candidate B Name -Threshold,7 - -Rounds,Round 1,Round 2,Round 3 -Eliminated,Candidate D Name,Candidate C Name, -Elected,,,Candidate B Name -Candidate A Name,5,5,5 -Candidate C Name,4,4,0 -Candidate B Name,4,5,7 -Candidate D Name,2,0,0 -Inactive ballots,0,1,3 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,test set 6 +Jurisdiction,TestSets_Single_winner +Office,Duplicate choice exhaust +Date,2019-03-06 +Winner(s),Candidate B Name +Final Threshold,7 + +Contest Summary +Number to be Elected,1 +Number of Candidates,4 +Total Number of Ballots,15 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer +Eliminated,Candidate D Name,,,Candidate C Name,,,,, +Elected,,,,,,,Candidate B Name,, +Candidate A Name,5,33.33%,0,5,35.71%,0,5,41.66%,0 +Candidate C Name,4,26.66%,0,4,28.57%,-4,0,0.0%,0 +Candidate B Name,4,26.66%,1,5,35.71%,2,7,58.33%,0 +Candidate D Name,2,13.33%,-2,0,0.0%,0,0,0.0%,0 +Active Ballots,15,,,14,,,12,, +Current Round Threshold,8,,,8,,,7,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,1,,1,2,,3,0, +Inactive Ballots Total,0,1,,1,2,,3,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_6_duplicate_exhaust/test_set_6_duplicate_exhaust_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/test_set_6_duplicate_exhaust/test_set_6_duplicate_exhaust_expected_summary.json index 772906b17..1e07e961b 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_6_duplicate_exhaust/test_set_6_duplicate_exhaust_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_6_duplicate_exhaust/test_set_6_duplicate_exhaust_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "test set 6", "date" : "2019-03-06", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "TestSets_Single_winner", - "office" : "Duplicate choice exhaust", - "threshold" : "7" + "office" : "Duplicate choice exhaust" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Candidate A Name" : "5", @@ -20,8 +27,15 @@ "Candidate B Name" : "1", "exhausted" : "1" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "1", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Candidate A Name" : "5", @@ -34,8 +48,15 @@ "Candidate B Name" : "2", "exhausted" : "2" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "3", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Candidate A Name" : "5", @@ -44,6 +65,14 @@ "tallyResults" : [ { "elected" : "Candidate B Name", "transfers" : { } - } ] - } ] + } ], + "threshold" : "7" + } ], + "summary" : { + "finalThreshold" : "7", + "numCandidates" : 4, + "numWinners" : 1, + "totalNumBallots" : "15", + "undervotes" : 0 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_7_duplicate_skip_to_next/test_set_7_duplicate_skip_to_next_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/test_set_7_duplicate_skip_to_next/test_set_7_duplicate_skip_to_next_expected_summary.csv index c71d91a30..51367f32b 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_7_duplicate_skip_to_next/test_set_7_duplicate_skip_to_next_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_7_duplicate_skip_to_next/test_set_7_duplicate_skip_to_next_expected_summary.csv @@ -1,15 +1,31 @@ -Contest,Test Set 6 -Jurisdiction,TestSets_Single_winner -Office,Duplicate choice skip -Date,2019-03-06 -Winner(s),Candidate A Name -Threshold,8 - -Rounds,Round 1,Round 2,Round 3 -Eliminated,Candidate D Name,Candidate C Name, -Elected,,,Candidate A Name -Candidate A Name,5,6,8 -Candidate B Name,5,5,7 -Candidate C Name,3,4,0 -Candidate D Name,2,0,0 -Inactive ballots,0,0,0 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Test Set 6 +Jurisdiction,TestSets_Single_winner +Office,Duplicate choice skip +Date,2019-03-06 +Winner(s),Candidate A Name +Final Threshold,8 + +Contest Summary +Number to be Elected,1 +Number of Candidates,4 +Total Number of Ballots,15 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer +Eliminated,Candidate D Name,,,Candidate C Name,,,,, +Elected,,,,,,,Candidate A Name,, +Candidate A Name,5,33.33%,1,6,40.0%,2,8,53.33%,0 +Candidate B Name,5,33.33%,0,5,33.33%,2,7,46.66%,0 +Candidate C Name,3,20.0%,1,4,26.66%,-4,0,0.0%,0 +Candidate D Name,2,13.33%,-2,0,0.0%,0,0,0.0%,0 +Active Ballots,15,,,15,,,15,, +Current Round Threshold,8,,,8,,,8,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,0,,0,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_7_duplicate_skip_to_next/test_set_7_duplicate_skip_to_next_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/test_set_7_duplicate_skip_to_next/test_set_7_duplicate_skip_to_next_expected_summary.json index e8ade7402..ab2588d94 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_7_duplicate_skip_to_next/test_set_7_duplicate_skip_to_next_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_7_duplicate_skip_to_next/test_set_7_duplicate_skip_to_next_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Test Set 6", "date" : "2019-03-06", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "TestSets_Single_winner", - "office" : "Duplicate choice skip", - "threshold" : "8" + "office" : "Duplicate choice skip" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Candidate A Name" : "5", @@ -20,8 +27,15 @@ "Candidate A Name" : "1", "Candidate C Name" : "1" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Candidate A Name" : "6", @@ -34,8 +48,15 @@ "Candidate A Name" : "2", "Candidate B Name" : "2" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Candidate A Name" : "8", @@ -44,6 +65,14 @@ "tallyResults" : [ { "elected" : "Candidate A Name", "transfers" : { } - } ] - } ] + } ], + "threshold" : "8" + } ], + "summary" : { + "finalThreshold" : "8", + "numCandidates" : 4, + "numWinners" : 1, + "totalNumBallots" : "15", + "undervotes" : 0 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_8_multi_cdf/test_set_8_multi_cdf_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/test_set_8_multi_cdf/test_set_8_multi_cdf_expected_summary.csv index 6528e8580..ed0dcb879 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_8_multi_cdf/test_set_8_multi_cdf_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_8_multi_cdf/test_set_8_multi_cdf_expected_summary.csv @@ -1,15 +1,31 @@ -Contest,Test Set 0 -Jurisdiction,TestSets_Single_winner -Office,Skiptonext_Skiponovervote -Date,2019-03-06 -Winner(s),Candidate B Name -Threshold,12 - -Rounds,Round 1,Round 2,Round 3 -Eliminated,Candidate D Name,Candidate C Name, -Elected,,,Candidate B Name -Candidate A Name,8,8,8 -Candidate B Name,8,10,14 -Candidate C Name,6,6,0 -Candidate D Name,2,0,0 -Inactive ballots,0,0,2 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Test Set 0 +Jurisdiction,TestSets_Single_winner +Office,Skiptonext_Skiponovervote +Date,2019-03-06 +Winner(s),Candidate B Name +Final Threshold,12 + +Contest Summary +Number to be Elected,1 +Number of Candidates,4 +Total Number of Ballots,24 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer +Eliminated,Candidate D Name,,,Candidate C Name,,,,, +Elected,,,,,,,Candidate B Name,, +Candidate A Name,8,33.33%,0,8,33.33%,0,8,36.36%,0 +Candidate B Name,8,33.33%,2,10,41.66%,4,14,63.63%,0 +Candidate C Name,6,25.0%,0,6,25.0%,-6,0,0.0%,0 +Candidate D Name,2,8.33%,-2,0,0.0%,0,0,0.0%,0 +Active Ballots,24,,,24,,,22,, +Current Round Threshold,13,,,13,,,12,, +Inactive Ballots by by Overvotes,0,0,,0,2,,2,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,2,,2,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_8_multi_cdf/test_set_8_multi_cdf_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/test_set_8_multi_cdf/test_set_8_multi_cdf_expected_summary.json index d13d4d5ca..8ab5f8cef 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_8_multi_cdf/test_set_8_multi_cdf_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_8_multi_cdf/test_set_8_multi_cdf_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Test Set 0", "date" : "2019-03-06", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "TestSets_Single_winner", - "office" : "Skiptonext_Skiponovervote", - "threshold" : "12" + "office" : "Skiptonext_Skiponovervote" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Candidate A Name" : "8", @@ -19,8 +26,15 @@ "transfers" : { "Candidate B Name" : "2" } - } ] + } ], + "threshold" : "13" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Candidate A Name" : "8", @@ -33,8 +47,15 @@ "Candidate B Name" : "4", "exhausted" : "2" } - } ] + } ], + "threshold" : "13" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "2", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Candidate A Name" : "8", @@ -43,6 +64,14 @@ "tallyResults" : [ { "elected" : "Candidate B Name", "transfers" : { } - } ] - } ] + } ], + "threshold" : "12" + } ], + "summary" : { + "finalThreshold" : "12", + "numCandidates" : 4, + "numWinners" : 1, + "totalNumBallots" : "24", + "undervotes" : 0 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_allow_only_one_winner_per_round/test_set_allow_only_one_winner_per_round_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/test_set_allow_only_one_winner_per_round/test_set_allow_only_one_winner_per_round_expected_summary.csv index 152993371..f3c383ad3 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_allow_only_one_winner_per_round/test_set_allow_only_one_winner_per_round_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_allow_only_one_winner_per_round/test_set_allow_only_one_winner_per_round_expected_summary.csv @@ -1,16 +1,32 @@ -Contest,Allow Only One Winner per Round Test -Jurisdiction, -Office, -Date,2019-01-18 -Winner(s),"A, B, C" -Threshold,2.2501 - -Rounds,Round 1,Round 2,Round 3,Round 4 -Eliminated,,,, -Elected,A,B,C, -A,3,2.2501,2.2501,2.2501 -B,3,3.7497,2.2501,2.2501 -C,3,3,4.4994,2.2501 -D,0,0,0,2.0994 -Inactive ballots,0,0.0000,0.0000,0.1497 -Residual surplus,0,0.0002,0.0004,0.0006 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Multi-Winner +Contest,Allow Only One Winner per Round Test +Jurisdiction, +Office, +Date,2019-01-18 +Winner(s),"A, B, C" +Final Threshold,2.2501 + +Contest Summary +Number to be Elected,3 +Number of Candidates,4 +Total Number of Ballots,9 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer +Eliminated,,,,,,,,,,,, +Elected,A,,,B,,,C,,,,, +A,3,33.33%,-0.7499,2.2501,33.33%,0.0000,2.2501,50.0%,0.0000,2.2501,107.17%,0 +B,3,33.33%,0.7497,3.7497,55.55%,-1.4996,2.2501,50.0%,0.0000,2.2501,107.17%,0 +C,3,33.33%,0,3,44.44%,1.4994,4.4994,100.0%,-2.2493,2.2501,107.17%,0 +D,0,0.0%,0,0,0.0%,0,0,0.0%,2.0994,2.0994,100.0%,0 +Active Ballots,9,,,6.7497,,,4.4994,,,2.0994,, +Current Round Threshold,2.2501,,,2.2501,,,2.2501,,,2.2501,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0.1497,,0.1497,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,0,,0,0.1497,,0.1497,0, +Residual surplus,0,,,0.0002,,,0.0004,,,0.0006,, diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_allow_only_one_winner_per_round/test_set_allow_only_one_winner_per_round_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/test_set_allow_only_one_winner_per_round/test_set_allow_only_one_winner_per_round_expected_summary.json index f67fb54ee..217259046 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_allow_only_one_winner_per_round/test_set_allow_only_one_winner_per_round_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_allow_only_one_winner_per_round/test_set_allow_only_one_winner_per_round_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Allow Only One Winner per Round Test", "date" : "2019-01-18", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "2.2501" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "A" : "3", @@ -20,8 +27,15 @@ "B" : "0.7497", "residual surplus" : "0.0002" } - } ] + } ], + "threshold" : "2.2501" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "A" : "2.2501", @@ -35,8 +49,15 @@ "C" : "1.4994", "residual surplus" : "0.0002" } - } ] + } ], + "threshold" : "2.2501" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "A" : "2.2501", @@ -51,8 +72,15 @@ "exhausted" : "0.1497", "residual surplus" : "0.0002" } - } ] + } ], + "threshold" : "2.2501" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0.1497", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "A" : "2.2501", @@ -60,6 +88,14 @@ "C" : "2.2501", "D" : "2.0994" }, - "tallyResults" : [ ] - } ] -} + "tallyResults" : [ ], + "threshold" : "2.2501" + } ], + "summary" : { + "finalThreshold" : "2.2501", + "numCandidates" : 4, + "numWinners" : 3, + "totalNumBallots" : "9", + "undervotes" : 0 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_multi_winner_fractional_threshold/test_set_multi_winner_fractional_threshold_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/test_set_multi_winner_fractional_threshold/test_set_multi_winner_fractional_threshold_expected_summary.csv index d6eb6426d..f5f717b5c 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_multi_winner_fractional_threshold/test_set_multi_winner_fractional_threshold_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_multi_winner_fractional_threshold/test_set_multi_winner_fractional_threshold_expected_summary.csv @@ -1,18 +1,34 @@ -Contest,test set multi winner fractional -Jurisdiction,Multi-winner -Office,Multi_winner2 -Date,2019-01-18 -Winner(s),"Candidate C Name, Candidate A Name, Candidate B Name" -Threshold,7.2501 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6 -Eliminated,Candidate D Name,,Candidate F Name,Candidate E Name,, -Elected,,Candidate C Name,,,Candidate A Name; Candidate B Name, -Candidate C Name,7,8,7.2501,7.2501,7.2501,7.2501 -Candidate A Name,6,6,6,7,10.2811,7.2501 -Candidate E Name,6,6,6.6559,6.6559,0,0 -Candidate B Name,5,5,5,7.0937,10.0937,7.2501 -Candidate F Name,3,3,3.0937,0,0,0 -Candidate D Name,2,0,0,0,0,0 -Inactive ballots,1,2,2.0000,2.0000,2.3748,8.2489 -Residual surplus,0,0,0.0003,0.0003,0.0003,0.0008 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Multi-Winner +Contest,test set multi winner fractional +Jurisdiction,Multi-winner +Office,Multi_winner2 +Date,2019-01-18 +Winner(s),"Candidate C Name, Candidate A Name, Candidate B Name" +Final Threshold,7.2501 + +Contest Summary +Number to be Elected,3 +Number of Candidates,6 +Total Number of Ballots,30 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer +Eliminated,Candidate D Name,,,,,,Candidate F Name,,,Candidate E Name,,,,,,,, +Elected,,,,Candidate C Name,,,,,,,,,Candidate A Name; Candidate B Name,,,,, +Candidate C Name,7,24.13%,1,8,28.57%,-0.7499,7.2501,34.94%,0.0000,7.2501,34.94%,0.0000,7.2501,35.58%,0.0000,7.2501,,0 +Candidate A Name,6,20.68%,0,6,21.42%,0,6,28.91%,1,7,33.73%,3.2811,10.2811,50.45%,-3.0310,7.2501,,0 +Candidate E Name,6,20.68%,0,6,21.42%,0.6559,6.6559,32.07%,0.0000,6.6559,32.07%,-6.6559,0,0.0%,0,0,,0 +Candidate B Name,5,17.24%,0,5,17.85%,0,5,24.09%,2.0937,7.0937,34.18%,3.0000,10.0937,49.54%,-2.8436,7.2501,,0 +Candidate F Name,3,10.34%,0,3,10.71%,0.0937,3.0937,14.9%,-3.0937,0,0.0%,0,0,0.0%,0,0,,0 +Candidate D Name,2,6.89%,-2,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,,0 +Active Ballots,29,,,28,,,20.7496,,,20.7496,,,20.3748,,,0,, +Current Round Threshold,7.2501,,,7.2501,,,7.2501,,,7.2501,,,7.2501,,,7.2501,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,1,1,,2,0,,2,0,,2,0.1874,,2.1874,0.8582,,3.0456,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,0,,0,3.8760,,3.8760,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,1,1,,2,0,,2,0,,2,0.3748,,2.3748,5.8741,,8.2489,0, +Residual surplus,0,,,0,,,0.0003,,,0.0003,,,0.0003,,,0.0008,, diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_multi_winner_fractional_threshold/test_set_multi_winner_fractional_threshold_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/test_set_multi_winner_fractional_threshold/test_set_multi_winner_fractional_threshold_expected_summary.json index 3b8b6dba9..bfc3ec219 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_multi_winner_fractional_threshold/test_set_multi_winner_fractional_threshold_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_multi_winner_fractional_threshold/test_set_multi_winner_fractional_threshold_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "test set multi winner fractional", "date" : "2019-01-18", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Multi-winner", - "office" : "Multi_winner2", - "threshold" : "7.2501" + "office" : "Multi_winner2" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "1" + }, "round" : 1, "tally" : { "Candidate A Name" : "6", @@ -22,8 +29,15 @@ "Candidate C Name" : "1", "exhausted" : "1" } - } ] + } ], + "threshold" : "7.2501" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "2" + }, "round" : 2, "tally" : { "Candidate A Name" : "6", @@ -39,8 +53,15 @@ "Candidate F Name" : "0.0937", "residual surplus" : "0.0003" } - } ] + } ], + "threshold" : "7.2501" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "2" + }, "round" : 3, "tally" : { "Candidate A Name" : "6", @@ -55,8 +76,15 @@ "Candidate A Name" : "1", "Candidate B Name" : "2.0937" } - } ] + } ], + "threshold" : "7.2501" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "2" + }, "round" : 4, "tally" : { "Candidate A Name" : "7", @@ -71,8 +99,15 @@ "Candidate B Name" : "3", "exhausted" : "0.3748" } - } ] + } ], + "threshold" : "7.2501" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "2.1874" + }, "round" : 5, "tally" : { "Candidate A Name" : "10.2811", @@ -91,14 +126,29 @@ "exhausted" : "2.8433", "residual surplus" : "0.0003" } - } ] + } ], + "threshold" : "7.2501" }, { + "inactiveBallots" : { + "exhaustedChoices" : "3.8760", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "3.0456" + }, "round" : 6, "tally" : { "Candidate A Name" : "7.2501", "Candidate B Name" : "7.2501", "Candidate C Name" : "7.2501" }, - "tallyResults" : [ ] - } ] + "tallyResults" : [ ], + "threshold" : "7.2501" + } ], + "summary" : { + "finalThreshold" : "7.2501", + "numCandidates" : 6, + "numWinners" : 3, + "totalNumBallots" : "30", + "undervotes" : 0 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_multi_winner_whole_threshold/test_set_multi_winner_whole_threshold_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/test_set_multi_winner_whole_threshold/test_set_multi_winner_whole_threshold_expected_summary.csv index 3b85df21d..1437d4c3d 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_multi_winner_whole_threshold/test_set_multi_winner_whole_threshold_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_multi_winner_whole_threshold/test_set_multi_winner_whole_threshold_expected_summary.csv @@ -1,18 +1,34 @@ -Contest,test set multi winner whole -Jurisdiction,Multi-winner -Office,Multi_winner2 -Date,2019-01-18 -Winner(s),"Candidate C Name, Candidate A Name, Candidate B Name" -Threshold,8 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6 -Eliminated,,Candidate D Name,Candidate F Name,Candidate E Name,, -Elected,Candidate C Name,,,,Candidate A Name; Candidate B Name, -Candidate C Name,9,8,8,8,8,8 -Candidate A Name,6,6,6,7.1111,10.3333,8 -Candidate B Name,5,5,5,7.1111,9.2222,8 -Candidate E Name,4,4.7777,5.7777,5.7777,0,0 -Candidate F Name,3,3.1111,3.2222,0,0,0 -Candidate D Name,2,2.1111,0,0,0,0 -Inactive ballots,1,1.0000,2.0000,2.0000,2.4444,5.9993 -Residual surplus,0,0.0001,0.0001,0.0001,0.0001,0.0007 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Multi-Winner +Contest,test set multi winner whole +Jurisdiction,Multi-winner +Office,Multi_winner2 +Date,2019-01-18 +Winner(s),"Candidate C Name, Candidate A Name, Candidate B Name" +Final Threshold,8 + +Contest Summary +Number to be Elected,3 +Number of Candidates,6 +Total Number of Ballots,30 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer +Eliminated,,,,Candidate D Name,,,Candidate F Name,,,Candidate E Name,,,,,,,, +Elected,Candidate C Name,,,,,,,,,,,,Candidate A Name; Candidate B Name,,,,, +Candidate C Name,9,31.03%,-1,8,38.09%,0,8,40.0%,0,8,40.0%,0,8,40.9%,0,8,,0 +Candidate A Name,6,20.68%,0,6,28.57%,0,6,30.0%,1.1111,7.1111,35.55%,3.2222,10.3333,52.84%,-2.3333,8,,0 +Candidate B Name,5,17.24%,0,5,23.8%,0,5,25.0%,2.1111,7.1111,35.55%,2.1111,9.2222,47.15%,-1.2222,8,,0 +Candidate E Name,4,13.79%,0.7777,4.7777,22.75%,1.0000,5.7777,28.88%,0.0000,5.7777,28.88%,-5.7777,0,0.0%,0,0,,0 +Candidate F Name,3,10.34%,0.1111,3.1111,14.81%,0.1111,3.2222,16.11%,-3.2222,0,0.0%,0,0,0.0%,0,0,,0 +Candidate D Name,2,6.89%,0.1111,2.1111,10.05%,-2.1111,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,,0 +Active Ballots,29,,,20.9999,,,19.9999,,,19.9999,,,19.5555,,,0,, +Current Round Threshold,8,,,8,,,8,,,8,,,8,,,8,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,1,0,,1,1,,2,0,,2,0.2222,,2.2222,0.4908,,2.7130,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,0,,0,2.4408,,2.4408,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,1,0,,1,1,,2,0,,2,0.4444,,2.4444,3.5549,,5.9993,0, +Residual surplus,0,,,0.0001,,,0.0001,,,0.0001,,,0.0001,,,0.0007,, diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_multi_winner_whole_threshold/test_set_multi_winner_whole_threshold_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/test_set_multi_winner_whole_threshold/test_set_multi_winner_whole_threshold_expected_summary.json index 67a548518..f7803480b 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_multi_winner_whole_threshold/test_set_multi_winner_whole_threshold_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_multi_winner_whole_threshold/test_set_multi_winner_whole_threshold_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "test set multi winner whole", "date" : "2019-01-18", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Multi-winner", - "office" : "Multi_winner2", - "threshold" : "8" + "office" : "Multi_winner2" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "1" + }, "round" : 1, "tally" : { "Candidate A Name" : "6", @@ -24,8 +31,15 @@ "Candidate F Name" : "0.1111", "residual surplus" : "0.0001" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "1" + }, "round" : 2, "tally" : { "Candidate A Name" : "6", @@ -42,8 +56,15 @@ "Candidate F Name" : "0.1111", "exhausted" : "1" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "2" + }, "round" : 3, "tally" : { "Candidate A Name" : "6", @@ -58,8 +79,15 @@ "Candidate A Name" : "1.1111", "Candidate B Name" : "2.1111" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "2" + }, "round" : 4, "tally" : { "Candidate A Name" : "7.1111", @@ -74,8 +102,15 @@ "Candidate B Name" : "2.1111", "exhausted" : "0.4444" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "2.2222" + }, "round" : 5, "tally" : { "Candidate A Name" : "10.3333", @@ -94,14 +129,29 @@ "exhausted" : "1.2219", "residual surplus" : "0.0003" } - } ] + } ], + "threshold" : "8" }, { + "inactiveBallots" : { + "exhaustedChoices" : "2.4408", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "2.7130" + }, "round" : 6, "tally" : { "Candidate A Name" : "8", "Candidate B Name" : "8", "Candidate C Name" : "8" }, - "tallyResults" : [ ] - } ] + "tallyResults" : [ ], + "threshold" : "8" + } ], + "summary" : { + "finalThreshold" : "8", + "numCandidates" : 6, + "numWinners" : 3, + "totalNumBallots" : "30", + "undervotes" : 0 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_overvote_delimiter/test_set_overvote_delimiter_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/test_set_overvote_delimiter/test_set_overvote_delimiter_expected_summary.csv index 2a6080533..63810e3e6 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_overvote_delimiter/test_set_overvote_delimiter_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_overvote_delimiter/test_set_overvote_delimiter_expected_summary.csv @@ -1,15 +1,31 @@ -Contest,Overvote Delimiter Test -Jurisdiction, -Office, -Date,2020-08-23 -Winner(s),A -Threshold,5 - -Rounds,Round 1,Round 2,Round 3 -Eliminated,D,C, -Elected,,,A -A,3,3,5 -B,3,3,3 -C,2,2,0 -D,1,0,0 -Inactive ballots,0,1,1 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Overvote Delimiter Test +Jurisdiction, +Office, +Date,2020-08-23 +Winner(s),A +Final Threshold,5 + +Contest Summary +Number to be Elected,1 +Number of Candidates,4 +Total Number of Ballots,9 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer +Eliminated,D,,,C,,,,, +Elected,,,,,,,A,, +A,3,33.33%,0,3,37.5%,2,5,62.5%,0 +B,3,33.33%,0,3,37.5%,0,3,37.5%,0 +C,2,22.22%,0,2,25.0%,-2,0,0.0%,0 +D,1,11.11%,-1,0,0.0%,0,0,0.0%,0 +Active Ballots,9,,,8,,,8,, +Current Round Threshold,5,,,5,,,5,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0, +Inactive Ballots Total,0,1,,1,0,,1,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_overvote_delimiter/test_set_overvote_delimiter_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/test_set_overvote_delimiter/test_set_overvote_delimiter_expected_summary.json index 39876f93e..a1693be1f 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_overvote_delimiter/test_set_overvote_delimiter_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_overvote_delimiter/test_set_overvote_delimiter_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Overvote Delimiter Test", "date" : "2020-08-23", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "5" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "A" : "3", @@ -19,8 +26,15 @@ "transfers" : { "exhausted" : "1" } - } ] + } ], + "threshold" : "5" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "A" : "3", @@ -32,8 +46,15 @@ "transfers" : { "A" : "2" } - } ] + } ], + "threshold" : "5" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "A" : "5", @@ -42,6 +63,14 @@ "tallyResults" : [ { "elected" : "A", "transfers" : { } - } ] - } ] + } ], + "threshold" : "5" + } ], + "summary" : { + "finalThreshold" : "5", + "numCandidates" : 4, + "numWinners" : 1, + "totalNumBallots" : "9", + "undervotes" : 0 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_treat_blank_as_undeclared_write_in/test_set_treat_blank_as_undeclared_write_in_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/test_set_treat_blank_as_undeclared_write_in/test_set_treat_blank_as_undeclared_write_in_expected_summary.csv index 1efe34064..b6afcf86f 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_treat_blank_as_undeclared_write_in/test_set_treat_blank_as_undeclared_write_in_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_treat_blank_as_undeclared_write_in/test_set_treat_blank_as_undeclared_write_in_expected_summary.csv @@ -1,16 +1,32 @@ -Contest,treatBlankAsUndeclaredWriteIn test -Jurisdiction, -Office, -Date,2019-03-06 -Winner(s),B -Threshold,5 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5 -Eliminated,Undeclared Write-ins,D,A,C, -Elected,,,,,B -A,2,3,3,0,0 -B,2,4,5,6,9 -C,2,4,4,6,0 -D,1,1,0,0,0 -Undeclared Write-ins,5,0,0,0,0 -Inactive ballots,0,0,0,0,3 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,treatBlankAsUndeclaredWriteIn test +Jurisdiction, +Office, +Date,2019-03-06 +Winner(s),B +Final Threshold,5 + +Contest Summary +Number to be Elected,1 +Number of Candidates,5 +Total Number of Ballots,12 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,D,,,A,,,C,,,,, +Elected,,,,,,,,,,,,,B,, +A,2,16.66%,1,3,25.0%,0,3,25.0%,-3,0,0.0%,0,0,0.0%,0 +B,2,16.66%,2,4,33.33%,1,5,41.66%,1,6,50.0%,3,9,100.0%,0 +C,2,16.66%,2,4,33.33%,0,4,33.33%,2,6,50.0%,-6,0,0.0%,0 +D,1,8.33%,0,1,8.33%,-1,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,5,41.66%,-5,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,12,,,12,,,12,,,12,,,9,, +Current Round Threshold,7,,,7,,,7,,,7,,,5,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,1,,1,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,2,,2,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,0,,0,0,,0,3,,3,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/test_set_treat_blank_as_undeclared_write_in/test_set_treat_blank_as_undeclared_write_in_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/test_set_treat_blank_as_undeclared_write_in/test_set_treat_blank_as_undeclared_write_in_expected_summary.json index fa5740109..25e4d0b47 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/test_set_treat_blank_as_undeclared_write_in/test_set_treat_blank_as_undeclared_write_in_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/test_set_treat_blank_as_undeclared_write_in/test_set_treat_blank_as_undeclared_write_in_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "treatBlankAsUndeclaredWriteIn test", "date" : "2019-03-06", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "5" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "A" : "2", @@ -22,8 +29,15 @@ "B" : "2", "C" : "2" } - } ] + } ], + "threshold" : "7" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "A" : "3", @@ -36,8 +50,15 @@ "transfers" : { "B" : "1" } - } ] + } ], + "threshold" : "7" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "A" : "3", @@ -50,8 +71,15 @@ "B" : "1", "C" : "2" } - } ] + } ], + "threshold" : "7" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "B" : "6", @@ -63,8 +91,15 @@ "B" : "3", "exhausted" : "3" } - } ] + } ], + "threshold" : "7" }, { + "inactiveBallots" : { + "exhaustedChoices" : "2", + "overvotes" : "1", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "B" : "9" @@ -72,6 +107,14 @@ "tallyResults" : [ { "elected" : "B", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "5" + } ], + "summary" : { + "finalThreshold" : "5", + "numCandidates" : 5, + "numWinners" : 1, + "totalNumBallots" : "12", + "undervotes" : 0 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/tiebreak_generate_permutation_test/tiebreak_generate_permutation_test_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/tiebreak_generate_permutation_test/tiebreak_generate_permutation_test_expected_summary.csv index 099986a70..e1ab234b3 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/tiebreak_generate_permutation_test/tiebreak_generate_permutation_test_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/tiebreak_generate_permutation_test/tiebreak_generate_permutation_test_expected_summary.csv @@ -1,15 +1,31 @@ -Contest,Tiebreak test -Jurisdiction,"Funkytown, USA" -Office,Sergeant-at-Arms -Date,2017-12-03 -Winner(s),George Gervin -Threshold,2 - -Rounds,Round 1,Round 2,Round 3,Round 4 -Eliminated,Mookie Blaylock,Yinka Dare,Sedale Threatt, -Elected,,,,George Gervin -Sedale Threatt,2,2,2,0 -Yinka Dare,2,2,0,0 -George Gervin,2,2,2,2 -Mookie Blaylock,2,0,0,0 -Inactive ballots,0,2,4,6 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Tiebreak test +Jurisdiction,"Funkytown, USA" +Office,Sergeant-at-Arms +Date,2017-12-03 +Winner(s),George Gervin +Final Threshold,2 + +Contest Summary +Number to be Elected,1 +Number of Candidates,4 +Total Number of Ballots,8 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer +Eliminated,Mookie Blaylock,,,Yinka Dare,,,Sedale Threatt,,,,, +Elected,,,,,,,,,,George Gervin,, +Sedale Threatt,2,25.0%,0,2,33.33%,0,2,50.0%,-2,0,0.0%,0 +Yinka Dare,2,25.0%,0,2,33.33%,-2,0,0.0%,0,0,0.0%,0 +George Gervin,2,25.0%,0,2,33.33%,0,2,50.0%,0,2,100.0%,0 +Mookie Blaylock,2,25.0%,-2,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,8,,,6,,,4,,,2,, +Current Round Threshold,5,,,4,,,3,,,2,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,2,,2,2,,4,2,,6,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,0,2,,2,2,,4,2,,6,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/tiebreak_generate_permutation_test/tiebreak_generate_permutation_test_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/tiebreak_generate_permutation_test/tiebreak_generate_permutation_test_expected_summary.json index 80c9a005b..5dac64a79 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/tiebreak_generate_permutation_test/tiebreak_generate_permutation_test_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/tiebreak_generate_permutation_test/tiebreak_generate_permutation_test_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Tiebreak test", "date" : "2017-12-03", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Funkytown, USA", - "office" : "Sergeant-at-Arms", - "threshold" : "2" + "office" : "Sergeant-at-Arms" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "George Gervin" : "2", @@ -19,8 +26,15 @@ "transfers" : { "exhausted" : "2" } - } ] + } ], + "threshold" : "5" }, { + "inactiveBallots" : { + "exhaustedChoices" : "2", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "George Gervin" : "2", @@ -32,8 +46,15 @@ "transfers" : { "exhausted" : "2" } - } ] + } ], + "threshold" : "4" }, { + "inactiveBallots" : { + "exhaustedChoices" : "4", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "George Gervin" : "2", @@ -44,8 +65,15 @@ "transfers" : { "exhausted" : "2" } - } ] + } ], + "threshold" : "3" }, { + "inactiveBallots" : { + "exhaustedChoices" : "6", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "George Gervin" : "2" @@ -53,6 +81,14 @@ "tallyResults" : [ { "elected" : "George Gervin", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "2" + } ], + "summary" : { + "finalThreshold" : "2", + "numCandidates" : 4, + "numWinners" : 1, + "totalNumBallots" : "8", + "undervotes" : 0 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/tiebreak_previous_round_counts_then_random_test/tiebreak_previous_round_counts_then_random_test_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/tiebreak_previous_round_counts_then_random_test/tiebreak_previous_round_counts_then_random_test_expected_summary.csv index 48da06373..282007c74 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/tiebreak_previous_round_counts_then_random_test/tiebreak_previous_round_counts_then_random_test_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/tiebreak_previous_round_counts_then_random_test/tiebreak_previous_round_counts_then_random_test_expected_summary.csv @@ -1,15 +1,31 @@ -Contest,Tiebreak test -Jurisdiction,"Funkytown, USA" -Office,Sergeant-at-Arms -Date,2017-12-03 -Winner(s),Dopey -Threshold,2 - -Rounds,Round 1,Round 2,Round 3,Round 4 -Eliminated,Happy,Grumpy,Sneezy, -Elected,,,,Dopey -Sneezy,3,3,3,0 -Dopey,3,3,3,3 -Grumpy,2,3,0,0 -Happy,1,0,0,0 -Inactive ballots,0,0,3,6 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Tiebreak test +Jurisdiction,"Funkytown, USA" +Office,Sergeant-at-Arms +Date,2017-12-03 +Winner(s),Dopey +Final Threshold,2 + +Contest Summary +Number to be Elected,1 +Number of Candidates,4 +Total Number of Ballots,9 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer +Eliminated,Happy,,,Grumpy,,,Sneezy,,,,, +Elected,,,,,,,,,,Dopey,, +Sneezy,3,33.33%,0,3,33.33%,0,3,50.0%,-3,0,0.0%,0 +Dopey,3,33.33%,0,3,33.33%,0,3,50.0%,0,3,100.0%,0 +Grumpy,2,22.22%,1,3,33.33%,-3,0,0.0%,0,0,0.0%,0 +Happy,1,11.11%,-1,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,9,,,9,,,6,,,3,, +Current Round Threshold,5,,,5,,,4,,,2,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,3,,3,3,,6,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/tiebreak_previous_round_counts_then_random_test/tiebreak_previous_round_counts_then_random_test_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/tiebreak_previous_round_counts_then_random_test/tiebreak_previous_round_counts_then_random_test_expected_summary.json index bde04bf4b..4a39fd634 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/tiebreak_previous_round_counts_then_random_test/tiebreak_previous_round_counts_then_random_test_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/tiebreak_previous_round_counts_then_random_test/tiebreak_previous_round_counts_then_random_test_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Tiebreak test", "date" : "2017-12-03", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Funkytown, USA", - "office" : "Sergeant-at-Arms", - "threshold" : "2" + "office" : "Sergeant-at-Arms" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Dopey" : "3", @@ -19,8 +26,15 @@ "transfers" : { "Grumpy" : "1" } - } ] + } ], + "threshold" : "5" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Dopey" : "3", @@ -32,8 +46,15 @@ "transfers" : { "exhausted" : "3" } - } ] + } ], + "threshold" : "5" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Dopey" : "3", @@ -44,8 +65,15 @@ "transfers" : { "exhausted" : "3" } - } ] + } ], + "threshold" : "4" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "Dopey" : "3" @@ -53,6 +81,14 @@ "tallyResults" : [ { "elected" : "Dopey", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "2" + } ], + "summary" : { + "finalThreshold" : "2", + "numCandidates" : 4, + "numWinners" : 1, + "totalNumBallots" : "9", + "undervotes" : 0 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/tiebreak_seed_test/tiebreak_seed_test_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/tiebreak_seed_test/tiebreak_seed_test_expected_summary.csv index ac61dbf6c..ab75854a3 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/tiebreak_seed_test/tiebreak_seed_test_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/tiebreak_seed_test/tiebreak_seed_test_expected_summary.csv @@ -1,14 +1,30 @@ -Contest,Tiebreak test -Jurisdiction,"Funkytown, USA" -Office,Sergeant-at-Arms -Date,2017-12-03 -Winner(s),Mookie Blaylock -Threshold,2 - -Rounds,Round 1,Round 2,Round 3 -Eliminated,Yinka Dare,George Gervin, -Elected,,,Mookie Blaylock -Yinka Dare,3,0,0 -George Gervin,3,3,0 -Mookie Blaylock,3,3,3 -Inactive ballots,0,3,6 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Tiebreak test +Jurisdiction,"Funkytown, USA" +Office,Sergeant-at-Arms +Date,2017-12-03 +Winner(s),Mookie Blaylock +Final Threshold,2 + +Contest Summary +Number to be Elected,1 +Number of Candidates,3 +Total Number of Ballots,9 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer +Eliminated,Yinka Dare,,,George Gervin,,,,, +Elected,,,,,,,Mookie Blaylock,, +Yinka Dare,3,33.33%,-3,0,0.0%,0,0,0.0%,0 +George Gervin,3,33.33%,0,3,50.0%,-3,0,0.0%,0 +Mookie Blaylock,3,33.33%,0,3,50.0%,0,3,100.0%,0 +Active Ballots,9,,,6,,,3,, +Current Round Threshold,5,,,4,,,2,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0, +Inactive Ballots Total,0,3,,3,3,,6,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/tiebreak_seed_test/tiebreak_seed_test_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/tiebreak_seed_test/tiebreak_seed_test_expected_summary.json index 122f0c207..baf42cfd2 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/tiebreak_seed_test/tiebreak_seed_test_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/tiebreak_seed_test/tiebreak_seed_test_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Tiebreak test", "date" : "2017-12-03", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Funkytown, USA", - "office" : "Sergeant-at-Arms", - "threshold" : "2" + "office" : "Sergeant-at-Arms" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "George Gervin" : "3", @@ -18,8 +25,15 @@ "transfers" : { "exhausted" : "3" } - } ] + } ], + "threshold" : "5" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "George Gervin" : "3", @@ -30,8 +44,15 @@ "transfers" : { "exhausted" : "3" } - } ] + } ], + "threshold" : "4" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Mookie Blaylock" : "3" @@ -39,6 +60,14 @@ "tallyResults" : [ { "elected" : "Mookie Blaylock", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "2" + } ], + "summary" : { + "finalThreshold" : "2", + "numCandidates" : 3, + "numWinners" : 1, + "totalNumBallots" : "9", + "undervotes" : 0 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/tiebreak_use_permutation_in_config_test/tiebreak_use_permutation_in_config_test_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/tiebreak_use_permutation_in_config_test/tiebreak_use_permutation_in_config_test_expected_summary.csv index ae3fcfd6c..c5da73139 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/tiebreak_use_permutation_in_config_test/tiebreak_use_permutation_in_config_test_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/tiebreak_use_permutation_in_config_test/tiebreak_use_permutation_in_config_test_expected_summary.csv @@ -1,15 +1,31 @@ -Contest,Tiebreak test -Jurisdiction,"Funkytown, USA" -Office,Sergeant-at-Arms -Date,2017-12-03 -Winner(s),Mookie Blaylock -Threshold,3 - -Rounds,Round 1,Round 2,Round 3,Round 4 -Eliminated,Sedale Threatt,George Gervin,Yinka Dare, -Elected,,,,Mookie Blaylock -Mookie Blaylock,4,4,4,4 -Yinka Dare,3,3,4,0 -George Gervin,2,3,0,0 -Sedale Threatt,1,0,0,0 -Inactive ballots,0,0,2,6 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,Tiebreak test +Jurisdiction,"Funkytown, USA" +Office,Sergeant-at-Arms +Date,2017-12-03 +Winner(s),Mookie Blaylock +Final Threshold,3 + +Contest Summary +Number to be Elected,1 +Number of Candidates,4 +Total Number of Ballots,10 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer +Eliminated,Sedale Threatt,,,George Gervin,,,Yinka Dare,,,,, +Elected,,,,,,,,,,Mookie Blaylock,, +Mookie Blaylock,4,40.0%,0,4,40.0%,0,4,50.0%,0,4,100.0%,0 +Yinka Dare,3,30.0%,0,3,30.0%,1,4,50.0%,-4,0,0.0%,0 +George Gervin,2,20.0%,1,3,30.0%,-3,0,0.0%,0,0,0.0%,0 +Sedale Threatt,1,10.0%,-1,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,10,,,10,,,8,,,4,, +Current Round Threshold,6,,,6,,,5,,,3,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,2,,2,4,,6,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/tiebreak_use_permutation_in_config_test/tiebreak_use_permutation_in_config_test_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/tiebreak_use_permutation_in_config_test/tiebreak_use_permutation_in_config_test_expected_summary.json index 681077af3..3e2babe8b 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/tiebreak_use_permutation_in_config_test/tiebreak_use_permutation_in_config_test_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/tiebreak_use_permutation_in_config_test/tiebreak_use_permutation_in_config_test_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "Tiebreak test", "date" : "2017-12-03", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "Funkytown, USA", - "office" : "Sergeant-at-Arms", - "threshold" : "3" + "office" : "Sergeant-at-Arms" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "George Gervin" : "2", @@ -19,8 +26,15 @@ "transfers" : { "George Gervin" : "1" } - } ] + } ], + "threshold" : "6" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "George Gervin" : "3", @@ -33,8 +47,15 @@ "Yinka Dare" : "1", "exhausted" : "2" } - } ] + } ], + "threshold" : "6" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Mookie Blaylock" : "4", @@ -45,8 +66,15 @@ "transfers" : { "exhausted" : "4" } - } ] + } ], + "threshold" : "5" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "Mookie Blaylock" : "4" @@ -54,6 +82,14 @@ "tallyResults" : [ { "elected" : "Mookie Blaylock", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "3" + } ], + "summary" : { + "finalThreshold" : "3", + "numCandidates" : 4, + "numWinners" : 1, + "totalNumBallots" : "10", + "undervotes" : 0 + } +} \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_chief_of_police/unisyn_xml_cdf_city_chief_of_police_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_chief_of_police/unisyn_xml_cdf_city_chief_of_police_expected_summary.csv index 460a0008e..77fa139b1 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_chief_of_police/unisyn_xml_cdf_city_chief_of_police_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_chief_of_police/unisyn_xml_cdf_city_chief_of_police_expected_summary.csv @@ -1,19 +1,35 @@ -Contest,For City C Chief of Police (1/3) -Jurisdiction, -Office, -Date,2019-03-06 -Winner(s),Ivan Hillerman -Threshold,13 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6,Round 7 -Eliminated,Undeclared Write-ins,MaryAnn Wilson,Emily Stevens,Jessie James,Randy Carlson,Sandra Berringer, -Elected,,,,,,,Ivan Hillerman -Randy Carlson,6,6,6,6,6,0,0 -Kenneth Parker,5,5,7,7,9,10,12 -Sandra Berringer,5,5,5,5,7,7,0 -Ivan Hillerman,4,4,4,6,7,12,13 -Jessie James,3,3,4,5,0,0,0 -MaryAnn Wilson,3,3,0,0,0,0,0 -Emily Stevens,3,3,3,0,0,0,0 -Undeclared Write-ins,0,0,0,0,0,0,0 -Inactive ballots,6,6,6,6,6,6,10 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,For City C Chief of Police (1/3) +Jurisdiction, +Office, +Date,2019-03-06 +Winner(s),Ivan Hillerman +Final Threshold,13 + +Contest Summary +Number to be Elected,1 +Number of Candidates,8 +Total Number of Ballots,35 +Number of Undervotes,6 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer,Round 7 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,MaryAnn Wilson,,,Emily Stevens,,,Jessie James,,,Randy Carlson,,,Sandra Berringer,,,,, +Elected,,,,,,,,,,,,,,,,,,,Ivan Hillerman,, +Randy Carlson,6,20.68%,0,6,20.68%,0,6,20.68%,0,6,20.68%,0,6,20.68%,-6,0,0.0%,0,0,0.0%,0 +Kenneth Parker,5,17.24%,0,5,17.24%,2,7,24.13%,0,7,24.13%,2,9,31.03%,1,10,34.48%,2,12,48.0%,0 +Sandra Berringer,5,17.24%,0,5,17.24%,0,5,17.24%,0,5,17.24%,2,7,24.13%,0,7,24.13%,-7,0,0.0%,0 +Ivan Hillerman,4,13.79%,0,4,13.79%,0,4,13.79%,2,6,20.68%,1,7,24.13%,5,12,41.37%,1,13,52.0%,0 +Jessie James,3,10.34%,0,3,10.34%,1,4,13.79%,1,5,17.24%,-5,0,0.0%,0,0,0.0%,0,0,0.0%,0 +MaryAnn Wilson,3,10.34%,0,3,10.34%,-3,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Emily Stevens,3,10.34%,0,3,10.34%,0,3,10.34%,-3,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,29,,,29,,,29,,,29,,,29,,,29,,,25,, +Current Round Threshold,15,,,15,,,15,,,15,,,15,,,15,,,13,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,0,,0,0,,0,4,,4,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,0,,0,0,,0,0,,0,0,,0,4,,4,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_chief_of_police/unisyn_xml_cdf_city_chief_of_police_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_chief_of_police/unisyn_xml_cdf_city_chief_of_police_expected_summary.json index 0d3e651df..3e944fbd4 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_chief_of_police/unisyn_xml_cdf_city_chief_of_police_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_chief_of_police/unisyn_xml_cdf_city_chief_of_police_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "For City C Chief of Police (1/3)", "date" : "2019-03-06", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "13" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Emily Stevens" : "3", @@ -21,8 +28,15 @@ "tallyResults" : [ { "eliminated" : "Undeclared Write-ins", "transfers" : { } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Emily Stevens" : "3", @@ -39,8 +53,15 @@ "Jessie James" : "1", "Kenneth Parker" : "2" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Emily Stevens" : "3", @@ -56,8 +77,15 @@ "Ivan Hillerman" : "2", "Jessie James" : "1" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "Ivan Hillerman" : "6", @@ -73,8 +101,15 @@ "Kenneth Parker" : "2", "Sandra Berringer" : "2" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "Ivan Hillerman" : "7", @@ -88,8 +123,15 @@ "Ivan Hillerman" : "5", "Kenneth Parker" : "1" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 6, "tally" : { "Ivan Hillerman" : "12", @@ -103,8 +145,15 @@ "Kenneth Parker" : "2", "exhausted" : "4" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "4", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 7, "tally" : { "Ivan Hillerman" : "13", @@ -113,6 +162,14 @@ "tallyResults" : [ { "elected" : "Ivan Hillerman", "transfers" : { } - } ] - } ] + } ], + "threshold" : "13" + } ], + "summary" : { + "finalThreshold" : "13", + "numCandidates" : 8, + "numWinners" : 1, + "totalNumBallots" : "35", + "undervotes" : 6 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_coroner/unisyn_xml_cdf_city_coroner_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_coroner/unisyn_xml_cdf_city_coroner_expected_summary.csv index 8d756a89b..d6cadcac0 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_coroner/unisyn_xml_cdf_city_coroner_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_coroner/unisyn_xml_cdf_city_coroner_expected_summary.csv @@ -1,18 +1,34 @@ -Contest,For County Coroner (1/2) -Jurisdiction, -Office, -Date,2019-03-06 -Winner(s),Terry Halloran -Threshold,13 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6 -Eliminated,Undeclared Write-ins,Ullrike Winterhausen,Emily Van Zandt,Angela Thompson,Esteban Ferraro, -Elected,,,,,,Terry Halloran -Susan Brown,7,7,8,8,9,10 -Terry Halloran,6,7,7,8,10,14 -Esteban Ferraro,5,5,6,7,9,0 -Angela Thompson,4,4,5,6,0,0 -Ullrike Winterhausen,3,3,0,0,0,0 -Emily Van Zandt,3,3,3,0,0,0 -Undeclared Write-ins,1,0,0,0,0,0 -Inactive ballots,6,6,6,6,7,11 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,For County Coroner (1/2) +Jurisdiction, +Office, +Date,2019-03-06 +Winner(s),Terry Halloran +Final Threshold,13 + +Contest Summary +Number to be Elected,1 +Number of Candidates,7 +Total Number of Ballots,35 +Number of Undervotes,6 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,Ullrike Winterhausen,,,Emily Van Zandt,,,Angela Thompson,,,Esteban Ferraro,,,,, +Elected,,,,,,,,,,,,,,,,Terry Halloran,, +Susan Brown,7,24.13%,0,7,24.13%,1,8,27.58%,0,8,27.58%,1,9,32.14%,1,10,41.66%,0 +Terry Halloran,6,20.68%,1,7,24.13%,0,7,24.13%,1,8,27.58%,2,10,35.71%,4,14,58.33%,0 +Esteban Ferraro,5,17.24%,0,5,17.24%,1,6,20.68%,1,7,24.13%,2,9,32.14%,-9,0,0.0%,0 +Angela Thompson,4,13.79%,0,4,13.79%,1,5,17.24%,1,6,20.68%,-6,0,0.0%,0,0,0.0%,0 +Ullrike Winterhausen,3,10.34%,0,3,10.34%,-3,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Emily Van Zandt,3,10.34%,0,3,10.34%,0,3,10.34%,-3,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,1,3.44%,-1,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,29,,,29,,,29,,,29,,,28,,,24,, +Current Round Threshold,15,,,15,,,15,,,15,,,15,,,13,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,1,,1,4,,5,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,0,,0,0,,0,1,,1,4,,5,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_coroner/unisyn_xml_cdf_city_coroner_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_coroner/unisyn_xml_cdf_city_coroner_expected_summary.json index b1354abde..1b8c4a488 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_coroner/unisyn_xml_cdf_city_coroner_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_coroner/unisyn_xml_cdf_city_coroner_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "For County Coroner (1/2)", "date" : "2019-03-06", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "13" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Angela Thompson" : "4", @@ -22,8 +29,15 @@ "transfers" : { "Terry Halloran" : "1" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Angela Thompson" : "4", @@ -40,8 +54,15 @@ "Esteban Ferraro" : "1", "Susan Brown" : "1" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Angela Thompson" : "5", @@ -57,8 +78,15 @@ "Esteban Ferraro" : "1", "Terry Halloran" : "1" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "Angela Thompson" : "6", @@ -74,8 +102,15 @@ "Terry Halloran" : "2", "exhausted" : "1" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "1", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "Esteban Ferraro" : "9", @@ -89,8 +124,15 @@ "Terry Halloran" : "4", "exhausted" : "4" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "5", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 6, "tally" : { "Susan Brown" : "10", @@ -99,6 +141,14 @@ "tallyResults" : [ { "elected" : "Terry Halloran", "transfers" : { } - } ] - } ] + } ], + "threshold" : "13" + } ], + "summary" : { + "finalThreshold" : "13", + "numCandidates" : 7, + "numWinners" : 1, + "totalNumBallots" : "35", + "undervotes" : 6 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_council_member/unisyn_xml_cdf_city_council_member_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_council_member/unisyn_xml_cdf_city_council_member_expected_summary.csv index 9cf14a218..7026e2c29 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_council_member/unisyn_xml_cdf_city_council_member_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_council_member/unisyn_xml_cdf_city_council_member_expected_summary.csv @@ -1,20 +1,36 @@ -Contest,For City C Council Member (1/3) -Jurisdiction, -Office, -Date,2019-03-06 -Winner(s),Stephen Miller -Threshold,7 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6,Round 7,Round 8,Round 9 -Eliminated,Undeclared Write-ins,Sylvia Vaugn,Nolan Ryder,Carrie Underwood,Hal Newman,Fred Wallace,Lonnie Alsup,Terry Williams, -Elected,,,,,,,,,Stephen Miller -Stephen Miller,5,6,6,7,8,8,10,10,12 -Terry Williams,4,4,4,5,7,10,10,10,0 -Hal Newman,4,4,4,4,4,0,0,0,0 -Carrie Underwood,4,4,4,4,0,0,0,0,0 -Lonnie Alsup,4,4,4,4,5,6,7,0,0 -Fred Wallace,3,3,4,5,5,5,0,0,0 -Nolan Ryder,2,2,3,0,0,0,0,0,0 -Sylvia Vaugn,2,2,0,0,0,0,0,0,0 -Undeclared Write-ins,1,0,0,0,0,0,0,0,0 -Inactive ballots,6,6,6,6,6,6,8,15,23 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,For City C Council Member (1/3) +Jurisdiction, +Office, +Date,2019-03-06 +Winner(s),Stephen Miller +Final Threshold,7 + +Contest Summary +Number to be Elected,1 +Number of Candidates,9 +Total Number of Ballots,35 +Number of Undervotes,6 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer,Round 7 Votes,% of vote,transfer,Round 8 Votes,% of vote,transfer,Round 9 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,Sylvia Vaugn,,,Nolan Ryder,,,Carrie Underwood,,,Hal Newman,,,Fred Wallace,,,Lonnie Alsup,,,Terry Williams,,,,, +Elected,,,,,,,,,,,,,,,,,,,,,,,,,Stephen Miller,, +Stephen Miller,5,17.24%,1,6,20.68%,0,6,20.68%,1,7,24.13%,1,8,27.58%,0,8,27.58%,2,10,37.03%,0,10,50.0%,2,12,100.0%,0 +Terry Williams,4,13.79%,0,4,13.79%,0,4,13.79%,1,5,17.24%,2,7,24.13%,3,10,34.48%,0,10,37.03%,0,10,50.0%,-10,0,0.0%,0 +Hal Newman,4,13.79%,0,4,13.79%,0,4,13.79%,0,4,13.79%,0,4,13.79%,-4,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Carrie Underwood,4,13.79%,0,4,13.79%,0,4,13.79%,0,4,13.79%,-4,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Lonnie Alsup,4,13.79%,0,4,13.79%,0,4,13.79%,0,4,13.79%,1,5,17.24%,1,6,20.68%,1,7,25.92%,-7,0,0.0%,0,0,0.0%,0 +Fred Wallace,3,10.34%,0,3,10.34%,1,4,13.79%,1,5,17.24%,0,5,17.24%,0,5,17.24%,-5,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Nolan Ryder,2,6.89%,0,2,6.89%,1,3,10.34%,-3,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Sylvia Vaugn,2,6.89%,0,2,6.89%,-2,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,1,3.44%,-1,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,29,,,29,,,29,,,29,,,29,,,29,,,27,,,20,,,12,, +Current Round Threshold,15,,,15,,,15,,,15,,,15,,,15,,,14,,,11,,,7,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,0,,0,0,,0,2,,2,7,,9,8,,17,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,0,,0,0,,0,0,,0,0,,0,2,,2,7,,9,8,,17,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_council_member/unisyn_xml_cdf_city_council_member_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_council_member/unisyn_xml_cdf_city_council_member_expected_summary.json index d29849884..993926b76 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_council_member/unisyn_xml_cdf_city_council_member_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_council_member/unisyn_xml_cdf_city_council_member_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "For City C Council Member (1/3)", "date" : "2019-03-06", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "7" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Carrie Underwood" : "4", @@ -24,8 +31,15 @@ "transfers" : { "Stephen Miller" : "1" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Carrie Underwood" : "4", @@ -43,8 +57,15 @@ "Fred Wallace" : "1", "Nolan Ryder" : "1" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Carrie Underwood" : "4", @@ -62,8 +83,15 @@ "Stephen Miller" : "1", "Terry Williams" : "1" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "Carrie Underwood" : "4", @@ -80,8 +108,15 @@ "Stephen Miller" : "1", "Terry Williams" : "2" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "Fred Wallace" : "5", @@ -96,8 +131,15 @@ "Lonnie Alsup" : "1", "Terry Williams" : "3" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 6, "tally" : { "Fred Wallace" : "5", @@ -112,8 +154,15 @@ "Stephen Miller" : "2", "exhausted" : "2" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "2", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 7, "tally" : { "Lonnie Alsup" : "7", @@ -125,8 +174,15 @@ "transfers" : { "exhausted" : "7" } - } ] + } ], + "threshold" : "14" }, { + "inactiveBallots" : { + "exhaustedChoices" : "9", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 8, "tally" : { "Stephen Miller" : "10", @@ -138,8 +194,15 @@ "Stephen Miller" : "2", "exhausted" : "8" } - } ] + } ], + "threshold" : "11" }, { + "inactiveBallots" : { + "exhaustedChoices" : "17", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 9, "tally" : { "Stephen Miller" : "12" @@ -147,6 +210,14 @@ "tallyResults" : [ { "elected" : "Stephen Miller", "transfers" : { } - } ] - } ] + } ], + "threshold" : "7" + } ], + "summary" : { + "finalThreshold" : "7", + "numCandidates" : 9, + "numWinners" : 1, + "totalNumBallots" : "35", + "undervotes" : 6 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_mayor/unisyn_xml_cdf_city_mayor_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_mayor/unisyn_xml_cdf_city_mayor_expected_summary.csv index 48de270e6..3ff0909c9 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_mayor/unisyn_xml_cdf_city_mayor_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_mayor/unisyn_xml_cdf_city_mayor_expected_summary.csv @@ -1,24 +1,40 @@ -Contest,For City C Mayor (1/3) -Jurisdiction, -Office, -Date,2019-03-06 -Winner(s),Nadia Freeman -Threshold,9 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6,Round 7,Round 8,Round 9,Round 10,Round 11,Round 12 -Eliminated,Undeclared Write-ins,Jon Miller,Carrol Wilson,Terry Landon,Jerry Lang,Josh Bennett,Chelsey Williams,Tess Soto,Steven Wilkins,Karen Petersen,Danielle Davis, -Elected,,,,,,,,,,,,Nadia Freeman -Jerry Meyer,3,3,3,3,4,4,4,5,6,6,7,7 -Steven Wilkins,3,3,3,3,3,3,4,4,4,0,0,0 -Chelsey Williams,3,3,3,3,3,3,3,0,0,0,0,0 -Nadia Freeman,3,3,3,3,3,4,5,5,6,7,8,9 -Jerry Lang,3,3,3,3,3,0,0,0,0,0,0,0 -Tess Soto,3,3,3,3,3,4,4,4,0,0,0,0 -Danielle Davis,3,3,3,3,4,4,5,6,6,6,6,0 -Terry Landon,2,2,2,2,0,0,0,0,0,0,0,0 -Josh Bennett,2,2,3,3,3,3,0,0,0,0,0,0 -Karen Petersen,2,2,2,3,3,4,4,5,5,5,0,0 -Jon Miller,1,1,0,0,0,0,0,0,0,0,0,0 -Carrol Wilson,1,1,1,0,0,0,0,0,0,0,0,0 -Undeclared Write-ins,0,0,0,0,0,0,0,0,0,0,0,0 -Inactive ballots,6,6,6,6,6,6,6,6,8,11,14,19 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,For City C Mayor (1/3) +Jurisdiction, +Office, +Date,2019-03-06 +Winner(s),Nadia Freeman +Final Threshold,9 + +Contest Summary +Number to be Elected,1 +Number of Candidates,13 +Total Number of Ballots,35 +Number of Undervotes,6 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer,Round 7 Votes,% of vote,transfer,Round 8 Votes,% of vote,transfer,Round 9 Votes,% of vote,transfer,Round 10 Votes,% of vote,transfer,Round 11 Votes,% of vote,transfer,Round 12 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,Jon Miller,,,Carrol Wilson,,,Terry Landon,,,Jerry Lang,,,Josh Bennett,,,Chelsey Williams,,,Tess Soto,,,Steven Wilkins,,,Karen Petersen,,,Danielle Davis,,,,, +Elected,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Nadia Freeman,, +Jerry Meyer,3,10.34%,0,3,10.34%,0,3,10.34%,0,3,10.34%,1,4,13.79%,0,4,13.79%,0,4,13.79%,1,5,17.24%,1,6,22.22%,0,6,25.0%,1,7,33.33%,0,7,43.75%,0 +Steven Wilkins,3,10.34%,0,3,10.34%,0,3,10.34%,0,3,10.34%,0,3,10.34%,0,3,10.34%,1,4,13.79%,0,4,13.79%,0,4,14.81%,-4,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Chelsey Williams,3,10.34%,0,3,10.34%,0,3,10.34%,0,3,10.34%,0,3,10.34%,0,3,10.34%,0,3,10.34%,-3,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Nadia Freeman,3,10.34%,0,3,10.34%,0,3,10.34%,0,3,10.34%,0,3,10.34%,1,4,13.79%,1,5,17.24%,0,5,17.24%,1,6,22.22%,1,7,29.16%,1,8,38.09%,1,9,56.25%,0 +Jerry Lang,3,10.34%,0,3,10.34%,0,3,10.34%,0,3,10.34%,0,3,10.34%,-3,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Tess Soto,3,10.34%,0,3,10.34%,0,3,10.34%,0,3,10.34%,0,3,10.34%,1,4,13.79%,0,4,13.79%,0,4,13.79%,-4,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Danielle Davis,3,10.34%,0,3,10.34%,0,3,10.34%,0,3,10.34%,1,4,13.79%,0,4,13.79%,1,5,17.24%,1,6,20.68%,0,6,22.22%,0,6,25.0%,0,6,28.57%,-6,0,0.0%,0 +Terry Landon,2,6.89%,0,2,6.89%,0,2,6.89%,0,2,6.89%,-2,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Josh Bennett,2,6.89%,0,2,6.89%,1,3,10.34%,0,3,10.34%,0,3,10.34%,0,3,10.34%,-3,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Karen Petersen,2,6.89%,0,2,6.89%,0,2,6.89%,1,3,10.34%,0,3,10.34%,1,4,13.79%,0,4,13.79%,1,5,17.24%,0,5,18.51%,0,5,20.83%,-5,0,0.0%,0,0,0.0%,0 +Jon Miller,1,3.44%,0,1,3.44%,-1,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Carrol Wilson,1,3.44%,0,1,3.44%,0,1,3.44%,-1,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,29,,,29,,,29,,,29,,,29,,,29,,,29,,,29,,,27,,,24,,,21,,,16,, +Current Round Threshold,15,,,15,,,15,,,15,,,15,,,15,,,15,,,15,,,14,,,13,,,11,,,9,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,2,,2,3,,5,3,,8,5,,13,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,2,,2,3,,5,3,,8,5,,13,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_mayor/unisyn_xml_cdf_city_mayor_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_mayor/unisyn_xml_cdf_city_mayor_expected_summary.json index bd6bb5a4e..6e6e38106 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_mayor/unisyn_xml_cdf_city_mayor_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_mayor/unisyn_xml_cdf_city_mayor_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "For City C Mayor (1/3)", "date" : "2019-03-06", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "9" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Carrol Wilson" : "1", @@ -26,8 +33,15 @@ "tallyResults" : [ { "eliminated" : "Undeclared Write-ins", "transfers" : { } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Carrol Wilson" : "1", @@ -48,8 +62,15 @@ "transfers" : { "Josh Bennett" : "1" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Carrol Wilson" : "1", @@ -69,8 +90,15 @@ "transfers" : { "Karen Petersen" : "1" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "Chelsey Williams" : "3", @@ -90,8 +118,15 @@ "Danielle Davis" : "1", "Jerry Meyer" : "1" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "Chelsey Williams" : "3", @@ -111,8 +146,15 @@ "Nadia Freeman" : "1", "Tess Soto" : "1" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 6, "tally" : { "Chelsey Williams" : "3", @@ -131,8 +173,15 @@ "Nadia Freeman" : "1", "Steven Wilkins" : "1" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 7, "tally" : { "Chelsey Williams" : "3", @@ -150,8 +199,15 @@ "Jerry Meyer" : "1", "Karen Petersen" : "1" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 8, "tally" : { "Danielle Davis" : "6", @@ -168,8 +224,15 @@ "Nadia Freeman" : "1", "exhausted" : "2" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "2", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 9, "tally" : { "Danielle Davis" : "6", @@ -184,8 +247,15 @@ "Nadia Freeman" : "1", "exhausted" : "3" } - } ] + } ], + "threshold" : "14" }, { + "inactiveBallots" : { + "exhaustedChoices" : "5", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 10, "tally" : { "Danielle Davis" : "6", @@ -200,8 +270,15 @@ "Nadia Freeman" : "1", "exhausted" : "3" } - } ] + } ], + "threshold" : "13" }, { + "inactiveBallots" : { + "exhaustedChoices" : "8", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 11, "tally" : { "Danielle Davis" : "6", @@ -214,8 +291,15 @@ "Nadia Freeman" : "1", "exhausted" : "5" } - } ] + } ], + "threshold" : "11" }, { + "inactiveBallots" : { + "exhaustedChoices" : "13", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 12, "tally" : { "Jerry Meyer" : "7", @@ -224,6 +308,14 @@ "tallyResults" : [ { "elected" : "Nadia Freeman", "transfers" : { } - } ] - } ] + } ], + "threshold" : "9" + } ], + "summary" : { + "finalThreshold" : "9", + "numCandidates" : 13, + "numWinners" : 1, + "totalNumBallots" : "35", + "undervotes" : 6 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_tax_collector/unisyn_xml_cdf_city_tax_collector_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_tax_collector/unisyn_xml_cdf_city_tax_collector_expected_summary.csv index 42cddf6ff..65dc4321c 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_tax_collector/unisyn_xml_cdf_city_tax_collector_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_tax_collector/unisyn_xml_cdf_city_tax_collector_expected_summary.csv @@ -1,20 +1,36 @@ -Contest,For County Tax Collector (1/3) -Jurisdiction, -Office, -Date,2019-03-06 -Winner(s),Sandy Wallace -Threshold,13 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6,Round 7,Round 8 -Eliminated,Undeclared Write-ins,Harry Nelson,Greg Smith,Brady Gordon,Daniel Gregory,Wendy McDonald,Wendy Simpson, -Elected,,,,,,,,Sandy Wallace -Sandy Wallace,7,7,8,8,9,10,12,14 -Mel Bonham,5,5,5,5,7,8,10,11 -Wendy Simpson,4,4,5,5,5,6,6,0 -Daniel Gregory,3,3,3,3,3,0,0,0 -Wendy McDonald,3,3,3,5,5,5,0,0 -Greg Smith,2,2,2,0,0,0,0,0 -Harry Nelson,2,2,0,0,0,0,0,0 -Brady Gordon,2,3,3,3,0,0,0,0 -Undeclared Write-ins,1,0,0,0,0,0,0,0 -Inactive ballots,6,6,6,6,6,6,7,10 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,For County Tax Collector (1/3) +Jurisdiction, +Office, +Date,2019-03-06 +Winner(s),Sandy Wallace +Final Threshold,13 + +Contest Summary +Number to be Elected,1 +Number of Candidates,9 +Total Number of Ballots,35 +Number of Undervotes,6 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer,Round 7 Votes,% of vote,transfer,Round 8 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,Harry Nelson,,,Greg Smith,,,Brady Gordon,,,Daniel Gregory,,,Wendy McDonald,,,Wendy Simpson,,,,, +Elected,,,,,,,,,,,,,,,,,,,,,,Sandy Wallace,, +Sandy Wallace,7,24.13%,0,7,24.13%,1,8,27.58%,0,8,27.58%,1,9,31.03%,1,10,34.48%,2,12,42.85%,2,14,56.0%,0 +Mel Bonham,5,17.24%,0,5,17.24%,0,5,17.24%,0,5,17.24%,2,7,24.13%,1,8,27.58%,2,10,35.71%,1,11,44.0%,0 +Wendy Simpson,4,13.79%,0,4,13.79%,1,5,17.24%,0,5,17.24%,0,5,17.24%,1,6,20.68%,0,6,21.42%,-6,0,0.0%,0 +Daniel Gregory,3,10.34%,0,3,10.34%,0,3,10.34%,0,3,10.34%,0,3,10.34%,-3,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Wendy McDonald,3,10.34%,0,3,10.34%,0,3,10.34%,2,5,17.24%,0,5,17.24%,0,5,17.24%,-5,0,0.0%,0,0,0.0%,0 +Greg Smith,2,6.89%,0,2,6.89%,0,2,6.89%,-2,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Harry Nelson,2,6.89%,0,2,6.89%,-2,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Brady Gordon,2,6.89%,1,3,10.34%,0,3,10.34%,0,3,10.34%,-3,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,1,3.44%,-1,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,29,,,29,,,29,,,29,,,29,,,29,,,28,,,25,, +Current Round Threshold,15,,,15,,,15,,,15,,,15,,,15,,,15,,,13,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,0,,0,0,,0,1,,1,3,,4,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,0,,0,0,,0,0,,0,0,,0,1,,1,3,,4,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_tax_collector/unisyn_xml_cdf_city_tax_collector_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_tax_collector/unisyn_xml_cdf_city_tax_collector_expected_summary.json index f0bc0cb2d..88adf2d16 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_tax_collector/unisyn_xml_cdf_city_tax_collector_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_city_tax_collector/unisyn_xml_cdf_city_tax_collector_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "For County Tax Collector (1/3)", "date" : "2019-03-06", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "13" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Brady Gordon" : "2", @@ -24,8 +31,15 @@ "transfers" : { "Brady Gordon" : "1" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Brady Gordon" : "3", @@ -43,8 +57,15 @@ "Sandy Wallace" : "1", "Wendy Simpson" : "1" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Brady Gordon" : "3", @@ -60,8 +81,15 @@ "transfers" : { "Wendy McDonald" : "2" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "Brady Gordon" : "3", @@ -77,8 +105,15 @@ "Mel Bonham" : "2", "Sandy Wallace" : "1" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "Daniel Gregory" : "3", @@ -94,8 +129,15 @@ "Sandy Wallace" : "1", "Wendy Simpson" : "1" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 6, "tally" : { "Mel Bonham" : "8", @@ -110,8 +152,15 @@ "Sandy Wallace" : "2", "exhausted" : "1" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "1", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 7, "tally" : { "Mel Bonham" : "10", @@ -125,8 +174,15 @@ "Sandy Wallace" : "2", "exhausted" : "3" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "4", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 8, "tally" : { "Mel Bonham" : "11", @@ -135,6 +191,14 @@ "tallyResults" : [ { "elected" : "Sandy Wallace", "transfers" : { } - } ] - } ] + } ], + "threshold" : "13" + } ], + "summary" : { + "finalThreshold" : "13", + "numCandidates" : 9, + "numWinners" : 1, + "totalNumBallots" : "35", + "undervotes" : 6 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_county_coroner/unisyn_xml_cdf_county_coroner_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_county_coroner/unisyn_xml_cdf_county_coroner_expected_summary.csv index db4259848..697d206f3 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_county_coroner/unisyn_xml_cdf_county_coroner_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_county_coroner/unisyn_xml_cdf_county_coroner_expected_summary.csv @@ -1,20 +1,36 @@ -Contest,For County Coroner (1/2) -Jurisdiction, -Office, -Date,2019-03-06 -Winner(s),Niels Larson -Threshold,5 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6,Round 7,Round 8,Round 9 -Eliminated,Undeclared Write-ins,Laura Brown,Andrea Doria,Kay Daniels,Walter Gerber,Emily Steffan,Jimmy Hendriks,Willy Wonka, -Elected,,,,,,,,,Niels Larson -Willy Wonka,5,5,6,6,6,6,9,9,0 -Niels Larson,5,5,5,6,8,8,8,9,9 -Emily Steffan,4,4,4,4,4,4,0,0,0 -Laura Brown,3,3,0,0,0,0,0,0,0 -Kay Daniels,3,3,3,3,0,0,0,0,0 -Andrea Doria,3,3,3,0,0,0,0,0,0 -Jimmy Hendriks,3,3,4,6,7,7,7,0,0 -Walter Gerber,3,3,4,4,4,0,0,0,0 -Undeclared Write-ins,0,0,0,0,0,0,0,0,0 -Inactive ballots,6,6,6,6,6,10,11,17,26 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,For County Coroner (1/2) +Jurisdiction, +Office, +Date,2019-03-06 +Winner(s),Niels Larson +Final Threshold,5 + +Contest Summary +Number to be Elected,1 +Number of Candidates,9 +Total Number of Ballots,35 +Number of Undervotes,6 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer,Round 7 Votes,% of vote,transfer,Round 8 Votes,% of vote,transfer,Round 9 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,Laura Brown,,,Andrea Doria,,,Kay Daniels,,,Walter Gerber,,,Emily Steffan,,,Jimmy Hendriks,,,Willy Wonka,,,,, +Elected,,,,,,,,,,,,,,,,,,,,,,,,,Niels Larson,, +Willy Wonka,5,17.24%,0,5,17.24%,1,6,20.68%,0,6,20.68%,0,6,20.68%,0,6,24.0%,3,9,37.5%,0,9,50.0%,-9,0,0.0%,0 +Niels Larson,5,17.24%,0,5,17.24%,0,5,17.24%,1,6,20.68%,2,8,27.58%,0,8,32.0%,0,8,33.33%,1,9,50.0%,0,9,100.0%,0 +Emily Steffan,4,13.79%,0,4,13.79%,0,4,13.79%,0,4,13.79%,0,4,13.79%,0,4,16.0%,-4,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Laura Brown,3,10.34%,0,3,10.34%,-3,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Kay Daniels,3,10.34%,0,3,10.34%,0,3,10.34%,0,3,10.34%,-3,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Andrea Doria,3,10.34%,0,3,10.34%,0,3,10.34%,-3,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Jimmy Hendriks,3,10.34%,0,3,10.34%,1,4,13.79%,2,6,20.68%,1,7,24.13%,0,7,28.0%,0,7,29.16%,-7,0,0.0%,0,0,0.0%,0 +Walter Gerber,3,10.34%,0,3,10.34%,1,4,13.79%,0,4,13.79%,0,4,13.79%,-4,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,29,,,29,,,29,,,29,,,29,,,25,,,24,,,18,,,9,, +Current Round Threshold,15,,,15,,,15,,,15,,,15,,,13,,,13,,,10,,,5,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,0,,0,4,,4,1,,5,6,,11,9,,20,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,0,,0,0,,0,0,,0,4,,4,1,,5,6,,11,9,,20,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_county_coroner/unisyn_xml_cdf_county_coroner_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_county_coroner/unisyn_xml_cdf_county_coroner_expected_summary.json index 9ceecae71..8546c2ab4 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_county_coroner/unisyn_xml_cdf_county_coroner_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_county_coroner/unisyn_xml_cdf_county_coroner_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "For County Coroner (1/2)", "date" : "2019-03-06", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "5" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Andrea Doria" : "3", @@ -22,8 +29,15 @@ "tallyResults" : [ { "eliminated" : "Undeclared Write-ins", "transfers" : { } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Andrea Doria" : "3", @@ -42,8 +56,15 @@ "Walter Gerber" : "1", "Willy Wonka" : "1" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "Andrea Doria" : "3", @@ -60,8 +81,15 @@ "Jimmy Hendriks" : "2", "Niels Larson" : "1" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "Emily Steffan" : "4", @@ -77,8 +105,15 @@ "Jimmy Hendriks" : "1", "Niels Larson" : "2" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "Emily Steffan" : "4", @@ -92,8 +127,15 @@ "transfers" : { "exhausted" : "4" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "4", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 6, "tally" : { "Emily Steffan" : "4", @@ -107,8 +149,15 @@ "Willy Wonka" : "3", "exhausted" : "1" } - } ] + } ], + "threshold" : "13" }, { + "inactiveBallots" : { + "exhaustedChoices" : "5", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 7, "tally" : { "Jimmy Hendriks" : "7", @@ -121,8 +170,15 @@ "Niels Larson" : "1", "exhausted" : "6" } - } ] + } ], + "threshold" : "13" }, { + "inactiveBallots" : { + "exhaustedChoices" : "11", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 8, "tally" : { "Niels Larson" : "9", @@ -133,8 +189,15 @@ "transfers" : { "exhausted" : "9" } - } ] + } ], + "threshold" : "10" }, { + "inactiveBallots" : { + "exhaustedChoices" : "20", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 9, "tally" : { "Niels Larson" : "9" @@ -142,6 +205,14 @@ "tallyResults" : [ { "elected" : "Niels Larson", "transfers" : { } - } ] - } ] + } ], + "threshold" : "5" + } ], + "summary" : { + "finalThreshold" : "5", + "numCandidates" : 9, + "numWinners" : 1, + "totalNumBallots" : "35", + "undervotes" : 6 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_county_sheriff/unisyn_xml_cdf_county_sheriff_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_county_sheriff/unisyn_xml_cdf_county_sheriff_expected_summary.csv index 74e10df9c..8a4b629f1 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_county_sheriff/unisyn_xml_cdf_county_sheriff_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_county_sheriff/unisyn_xml_cdf_county_sheriff_expected_summary.csv @@ -1,19 +1,35 @@ -Contest,For County Sheriff (1/3) -Jurisdiction, -Office, -Date,2019-03-06 -Winner(s),Terry Baker -Threshold,9 - -Rounds,Round 1,Round 2,Round 3,Round 4,Round 5,Round 6,Round 7,Round 8 -Eliminated,Undeclared Write-ins,Beth Small,Thomas Soto,Sandra Williams,John Wayne Jr.,Tony Seiler,Warren Norell, -Elected,,,,,,,,Terry Baker -Terry Baker,5,5,7,7,7,10,12,17 -John Wayne Jr.,5,6,6,7,7,0,0,0 -Tony Seiler,5,6,6,6,7,9,0,0 -Warren Norell,4,4,4,6,8,10,12,0 -Thomas Soto,3,3,3,0,0,0,0,0 -Sandra Williams,3,3,3,3,0,0,0,0 -Beth Small,2,2,0,0,0,0,0,0 -Undeclared Write-ins,2,0,0,0,0,0,0,0 -Inactive ballots,6,6,6,6,6,6,11,18 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,For County Sheriff (1/3) +Jurisdiction, +Office, +Date,2019-03-06 +Winner(s),Terry Baker +Final Threshold,9 + +Contest Summary +Number to be Elected,1 +Number of Candidates,8 +Total Number of Ballots,35 +Number of Undervotes,6 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer,Round 3 Votes,% of vote,transfer,Round 4 Votes,% of vote,transfer,Round 5 Votes,% of vote,transfer,Round 6 Votes,% of vote,transfer,Round 7 Votes,% of vote,transfer,Round 8 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,Beth Small,,,Thomas Soto,,,Sandra Williams,,,John Wayne Jr.,,,Tony Seiler,,,Warren Norell,,,,, +Elected,,,,,,,,,,,,,,,,,,,,,,Terry Baker,, +Terry Baker,5,17.24%,0,5,17.24%,2,7,24.13%,0,7,24.13%,0,7,24.13%,3,10,34.48%,2,12,50.0%,5,17,100.0%,0 +John Wayne Jr.,5,17.24%,1,6,20.68%,0,6,20.68%,1,7,24.13%,0,7,24.13%,-7,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Tony Seiler,5,17.24%,1,6,20.68%,0,6,20.68%,0,6,20.68%,1,7,24.13%,2,9,31.03%,-9,0,0.0%,0,0,0.0%,0 +Warren Norell,4,13.79%,0,4,13.79%,0,4,13.79%,2,6,20.68%,2,8,27.58%,2,10,34.48%,2,12,50.0%,-12,0,0.0%,0 +Thomas Soto,3,10.34%,0,3,10.34%,0,3,10.34%,-3,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Sandra Williams,3,10.34%,0,3,10.34%,0,3,10.34%,0,3,10.34%,-3,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Beth Small,2,6.89%,0,2,6.89%,-2,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Undeclared Write-ins,2,6.89%,-2,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0,0,0.0%,0 +Active Ballots,29,,,29,,,29,,,29,,,29,,,29,,,24,,,17,, +Current Round Threshold,15,,,15,,,15,,,15,,,15,,,15,,,13,,,9,, +Inactive Ballots by by Overvotes,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,0,,0,0,,0,0,,0,0,,0,0,,0,5,,5,7,,12,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0,,0,0, +Inactive Ballots Total,0,0,,0,0,,0,0,,0,0,,0,0,,0,5,,5,7,,12,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_county_sheriff/unisyn_xml_cdf_county_sheriff_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_county_sheriff/unisyn_xml_cdf_county_sheriff_expected_summary.json index 27a697ca0..ac8d06a85 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_county_sheriff/unisyn_xml_cdf_county_sheriff_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/unisyn_xml_cdf_county_sheriff/unisyn_xml_cdf_county_sheriff_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "For County Sheriff (1/3)", "date" : "2019-03-06", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "9" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "Beth Small" : "2", @@ -24,8 +31,15 @@ "John Wayne Jr." : "1", "Tony Seiler" : "1" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "Beth Small" : "2", @@ -41,8 +55,15 @@ "transfers" : { "Terry Baker" : "2" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 3, "tally" : { "John Wayne Jr." : "6", @@ -58,8 +79,15 @@ "John Wayne Jr." : "1", "Warren Norell" : "2" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 4, "tally" : { "John Wayne Jr." : "7", @@ -74,8 +102,15 @@ "Tony Seiler" : "1", "Warren Norell" : "2" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 5, "tally" : { "John Wayne Jr." : "7", @@ -90,8 +125,15 @@ "Tony Seiler" : "2", "Warren Norell" : "2" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 6, "tally" : { "Terry Baker" : "10", @@ -105,8 +147,15 @@ "Warren Norell" : "2", "exhausted" : "5" } - } ] + } ], + "threshold" : "15" }, { + "inactiveBallots" : { + "exhaustedChoices" : "5", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 7, "tally" : { "Terry Baker" : "12", @@ -118,8 +167,15 @@ "Terry Baker" : "5", "exhausted" : "7" } - } ] + } ], + "threshold" : "13" }, { + "inactiveBallots" : { + "exhaustedChoices" : "12", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 8, "tally" : { "Terry Baker" : "17" @@ -127,6 +183,14 @@ "tallyResults" : [ { "elected" : "Terry Baker", "transfers" : { } - } ] - } ] + } ], + "threshold" : "9" + } ], + "summary" : { + "finalThreshold" : "9", + "numCandidates" : 8, + "numWinners" : 1, + "totalNumBallots" : "35", + "undervotes" : 6 + } } \ No newline at end of file diff --git a/src/test/resources/network/brightspots/rcv/test_data/uwi_cannot_win_test/uwi_cannot_win_test_expected_summary.csv b/src/test/resources/network/brightspots/rcv/test_data/uwi_cannot_win_test/uwi_cannot_win_test_expected_summary.csv index cc7e278b9..d883ef1f1 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/uwi_cannot_win_test/uwi_cannot_win_test_expected_summary.csv +++ b/src/test/resources/network/brightspots/rcv/test_data/uwi_cannot_win_test/uwi_cannot_win_test_expected_summary.csv @@ -1,14 +1,30 @@ -Contest,UWI Test -Jurisdiction, -Office, -Date, -Winner(s),A -Threshold,3 - -Rounds,Round 1,Round 2 -Eliminated,Undeclared Write-ins, -Elected,,A -A,3,3 -B,1,1 -Undeclared Write-ins,5,0 -Inactive ballots,0,5 +Contest Information +Generated By,RCTab 1.4.0-alpha +CSV Format Version,1 +Type of Election,Single-Winner +Contest,UWI Test +Jurisdiction, +Office, +Date, +Winner(s),A +Final Threshold,3 + +Contest Summary +Number to be Elected,1 +Number of Candidates,3 +Total Number of Ballots,9 +Number of Undervotes,0 + +Rounds,Round 1 Votes,% of vote,transfer,Round 2 Votes,% of vote,transfer +Eliminated,Undeclared Write-ins,,,,, +Elected,,,,A,, +A,3,33.33%,0,3,75.0%,0 +B,1,11.11%,0,1,25.0%,0 +Undeclared Write-ins,5,55.55%,-5,0,0.0%,0 +Active Ballots,9,,,4,, +Current Round Threshold,5,,,3,, +Inactive Ballots by by Overvotes,0,0,,0,0, +Inactive Ballots by by Skipped Rankings,0,0,,0,0, +Inactive Ballots by by Exhausted Choices,0,5,,5,0, +Inactive Ballots by by Repeated Rankings,0,0,,0,0, +Inactive Ballots Total,0,5,,5,0, diff --git a/src/test/resources/network/brightspots/rcv/test_data/uwi_cannot_win_test/uwi_cannot_win_test_expected_summary.json b/src/test/resources/network/brightspots/rcv/test_data/uwi_cannot_win_test/uwi_cannot_win_test_expected_summary.json index ef761fc40..2185ecac5 100644 --- a/src/test/resources/network/brightspots/rcv/test_data/uwi_cannot_win_test/uwi_cannot_win_test_expected_summary.json +++ b/src/test/resources/network/brightspots/rcv/test_data/uwi_cannot_win_test/uwi_cannot_win_test_expected_summary.json @@ -2,11 +2,18 @@ "config" : { "contest" : "UWI Test", "date" : "", + "generatedBy" : "RCTab 1.4.0-alpha", "jurisdiction" : "", - "office" : "", - "threshold" : "3" + "office" : "" }, + "jsonFormatVersion" : "1", "results" : [ { + "inactiveBallots" : { + "exhaustedChoices" : "0", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 1, "tally" : { "A" : "3", @@ -18,8 +25,15 @@ "transfers" : { "exhausted" : "5" } - } ] + } ], + "threshold" : "5" }, { + "inactiveBallots" : { + "exhaustedChoices" : "5", + "overvotes" : "0", + "repeatedRankings" : "0", + "skippedRankings" : "0" + }, "round" : 2, "tally" : { "A" : "3", @@ -28,6 +42,14 @@ "tallyResults" : [ { "elected" : "A", "transfers" : { } - } ] - } ] -} + } ], + "threshold" : "3" + } ], + "summary" : { + "finalThreshold" : "3", + "numCandidates" : 3, + "numWinners" : 1, + "totalNumBallots" : "9", + "undervotes" : 0 + } +} \ No newline at end of file