Add test case (Dail-like rules) from Grey-Fitzgerald ERS booklet
This commit is contained in:
parent
cf75943829
commit
0506283ae4
46
tests/data/grey_fitzgerald.blt
Normal file
46
tests/data/grey_fitzgerald.blt
Normal file
@ -0,0 +1,46 @@
|
||||
# Comment: Ballot papers derived from the Grey-Fitzgerald (1955) model election - all votes - Dail-like rules
|
||||
# Source: RunasSudo
|
||||
# Contributor: RunasSudo
|
||||
11 6
|
||||
5 1 7 3
|
||||
27 2 4
|
||||
2 2 4 1
|
||||
2 2 4 5
|
||||
43 2 4 9
|
||||
5 2 4 10
|
||||
1 2 4 0
|
||||
2 2 5
|
||||
25 2 9
|
||||
10 2 10
|
||||
4 2 10 3
|
||||
4 2 10 9 3
|
||||
3 2 10 9 11
|
||||
8 2 10 9 0
|
||||
4 2 0
|
||||
25 3
|
||||
10 4
|
||||
1 5 7 3
|
||||
3 5 9
|
||||
1 5 10 11
|
||||
50 6 0 # ??
|
||||
9 6 11
|
||||
2 6 3
|
||||
1 6 1 7 3
|
||||
12 7 11
|
||||
2 7
|
||||
50 8
|
||||
13 9
|
||||
24 11
|
||||
0
|
||||
"A" # 1
|
||||
"B" # 2
|
||||
"C" # 3
|
||||
"D" # 4
|
||||
"E" # 5
|
||||
"F" # 6
|
||||
"G" # 7
|
||||
"H" # 8
|
||||
"J" # 9
|
||||
"K" # 10
|
||||
"L" # 11
|
||||
"Grey–Fitzgerald Example"
|
14
tests/data/grey_fitzgerald.csv
Normal file
14
tests/data/grey_fitzgerald.csv
Normal file
@ -0,0 +1,14 @@
|
||||
Stage:,1,,2,,3,,4,,5,,6,,7,,8,
|
||||
Comment:,First preferences,,Surplus of B,,Surplus of D,,Surplus of F,,"Exclusion of A, E",,Exclusion of K,,Exclusion of G,,Surplus of J,
|
||||
A,5,H,5,H,5,H,6,H,0,EX,0,EX,0,EX,0,EX
|
||||
B,140,EL,50,EL,50,EL,50,EL,50,EL,50,EL,50,EL,50,EL
|
||||
C,25,H,25,H,25,H,27,H,27,H,31,H,38,H,42,H
|
||||
D,10,H,63,EL,50,EL,50,EL,50,EL,50,EL,50,EL,50,EL
|
||||
E,5,H,6,H,7,H,7,H,0,EX,0,EX,0,EX,0,EX
|
||||
F,62,EL,62,EL,62,EL,50,EL,50,EL,50,EL,50,EL,50,EL
|
||||
G,14,H,14,H,14,H,14,H,21,H,21,H,0,EX,0,EX
|
||||
H,50,EL,50,EL,50,EL,50,EL,50,EL,50,EL,50,EL,50,EL
|
||||
J,13,H,30,H,41,H,41,H,44,H,59,EL,59,EL,50,EL
|
||||
K,0,H,19,H,20,H,20,H,21,H,0,EX,0,EX,0,EX
|
||||
L,24,H,24,H,24,H,33,H,33,H,34,H,46,H,49,EL
|
||||
Non-transferable,0,,0,,0,,0,,2,,3,,5,,7,
|
|
BIN
tests/data/grey_fitzgerald.ods
Normal file
BIN
tests/data/grey_fitzgerald.ods
Normal file
Binary file not shown.
@ -19,6 +19,7 @@ use crate::utils;
|
||||
|
||||
use opentally::numbers::Rational;
|
||||
use opentally::stv;
|
||||
use opentally::ties::TieStrategy;
|
||||
|
||||
#[test]
|
||||
fn dublin_north_2002_rational() {
|
||||
@ -36,3 +37,22 @@ fn dublin_north_2002_rational() {
|
||||
|
||||
utils::read_validate_election::<Rational>("tests/data/DublinNorthSorted.csv", "tests/data/DublinNorthSorted.blt", stv_opts, None, &["exhausted"]);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn grey_fitzgerald_rational() {
|
||||
let stv_opts = stv::STVOptionsBuilder::default()
|
||||
.round_quota(Some(0))
|
||||
.normalise_ballots(true)
|
||||
.quota_criterion(stv::QuotaCriterion::GreaterOrEqual)
|
||||
.ties(vec![TieStrategy::Forwards])
|
||||
.surplus(stv::SurplusMethod::Hare)
|
||||
.surplus_order(stv::SurplusOrder::BySize) // Differs to Dail
|
||||
.transferable_only(true)
|
||||
.bulk_exclude(true)
|
||||
.defer_surpluses(true)
|
||||
.build().unwrap();
|
||||
|
||||
assert_eq!(stv_opts.describe::<Rational>(), "--round-quota 0 --normalise-ballots --quota-criterion geq --ties forwards --surplus hare --transferable-only --bulk-exclude --defer-surpluses");
|
||||
|
||||
utils::read_validate_election::<Rational>("tests/data/grey_fitzgerald.csv", "tests/data/grey_fitzgerald.blt", stv_opts, None, &["exhausted"]);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user