From 582fdb8fe2e2a8e76c1599cacb1d6cbe808119ad Mon Sep 17 00:00:00 2001 From: RunasSudo Date: Mon, 12 Jun 2023 15:53:41 +1000 Subject: [PATCH] Add test case for Western Australia STV --- ...WA2008-EastMetro-PartialReconstruction.blt | 173 ++++++++++++++++++ ...WA2008-EastMetro-PartialReconstruction.csv | 32 ++++ ...WA2008-EastMetro-PartialReconstruction.ods | Bin 0 -> 48090 bytes tests/tests_impl/wa.rs | 43 +++++ 4 files changed, 248 insertions(+) create mode 100644 tests/data/WA2008-EastMetro-PartialReconstruction.blt create mode 100644 tests/data/WA2008-EastMetro-PartialReconstruction.csv create mode 100644 tests/data/WA2008-EastMetro-PartialReconstruction.ods create mode 100644 tests/tests_impl/wa.rs diff --git a/tests/data/WA2008-EastMetro-PartialReconstruction.blt b/tests/data/WA2008-EastMetro-PartialReconstruction.blt new file mode 100644 index 0000000..7844639 --- /dev/null +++ b/tests/data/WA2008-EastMetro-PartialReconstruction.blt @@ -0,0 +1,173 @@ +# Comment: 2008 Western Australia state election - ATL votes and partial reconstruction of some BTL votes - Western Australia STV +# Source: https://www.elections.wa.gov.au/sites/default/files/content/documents/2008_SGE_Results_Stats_Part5.pdf, https://www.elections.wa.gov.au/elections/state/sgelection#/sg2008/region/01/results +# Contributor: RunasSudo +28 6 +# ATL +7562 1 2 11 12 25 28 27 24 26 9 10 16 19 20 13 14 15 17 18 21 22 23 8 7 6 5 4 3 0 # A - Family First +110821 3 4 5 6 7 8 21 22 23 26 27 24 28 1 2 11 12 13 14 15 16 17 18 19 20 9 10 25 0 # B - Australian Labor Party +349 9 10 15 14 13 27 16 17 18 19 20 25 26 24 28 23 22 21 8 7 6 5 4 3 2 1 11 12 0 # C - Citizens Electoral Council +7480 11 12 27 1 2 25 24 13 14 16 15 17 18 19 20 26 28 9 10 3 4 5 6 7 8 21 22 23 0 # D - Christian Democratic Party WA +102138 13 14 15 16 17 18 11 12 19 20 1 2 24 27 26 28 21 22 23 9 10 3 4 5 6 7 8 25 0 # E - Liberal +2331 19 20 11 12 1 2 25 13 14 15 16 17 18 24 26 27 3 4 5 6 7 8 21 22 23 9 10 28 0 # F - The Nationals +29265 21 22 23 28 24 3 4 5 6 7 8 1 2 19 20 25 26 27 13 14 15 16 17 18 9 10 11 12 0 # G - Greens (WA) +1425 24 19 20 4 8 17 12 21 22 23 27 26 28 11 7 6 5 3 18 16 15 14 13 2 1 25 10 9 0 # H - Independent +1828 25 11 12 1 2 26 19 20 28 9 10 27 13 14 15 16 17 18 21 22 23 24 3 4 5 6 7 8 0 # I - One Nation +429 26 6 7 8 27 24 28 25 21 22 23 3 4 5 9 10 19 20 13 14 15 16 17 18 1 2 11 12 0 # J - Independent +192 27 11 12 1 2 25 19 20 9 10 3 4 5 6 7 8 13 14 15 16 17 18 26 24 21 22 23 28 0 # K - Independent +1409 28 21 22 23 13 14 15 16 17 18 1 2 9 10 24 26 27 11 12 3 4 5 6 7 8 19 20 25 0 # L - Daylight Saving Party +# BTL +1140 1 0 +137 2 0 +36 3 1 0 +24 3 2 0 +6 3 4 1 0 +1 3 4 2 0 +954 3 4 5 0 +19 3 4 6 0 +7 3 4 7 0 +5 3 4 8 0 +1 3 4 17 0 +4 3 4 21 0 +104 3 5 0 +33 3 6 0 +22 3 7 0 +41 3 8 0 +2 3 9 0 +1 3 10 7 0 +3 3 11 0 +1 3 17 0 +1 3 18 0 +2 3 19 0 +12 3 21 0 +2 3 22 0 +1 3 28 0 +37 4 1 0 +25 4 2 0 +299 4 5 0 +42 4 6 0 +47 4 7 0 +31 4 8 0 +3 4 9 0 +1 4 10 1 0 +1 4 10 20 0 +2 4 11 0 +1 4 12 0 +2 4 15 0 +5 4 16 0 +1 4 19 0 +18 4 21 0 +3 4 22 0 +7 4 23 0 +1 4 25 0 +1 4 26 0 +2 4 27 0 +4 4 28 0 +368 5 0 +212 6 0 +227 7 0 +243 8 0 +47 9 0 +2 10 1 0 +1 10 5 0 +1 10 6 0 +1 10 8 0 +9 10 9 0 +1 10 11 0 +1 10 15 0 +1 10 19 0 +1 10 21 0 +1 10 23 0 +2 10 27 0 +514 11 0 +100 12 0 +17 13 1 0 +1 13 2 0 +2 13 5 0 +4 13 8 0 +4 13 9 0 +1 13 10 18 0 +5 13 11 0 +1 13 12 0 +4 13 14 1 0 +1 13 14 5 0 +1 13 14 6 0 +1 13 14 7 0 +3 13 14 11 0 +1 13 14 12 0 +1057 13 14 15 0 +20 13 14 16 0 +3 13 14 17 0 +6 13 14 18 0 +4 13 14 19 0 +4 13 14 21 0 +57 13 15 0 +38 13 16 0 +11 13 17 0 +22 13 18 0 +9 13 19 0 +1 13 20 0 +3 13 21 0 +1 13 22 0 +1 13 24 0 +3 13 28 0 +9 14 1 0 +1 14 7 0 +1 14 8 0 +1 14 9 0 +1 14 10 1 0 +3 14 11 0 +7 14 12 0 +68 14 15 0 +15 14 16 0 +9 14 17 0 +10 14 18 0 +4 14 19 0 +1 14 20 0 +3 14 21 0 +1 14 25 0 +2 14 28 0 +201 15 0 +234 16 0 +85 17 0 +305 18 0 +315 19 0 +44 20 0 +2379 21 0 +284 22 0 +300 23 0 +299 24 0 +223 25 0 +85 26 0 +106 27 0 +256 28 0 +9319 0 +0 +"BOLT, Stephen Charles" # 1 - Family First +"HOPKINSON, Symia Joyce" # 2 +"FERGUSON, John Rilday" # 3 - Australian Labor Party +"RAVLICH, Ljiljanna Maria" # 4 +"SAVAGE, Linda Rosmary" # 5 +"CARSON, Gary John" # 6 +"BURTON, Carolyn Anne" # 7 +"COMRIE, Craig Hugh John" # 8 +"VINCENT, Neil Allen" # 9 - Citizens Electoral Council +"PASSMORE, Theresa" # 10 +"RANDALL, Dwight Allan" # 11 - Christian Democratic Party WA +"GOIRAN, Gerard Pierre" # 12 +"MORTON, Helen Margaret" # 13 - Liberal +"FARAGHER, Donna Evelyn Mary" # 14 +"HAYDEN, Alyssa Kathleen" # 15 +"BLIZARD, Stephen Michael" # 16 +"TREASE, Darryl Raymond" # 17 +"SIMPSON, Guy Julian" # 18 +"WOOD, Sean Damian" # 19 - The Nationals +"MANGINI, Kevin Leonard Raymond" # 20 +"XAMON, Alison Marie" # 21 - Greens (WA) +"WOLFF, Stephen Karl" # 22 +"DOUGLAS-MEYER, Damian Paul" # 23 +"HOYER, Thomas Harry John" # 24 - Independent +"HOPKINSON, James Peter" # 25 - One Nation +"NASH, Richard Paul" # 26 - Independent +"TUCAK, John Damien" # 27 - Independent +"DAY, Conor Patrick" # 28 - Daylight Saving Party +"WA 2008 State General Election East Metropolitan Region" diff --git a/tests/data/WA2008-EastMetro-PartialReconstruction.csv b/tests/data/WA2008-EastMetro-PartialReconstruction.csv new file mode 100644 index 0000000..c956827 --- /dev/null +++ b/tests/data/WA2008-EastMetro-PartialReconstruction.csv @@ -0,0 +1,32 @@ +Stage:,1,,2,,3,,4,,5,,6,,7,,8,,9,,10, +Comment:,First preferences,,"Surplus of FERGUSON, John Rilday",,"Surplus of MORTON, Helen Margaret",,"Surplus of RAVLICH, Ljiljanna Maria",,"Surplus of FARAGHER, Donna Evelyn Mary",,"Exclusion of PASSMORE, Theresa",,"Exclusion of PASSMORE, Theresa",,"Exclusion of PASSMORE, Theresa",,"Exclusion of PASSMORE, Theresa",,"Exclusion of PASSMORE, Theresa", +"BOLT, Stephen Charles",8702,H,8725,H,8735,H,8752,H,8755,H,8757,H,8757,H,8757,H,8757,H,8757,H +"HOPKINSON, Symia Joyce",137,H,152,H,152,H,163,H,163,H,163,H,163,H,163,H,163,H,163,H +"FERGUSON, John Rilday",112103,EL,39514,EL,39514,EL,39514,EL,39514,EL,39514,EL,39514,EL,39514,EL,39514,EL,39514,EL +"RAVLICH, Ljiljanna Maria",533,H,72937,EL,72937,EL,39514,EL,39514,EL,39514,EL,39514,EL,39514,EL,39514,EL,39514,EL +"SAVAGE, Linda Rosmary",368,H,435,H,436,H,33739,H,33739,H,33740,H,33740,H,33740,H,33740,H,33740,H +"CARSON, Gary John",212,H,233,H,233,H,257,H,257,H,258,H,258,H,258,H,258,H,258,H +"BURTON, Carolyn Anne",227,H,241,H,241,H,264,H,264,H,264,H,264,H,264,H,264,H,264,H +"COMRIE, Craig Hugh John",243,H,269,H,271,H,286,H,286,H,287,H,287,H,287,H,287,H,287,H +"VINCENT, Neil Allen",396,H,397,H,399,H,400,H,400,H,409,H,409,H,409,H,409,H,409,H +"PASSMORE, Theresa",21,H,21,H,21,H,21,H,21,H,,EX,,EX,,EX,,EX,0,EX +"RANDALL, Dwight Allan",7994,H,7995,H,7998,H,7998,H,7999,H,8000,H,8000,H,8000,H,8000,H,8000,H +"GOIRAN, Gerard Pierre",100,H,100,H,100,H,100,H,102,H,102,H,102,H,102,H,102,H,102,H +"MORTON, Helen Margaret",103424,EL,103424,EL,39514,EL,39514,EL,39514,EL,39514,EL,39514,EL,39514,EL,39514,EL,39514,EL +"FARAGHER, Donna Evelyn Mary",136,H,136,H,63934,EL,63934,EL,39514,EL,39514,EL,39514,EL,39514,EL,39514,EL,39514,EL +"HAYDEN, Alyssa Kathleen",201,H,201,H,236,H,236,H,24617,H,24618,H,24618,H,24618,H,24618,H,24618,H +"BLIZARD, Stephen Michael",234,H,234,H,257,H,259,H,268,H,268,H,268,H,268,H,268,H,268,H +"TREASE, Darryl Raymond",85,H,85,H,91,H,91,H,94,H,94,H,94,H,94,H,94,H,94,H +"SIMPSON, Guy Julian",305,H,305,H,318,H,318,H,322,H,322,H,322,H,322,H,322,H,322,H +"WOOD, Sean Damian",2646,H,2647,H,2652,H,2652,H,2653,H,2654,H,2654,H,2654,H,2654,H,2654,H +"MANGINI, Kevin Leonard Raymond",44,H,44,H,44,H,44,H,44,H,44,H,44,H,44,H,44,H,44,H +"XAMON, Alison Marie",31644,H,31651,H,31652,H,31661,H,31662,H,31663,H,31663,H,31663,H,31663,H,31663,H +"WOLFF, Stephen Karl",284,H,285,H,285,H,286,H,286,H,286,H,286,H,286,H,286,H,286,H +"DOUGLAS-MEYER, Damian Paul",300,H,300,H,300,H,303,H,303,H,304,H,304,H,304,H,304,H,304,H +"HOYER, Thomas Harry John",1724,H,1724,H,1724,H,1724,H,1724,H,1724,H,1724,H,1724,H,1724,H,1724,H +"HOPKINSON, James Peter",2051,H,2051,H,2051,H,2051,H,2051,H,2051,H,2051,H,2051,H,2051,H,2051,H +"NASH, Richard Paul",514,H,514,H,514,H,514,H,514,H,514,H,514,H,514,H,514,H,514,H +"TUCAK, John Damien",298,H,298,H,298,H,298,H,298,H,300,H,300,H,300,H,300,H,300,H +"DAY, Conor Patrick",1665,H,1665,H,1666,H,1667,H,1667,H,1667,H,1667,H,1667,H,1667,H,1667,H +Exhausted,9319,,9319,,9319,,9319,,9319,,9319,,9319,,9319,,9319,,9319, +Loss by fraction,0,,8,,18,,31,,46,,,,,,,,,,46, diff --git a/tests/data/WA2008-EastMetro-PartialReconstruction.ods b/tests/data/WA2008-EastMetro-PartialReconstruction.ods new file mode 100644 index 0000000000000000000000000000000000000000..a72f0ef17356718972bd4f4ee621ad77330012c5 GIT binary patch literal 48090 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 literal 0 HcmV?d00001 diff --git a/tests/tests_impl/wa.rs b/tests/tests_impl/wa.rs new file mode 100644 index 0000000..685bc3c --- /dev/null +++ b/tests/tests_impl/wa.rs @@ -0,0 +1,43 @@ +/* OpenTally: Open-source election vote counting + * Copyright © 2021–2023 Lee Yingtong Li (RunasSudo) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +// Compare results under Western Australia STV with official results from WA Electoral Commission +// Using (partially) reconstructed ballot papers + +use crate::utils; + +use opentally::numbers::Rational; +use opentally::stv; + +#[test] +fn wa_eastmetro08_rational() { + // Validates only up to stage 10 (Exclusion of PASSMORE, Theresa) + + let stv_opts = stv::STVOptionsBuilder::default() + .round_votes(Some(0)) + .round_quota(Some(0)) + .round_subtransfers(stv::RoundSubtransfersMode::ByParcel) + .quota_criterion(stv::QuotaCriterion::GreaterOrEqual) + .exclusion(stv::ExclusionMethod::ParcelsByOrder) + .surplus_order(stv::SurplusOrder::ByOrder) + .surplus_assume_total(true) + .build().unwrap(); + + assert_eq!(stv_opts.describe::(), "--round-votes 0 --round-quota 0 --round-subtransfers by_parcel --quota-criterion geq --ties backwards random --random-seed 20220322 --surplus-order by_order --surplus-assume-total --exclusion parcels_by_order"); + + utils::read_validate_election::("tests/data/WA2008-EastMetro-PartialReconstruction.csv", "tests/data/WA2008-EastMetro-PartialReconstruction.blt", stv_opts, None, &["exhausted", "lbf"]); +}