sapor 0.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Area Class Diagram.dia +0 -0
- data/Area Class Diagram.png +0 -0
- data/Class Diagram.dia +0 -0
- data/Class Diagram.png +0 -0
- data/Example-Catalonia.md +361 -0
- data/Example-Flanders.md +486 -0
- data/Example-Greece.md +25 -0
- data/Example-Oslo.md +678 -0
- data/Example-UnitedKingdom-Referendum.md +132 -0
- data/Examples.md +15 -0
- data/LICENSE +674 -0
- data/README.md +103 -0
- data/Rakefile +18 -0
- data/Technical Documentation.md +14 -0
- data/bin/create_installation_package.sh +49 -0
- data/bin/install.sh +45 -0
- data/bin/sapor.rb +24 -0
- data/bin/sapor.sh +106 -0
- data/data/hu/hungary-2014.txt +1680 -0
- data/data/hu/hungary_2014_screen_scraper.rb +48 -0
- data/data/hu/hungary_2014_to_psv.rb +80 -0
- data/data/hu/index-2014.txt +106 -0
- data/data/ie/2016-04-28_general-election-2016-candidate-details-csv_en.csv +552 -0
- data/data/ie/ireland_2016_to_psv.rb +138 -0
- data/data/no/2020-01-01_partifordeling_1_st_2017.csv +335 -0
- data/data/no/norway_2017_to_psv.rb +61 -0
- data/data/pl/2015-gl-lis-okr.csv +42 -0
- data/data/pl/poland_2015_to_psv.rb +79 -0
- data/data/pl/poland_2015_to_psv_with_ko_and_rsw.rb +94 -0
- data/data/pl/poland_2015_to_psv_with_ko_konf_kp_l_and_zp.rb +100 -0
- data/data/pl/poland_2015_to_psv_with_ko_sld_and_wi.rb +92 -0
- data/data/pl/poland_2015_to_psv_with_sld.rb +84 -0
- data/data/pl/poland_2015_to_psv_with_sld_and_wi.rb +85 -0
- data/data/uk/inject_ukip_2015_as_brexit_2019_in_2017.rb +54 -0
- data/data/uk/united_kingdom_2015.txt +651 -0
- data/data/uk/united_kingdom_2015_to_psv.rb +104 -0
- data/data/uk/united_kingdom_2017.txt +651 -0
- data/data/uk/united_kingdom_2017_to_psv.rb +104 -0
- data/data/uk/united_kingdom_2017_to_psv_with_brexit_and_chuk.rb +113 -0
- data/data/uk/united_kingdom_2017_to_psv_with_tig.rb +111 -0
- data/lib/sapor.rb +147 -0
- data/lib/sapor/binomials_cache.rb +45 -0
- data/lib/sapor/combinations_distribution.rb +222 -0
- data/lib/sapor/denominators.rb +67 -0
- data/lib/sapor/dichotomies.rb +138 -0
- data/lib/sapor/dichotomy.rb +164 -0
- data/lib/sapor/first_past_the_post.rb +82 -0
- data/lib/sapor/largest_remainder.rb +118 -0
- data/lib/sapor/log4r_logger.rb +49 -0
- data/lib/sapor/log_facade.rb +40 -0
- data/lib/sapor/many_past_the_post.rb +113 -0
- data/lib/sapor/multi_district_leveled_proportional.rb +64 -0
- data/lib/sapor/multi_district_proportional.rb +123 -0
- data/lib/sapor/multi_district_variable_threshold_proportional.rb +128 -0
- data/lib/sapor/number_formatter.rb +45 -0
- data/lib/sapor/options.rb +73 -0
- data/lib/sapor/poll.rb +282 -0
- data/lib/sapor/polychotomy.rb +200 -0
- data/lib/sapor/pseudorandom_multirange_enumerator.rb +87 -0
- data/lib/sapor/referendum_polychotomy.rb +165 -0
- data/lib/sapor/regional_data/area.rb +100 -0
- data/lib/sapor/regional_data/austria.rb +84 -0
- data/lib/sapor/regional_data/belgium-brussels-2014.psv +46 -0
- data/lib/sapor/regional_data/belgium-brussels-20190526.psv +33 -0
- data/lib/sapor/regional_data/belgium-flanders-2014.psv +80 -0
- data/lib/sapor/regional_data/belgium-flanders-20190526.psv +74 -0
- data/lib/sapor/regional_data/belgium-wallonia-2014.psv +114 -0
- data/lib/sapor/regional_data/belgium-wallonia-20190526.psv +93 -0
- data/lib/sapor/regional_data/belgium.rb +97 -0
- data/lib/sapor/regional_data/belgium_brussels.rb +62 -0
- data/lib/sapor/regional_data/belgium_flanders.rb +64 -0
- data/lib/sapor/regional_data/belgium_wallonia.rb +63 -0
- data/lib/sapor/regional_data/catalonia-2012-2015.psv +100 -0
- data/lib/sapor/regional_data/catalonia-2012.psv +87 -0
- data/lib/sapor/regional_data/catalonia-2015-jxcat.psv +68 -0
- data/lib/sapor/regional_data/catalonia-2015-no-jxsi.psv +68 -0
- data/lib/sapor/regional_data/catalonia-2015.psv +63 -0
- data/lib/sapor/regional_data/catalonia-20171221-with-vox.psv +67 -0
- data/lib/sapor/regional_data/catalonia-20171221.psv +61 -0
- data/lib/sapor/regional_data/catalonia.rb +124 -0
- data/lib/sapor/regional_data/denmark-20150618-with-e-and-p.psv +164 -0
- data/lib/sapor/regional_data/denmark-20150618-with-e.psv +153 -0
- data/lib/sapor/regional_data/denmark-20150618-with-p.psv +153 -0
- data/lib/sapor/regional_data/denmark-20150618.psv +142 -0
- data/lib/sapor/regional_data/denmark.rb +128 -0
- data/lib/sapor/regional_data/denmark_with_e.rb +128 -0
- data/lib/sapor/regional_data/denmark_with_e_and_p.rb +128 -0
- data/lib/sapor/regional_data/denmark_with_p.rb +128 -0
- data/lib/sapor/regional_data/estonia.rb +88 -0
- data/lib/sapor/regional_data/european-union-great-britain-20140522-brexit-chuk.psv +172 -0
- data/lib/sapor/regional_data/european-union-great-britain-20140522.psv +146 -0
- data/lib/sapor/regional_data/european-union-great-britain-20190523.psv +141 -0
- data/lib/sapor/regional_data/european-union-ireland-2014-ia-ri-sd.psv +64 -0
- data/lib/sapor/regional_data/european-union-ireland-2014-ia-sd.psv +60 -0
- data/lib/sapor/regional_data/european-union-ireland-2014-ia.psv +56 -0
- data/lib/sapor/regional_data/european-union-ireland-2014-sd.psv +56 -0
- data/lib/sapor/regional_data/european-union-ireland-2014.psv +50 -0
- data/lib/sapor/regional_data/european-union-ireland-20190524-ia.psv +58 -0
- data/lib/sapor/regional_data/european-union-ireland-20190524.psv +52 -0
- data/lib/sapor/regional_data/european_union_27_austria.rb +76 -0
- data/lib/sapor/regional_data/european_union_27_croatia.rb +83 -0
- data/lib/sapor/regional_data/european_union_27_denmark.rb +77 -0
- data/lib/sapor/regional_data/european_union_27_estonia.rb +74 -0
- data/lib/sapor/regional_data/european_union_27_finland.rb +74 -0
- data/lib/sapor/regional_data/european_union_27_france.rb +84 -0
- data/lib/sapor/regional_data/european_union_27_ireland.rb +96 -0
- data/lib/sapor/regional_data/european_union_27_ireland_with_ia.rb +97 -0
- data/lib/sapor/regional_data/european_union_27_italy.rb +84 -0
- data/lib/sapor/regional_data/european_union_27_netherlands.rb +81 -0
- data/lib/sapor/regional_data/european_union_27_poland.rb +84 -0
- data/lib/sapor/regional_data/european_union_27_romania.rb +78 -0
- data/lib/sapor/regional_data/european_union_27_slovakia.rb +80 -0
- data/lib/sapor/regional_data/european_union_27_spain.rb +82 -0
- data/lib/sapor/regional_data/european_union_27_sweden.rb +76 -0
- data/lib/sapor/regional_data/european_union_austria.rb +76 -0
- data/lib/sapor/regional_data/european_union_bulgaria.rb +82 -0
- data/lib/sapor/regional_data/european_union_croatia.rb +83 -0
- data/lib/sapor/regional_data/european_union_cyprus.rb +72 -0
- data/lib/sapor/regional_data/european_union_czech_republic.rb +82 -0
- data/lib/sapor/regional_data/european_union_denmark.rb +77 -0
- data/lib/sapor/regional_data/european_union_estonia.rb +74 -0
- data/lib/sapor/regional_data/european_union_finland.rb +74 -0
- data/lib/sapor/regional_data/european_union_flanders.rb +74 -0
- data/lib/sapor/regional_data/european_union_france.rb +84 -0
- data/lib/sapor/regional_data/european_union_french_community_of_belgium.rb +73 -0
- data/lib/sapor/regional_data/european_union_germany.rb +86 -0
- data/lib/sapor/regional_data/european_union_great_britain.rb +98 -0
- data/lib/sapor/regional_data/european_union_greece.rb +77 -0
- data/lib/sapor/regional_data/european_union_hungary.rb +76 -0
- data/lib/sapor/regional_data/european_union_ireland.rb +96 -0
- data/lib/sapor/regional_data/european_union_ireland_with_ia.rb +97 -0
- data/lib/sapor/regional_data/european_union_italy.rb +84 -0
- data/lib/sapor/regional_data/european_union_latvia.rb +81 -0
- data/lib/sapor/regional_data/european_union_lithuania.rb +80 -0
- data/lib/sapor/regional_data/european_union_luxembourg.rb +75 -0
- data/lib/sapor/regional_data/european_union_malta.rb +71 -0
- data/lib/sapor/regional_data/european_union_netherlands.rb +81 -0
- data/lib/sapor/regional_data/european_union_northern_ireland.rb +75 -0
- data/lib/sapor/regional_data/european_union_poland.rb +84 -0
- data/lib/sapor/regional_data/european_union_portugal.rb +75 -0
- data/lib/sapor/regional_data/european_union_romania.rb +78 -0
- data/lib/sapor/regional_data/european_union_slovakia.rb +81 -0
- data/lib/sapor/regional_data/european_union_slovenia.rb +85 -0
- data/lib/sapor/regional_data/european_union_spain.rb +82 -0
- data/lib/sapor/regional_data/european_union_sweden.rb +76 -0
- data/lib/sapor/regional_data/finland-20150419-with-sin.psv +224 -0
- data/lib/sapor/regional_data/finland-20150419.psv +212 -0
- data/lib/sapor/regional_data/finland.rb +107 -0
- data/lib/sapor/regional_data/finland_with_sin.rb +107 -0
- data/lib/sapor/regional_data/flanders-2014.psv +96 -0
- data/lib/sapor/regional_data/flanders-20190526.psv +87 -0
- data/lib/sapor/regional_data/flanders.rb +115 -0
- data/lib/sapor/regional_data/france.rb +38 -0
- data/lib/sapor/regional_data/greece.rb +92 -0
- data/lib/sapor/regional_data/hungary-2014.psv +2104 -0
- data/lib/sapor/regional_data/hungary.rb +116 -0
- data/lib/sapor/regional_data/iceland-20161029-midflokkurinn.psv +94 -0
- data/lib/sapor/regional_data/iceland-20161029.psv +88 -0
- data/lib/sapor/regional_data/iceland-20171028-with-j.psv +94 -0
- data/lib/sapor/regional_data/iceland-20171028.psv +85 -0
- data/lib/sapor/regional_data/iceland.rb +149 -0
- data/lib/sapor/regional_data/ireland-20160226-2020-candidates.psv +322 -0
- data/lib/sapor/regional_data/ireland-20160226-2020.psv +344 -0
- data/lib/sapor/regional_data/ireland-20160226.psv +348 -0
- data/lib/sapor/regional_data/ireland.rb +165 -0
- data/lib/sapor/regional_data/latvia-20141004-kpv-p-par.psv +109 -0
- data/lib/sapor/regional_data/latvia-20141004-kpv-par.psv +103 -0
- data/lib/sapor/regional_data/latvia-20141004-kpv.psv +97 -0
- data/lib/sapor/regional_data/latvia-20141004.psv +89 -0
- data/lib/sapor/regional_data/latvia-20181006.psv +104 -0
- data/lib/sapor/regional_data/latvia.rb +111 -0
- data/lib/sapor/regional_data/luxembourg-20131020.psv +60 -0
- data/lib/sapor/regional_data/luxembourg-20181014.psv +59 -0
- data/lib/sapor/regional_data/luxembourg.rb +88 -0
- data/lib/sapor/regional_data/netherlands.rb +108 -0
- data/lib/sapor/regional_data/norway-20170911.psv +331 -0
- data/lib/sapor/regional_data/norway.rb +130 -0
- data/lib/sapor/regional_data/norwegian_municipality.rb +68 -0
- data/lib/sapor/regional_data/poland-20151025-with-ko-and-l-without-n-po-r-and-zl.psv +321 -0
- data/lib/sapor/regional_data/poland-20151025-with-ko-konf-kp-l-and-zp-without-k-k15-n-pis-po-psl-r-and-zl.psv +280 -0
- data/lib/sapor/regional_data/poland-20151025-with-ko-sld-and-wi-without-n-po-and-zl.psv +403 -0
- data/lib/sapor/regional_data/poland-20151025-with-sld-and-wi-without-zl.psv +444 -0
- data/lib/sapor/regional_data/poland-20151025-with-sld-without-zl.psv +403 -0
- data/lib/sapor/regional_data/poland-20151025.psv +403 -0
- data/lib/sapor/regional_data/poland.rb +125 -0
- data/lib/sapor/regional_data/poland_with_ko_and_l_without_n_po_r_and_zl.rb +122 -0
- data/lib/sapor/regional_data/poland_with_ko_konf_kp_l_and_zp_without_k_k15_n_pis_po_psl_r_and_zl.rb +123 -0
- data/lib/sapor/regional_data/poland_with_ko_sld_and_wi_without_n_po_and_zl.rb +125 -0
- data/lib/sapor/regional_data/poland_with_sld_and_wi_without_zl.rb +126 -0
- data/lib/sapor/regional_data/poland_with_sld_without_zl.rb +126 -0
- data/lib/sapor/regional_data/portugal-20151004-with-a-and-ch-without-paf.psv +438 -0
- data/lib/sapor/regional_data/portugal-20151004-with-a-and-il-without-paf.psv +438 -0
- data/lib/sapor/regional_data/portugal-20151004-with-a-ch-and-il-without-paf.psv +461 -0
- data/lib/sapor/regional_data/portugal-20151004-with-a-without-paf.psv +415 -0
- data/lib/sapor/regional_data/portugal-20151004-with-ch-and-il-without-paf.psv +438 -0
- data/lib/sapor/regional_data/portugal-20151004-without-paf.psv +392 -0
- data/lib/sapor/regional_data/portugal-20151004.psv +370 -0
- data/lib/sapor/regional_data/portugal.rb +101 -0
- data/lib/sapor/regional_data/portugal_with_a_and_ch_without_paf.rb +92 -0
- data/lib/sapor/regional_data/portugal_with_a_and_il_without_paf.rb +92 -0
- data/lib/sapor/regional_data/portugal_with_a_ch_and_il_without_paf.rb +92 -0
- data/lib/sapor/regional_data/portugal_with_a_without_paf.rb +92 -0
- data/lib/sapor/regional_data/portugal_with_ch_and_il_without_paf.rb +92 -0
- data/lib/sapor/regional_data/portugal_without_paf.rb +92 -0
- data/lib/sapor/regional_data/slovakia.rb +81 -0
- data/lib/sapor/regional_data/slovenia.rb +114 -0
- data/lib/sapor/regional_data/spain-20160626.psv +619 -0
- data/lib/sapor/regional_data/spain.rb +136 -0
- data/lib/sapor/regional_data/sweden.rb +92 -0
- data/lib/sapor/regional_data/sweden_20140914.rb +89 -0
- data/lib/sapor/regional_data/united_kingdom-2015.psv +4358 -0
- data/lib/sapor/regional_data/united_kingdom-20170608-brexit-chuk.psv +5154 -0
- data/lib/sapor/regional_data/united_kingdom-20170608-brexit.psv +4521 -0
- data/lib/sapor/regional_data/united_kingdom-20170608-tig.psv +4529 -0
- data/lib/sapor/regional_data/united_kingdom-20170608.psv +3894 -0
- data/lib/sapor/regional_data/united_kingdom.rb +94 -0
- data/lib/sapor/regional_data/united_kingdom_with_brexit.rb +110 -0
- data/lib/sapor/regional_data/united_kingdom_with_brexit_and_chuk.rb +111 -0
- data/lib/sapor/regional_data/united_kingdom_with_tig.rb +111 -0
- data/lib/sapor/regional_data/utopia.rb +66 -0
- data/lib/sapor/regional_data/wallonia-2014.psv +101 -0
- data/lib/sapor/regional_data/wallonia-20190526.psv +88 -0
- data/lib/sapor/regional_data/wallonia.rb +112 -0
- data/lib/sapor/representatives_polychotomy.rb +338 -0
- data/lib/sapor/single_district_proportional.rb +75 -0
- data/sapor.gemspec +35 -0
- data/spec/integration/area_spec.rb +28 -0
- data/spec/integration/poll_spec.rb +112 -0
- data/spec/integration/sample.poll +8 -0
- data/spec/spec_helper.rb +31 -0
- data/spec/unit/area_spec.rb +115 -0
- data/spec/unit/austria_spec.rb +76 -0
- data/spec/unit/belgium_brussels_spec.rb +58 -0
- data/spec/unit/belgium_flanders_spec.rb +62 -0
- data/spec/unit/belgium_spec.rb +26 -0
- data/spec/unit/belgium_wallonia_spec.rb +65 -0
- data/spec/unit/binomials_cache_spec.rb +34 -0
- data/spec/unit/catalonia_spec.rb +61 -0
- data/spec/unit/catalonia_with_vox_spec.rb +62 -0
- data/spec/unit/combinations_distribution_spec.rb +241 -0
- data/spec/unit/denmark_spec.rb +56 -0
- data/spec/unit/denmark_with_e_and_p_spec.rb +58 -0
- data/spec/unit/denmark_with_e_spec.rb +57 -0
- data/spec/unit/denmark_with_p_spec.rb +57 -0
- data/spec/unit/denominators_spec.rb +40 -0
- data/spec/unit/dichotomies_spec.rb +154 -0
- data/spec/unit/dichotomy_spec.rb +320 -0
- data/spec/unit/estonia_spec.rb +65 -0
- data/spec/unit/european_union_27_austria_spec.rb +61 -0
- data/spec/unit/european_union_27_croatia_spec.rb +60 -0
- data/spec/unit/european_union_27_denmark_spec.rb +62 -0
- data/spec/unit/european_union_27_estonia_spec.rb +94 -0
- data/spec/unit/european_union_27_finland_spec.rb +75 -0
- data/spec/unit/european_union_27_france_spec.rb +73 -0
- data/spec/unit/european_union_27_ireland_spec.rb +72 -0
- data/spec/unit/european_union_27_ireland_with_ia_spec.rb +74 -0
- data/spec/unit/european_union_27_italy_spec.rb +69 -0
- data/spec/unit/european_union_27_netherlands_spec.rb +81 -0
- data/spec/unit/european_union_27_poland_spec.rb +69 -0
- data/spec/unit/european_union_27_romania_spec.rb +67 -0
- data/spec/unit/european_union_27_slovakia_spec.rb +111 -0
- data/spec/unit/european_union_27_spain_spec.rb +130 -0
- data/spec/unit/european_union_27_sweden_spec.rb +89 -0
- data/spec/unit/european_union_austria_spec.rb +61 -0
- data/spec/unit/european_union_bulgaria_spec.rb +97 -0
- data/spec/unit/european_union_croatia_spec.rb +59 -0
- data/spec/unit/european_union_cyprus_spec.rb +65 -0
- data/spec/unit/european_union_czech_republic_spec.rb +125 -0
- data/spec/unit/european_union_denmark_spec.rb +61 -0
- data/spec/unit/european_union_estonia_spec.rb +93 -0
- data/spec/unit/european_union_finland_spec.rb +75 -0
- data/spec/unit/european_union_flanders_spec.rb +56 -0
- data/spec/unit/european_union_france_spec.rb +73 -0
- data/spec/unit/european_union_french_community_of_belgium_spec.rb +61 -0
- data/spec/unit/european_union_germany_spec.rb +90 -0
- data/spec/unit/european_union_great_britain_spec.rb +87 -0
- data/spec/unit/european_union_greece_spec.rb +148 -0
- data/spec/unit/european_union_hungary_spec.rb +57 -0
- data/spec/unit/european_union_ireland_spec.rb +72 -0
- data/spec/unit/european_union_ireland_with_ia_spec.rb +74 -0
- data/spec/unit/european_union_italy_spec.rb +69 -0
- data/spec/unit/european_union_latvia_spec.rb +76 -0
- data/spec/unit/european_union_lithuania_spec.rb +68 -0
- data/spec/unit/european_union_luxembourg_spec.rb +63 -0
- data/spec/unit/european_union_malta_spec.rb +60 -0
- data/spec/unit/european_union_netherlands_spec.rb +81 -0
- data/spec/unit/european_union_northern_ireland_spec.rb +66 -0
- data/spec/unit/european_union_poland_spec.rb +69 -0
- data/spec/unit/european_union_portugal_spec.rb +77 -0
- data/spec/unit/european_union_romania_spec.rb +67 -0
- data/spec/unit/european_union_slovakia_spec.rb +111 -0
- data/spec/unit/european_union_slovenia_spec.rb +77 -0
- data/spec/unit/european_union_spain_spec.rb +129 -0
- data/spec/unit/european_union_sweden_spec.rb +89 -0
- data/spec/unit/finland_spec.rb +65 -0
- data/spec/unit/finland_with_sin_spec.rb +67 -0
- data/spec/unit/first_past_the_post_spec.rb +54 -0
- data/spec/unit/flanders_spec.rb +70 -0
- data/spec/unit/france_spec.rb +32 -0
- data/spec/unit/greece_spec.rb +118 -0
- data/spec/unit/hungary_spec.rb +132 -0
- data/spec/unit/iceland_spec.rb +57 -0
- data/spec/unit/iceland_with_j_spec.rb +58 -0
- data/spec/unit/ireland_2016_spec.rb +62 -0
- data/spec/unit/ireland_spec.rb +62 -0
- data/spec/unit/largest_remainder_spec.rb +79 -0
- data/spec/unit/latvia_spec.rb +62 -0
- data/spec/unit/luxembourg_spec.rb +55 -0
- data/spec/unit/multi_district_leveled_proportional_spec.rb +49 -0
- data/spec/unit/multi_district_proportional_spec.rb +81 -0
- data/spec/unit/netherlands_spec.rb +107 -0
- data/spec/unit/norway_spec.rb +69 -0
- data/spec/unit/norwegian_municipality_spec.rb +89 -0
- data/spec/unit/number_formatter_spec.rb +173 -0
- data/spec/unit/poland_spec.rb +62 -0
- data/spec/unit/poland_with_ko_and_l_without_n_po_r_and_zl_spec.rb +60 -0
- data/spec/unit/poland_with_ko_konf_kp_l_and_zp_without_k_k15_n_pis_po_psl_r_and_zl_spec.rb +59 -0
- data/spec/unit/poland_with_ko_sld_and_wi_without_n_po_and_zl_spec.rb +62 -0
- data/spec/unit/poland_with_sld_and_wi_without_zl_spec.rb +63 -0
- data/spec/unit/poland_with_sld_without_zl_spec.rb +62 -0
- data/spec/unit/poll_spec.rb +110 -0
- data/spec/unit/portugal_spec.rb +66 -0
- data/spec/unit/portugal_with_a_and_ch_without_paf_spec.rb +68 -0
- data/spec/unit/portugal_with_a_and_il_without_paf_spec.rb +68 -0
- data/spec/unit/portugal_with_a_ch_and_il_without_paf_spec.rb +69 -0
- data/spec/unit/portugal_with_a_without_paf_spec.rb +67 -0
- data/spec/unit/portugal_with_ch_and_il_without_paf_spec.rb +68 -0
- data/spec/unit/portugal_without_paf_spec.rb +66 -0
- data/spec/unit/pseudorandom_multirange_enumerator_spec.rb +82 -0
- data/spec/unit/referendum_polychotomy_spec.rb +289 -0
- data/spec/unit/representatives_polychotomy_spec.rb +332 -0
- data/spec/unit/slovakia_spec.rb +99 -0
- data/spec/unit/slovenia_spec.rb +80 -0
- data/spec/unit/spain_spec.rb +101 -0
- data/spec/unit/sweden_20140914_spec.rb +112 -0
- data/spec/unit/sweden_spec.rb +113 -0
- data/spec/unit/united_kingdom_spec.rb +65 -0
- data/spec/unit/united_kingdom_with_brexit_and_chuk_spec.rb +67 -0
- data/spec/unit/united_kingdom_with_brexit_spec.rb +66 -0
- data/spec/unit/united_kingdom_with_tig_spec.rb +66 -0
- data/spec/unit/wallonia_spec.rb +70 -0
- metadata +502 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
#
|
|
3
|
+
# Statistical Analysis of Polling Results (SAPoR)
|
|
4
|
+
# Copyright (C) 2020 Filip van Laenen <f.a.vanlaenen@ieee.org>
|
|
5
|
+
#
|
|
6
|
+
# This file is part of SAPoR.
|
|
7
|
+
#
|
|
8
|
+
# SAPoR is free software: you can redistribute it and/or modify it under the
|
|
9
|
+
# terms of the GNU General Public License as published by the Free Software
|
|
10
|
+
# Foundation, either version 3 of the License, or (at your option) any later
|
|
11
|
+
# version.
|
|
12
|
+
#
|
|
13
|
+
# SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
14
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
15
|
+
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
16
|
+
#
|
|
17
|
+
# You can find a copy of the GNU General Public License in /doc/gpl.txt
|
|
18
|
+
#
|
|
19
|
+
|
|
20
|
+
require 'spec_helper'
|
|
21
|
+
|
|
22
|
+
describe Sapor::EuropeanUnionNorthernIreland, '#area_code' do
|
|
23
|
+
it 'returns EU[GB-NIR] as the area code' do
|
|
24
|
+
expect(Sapor::EuropeanUnionNorthernIreland.instance.area_code).to \
|
|
25
|
+
eq('EU[GB-NIR]')
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe Sapor::EuropeanUnionNorthernIreland, '#no_of_seats' do
|
|
30
|
+
it 'returns 3 as the number of seats' do
|
|
31
|
+
expect(Sapor::EuropeanUnionNorthernIreland.instance.no_of_seats).to eq(3)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
describe Sapor::EuropeanUnionNorthernIreland, '#population_size' do
|
|
36
|
+
it 'returns a population size of 572,447' do
|
|
37
|
+
expect(Sapor::EuropeanUnionNorthernIreland.instance.population_size).to \
|
|
38
|
+
eq(572_447)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe Sapor::EuropeanUnionNorthernIreland, '#seats' do
|
|
43
|
+
it 'calculates the number of seats for the election of 2014' do
|
|
44
|
+
results = { 'Sinn Féin (GUE/NGL)' => 159_813,
|
|
45
|
+
'Democratic Unionist Party (NI)' => 131_163,
|
|
46
|
+
'Ulster Unionist Party (ECR)' => 83_438,
|
|
47
|
+
'Social Democratic and Labour Party (S&D)' => 81_594,
|
|
48
|
+
'Traditional Unionist Voice (*)' => 75_806,
|
|
49
|
+
'Alliance Party of Northern Ireland (ALDE)' => 44_432,
|
|
50
|
+
'UK Independence Party (ENF)' => 24_584,
|
|
51
|
+
'Green Party in Northern Ireland (Greens/EFA)' => 10_598,
|
|
52
|
+
'NI21 (*)' => 10_553,
|
|
53
|
+
'Northern Ireland Conservatives (ECR)' => 4_144}
|
|
54
|
+
seats = Sapor::EuropeanUnionNorthernIreland.instance.seats(results)
|
|
55
|
+
expect(seats['Sinn Féin (GUE/NGL)']).to eq(1)
|
|
56
|
+
expect(seats['Democratic Unionist Party (NI)']).to eq(1)
|
|
57
|
+
expect(seats['Ulster Unionist Party (ECR)']).to eq(1)
|
|
58
|
+
expect(seats['Social Democratic and Labour Party (S&D)']).to eq(0)
|
|
59
|
+
expect(seats['Traditional Unionist Voice (*)']).to eq(0)
|
|
60
|
+
expect(seats['Alliance Party of Northern Ireland (ALDE)']).to eq(0)
|
|
61
|
+
expect(seats['UK Independence Party (ENF)']).to eq(0)
|
|
62
|
+
expect(seats['Green Party in Northern Ireland (Greens/EFA)']).to eq(0)
|
|
63
|
+
expect(seats['NI21 (*)']).to eq(0)
|
|
64
|
+
expect(seats['Northern Ireland Conservatives (ECR)']).to eq(0)
|
|
65
|
+
end
|
|
66
|
+
end
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
#
|
|
3
|
+
# Statistical Analysis of Polling Results (SAPoR)
|
|
4
|
+
# Copyright (C) 2020 Filip van Laenen <f.a.vanlaenen@ieee.org>
|
|
5
|
+
#
|
|
6
|
+
# This file is part of SAPoR.
|
|
7
|
+
#
|
|
8
|
+
# SAPoR is free software: you can redistribute it and/or modify it under the
|
|
9
|
+
# terms of the GNU General Public License as published by the Free Software
|
|
10
|
+
# Foundation, either version 3 of the License, or (at your option) any later
|
|
11
|
+
# version.
|
|
12
|
+
#
|
|
13
|
+
# SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
14
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
15
|
+
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
16
|
+
#
|
|
17
|
+
# You can find a copy of the GNU General Public License in /doc/gpl.txt
|
|
18
|
+
#
|
|
19
|
+
|
|
20
|
+
require 'spec_helper'
|
|
21
|
+
|
|
22
|
+
describe Sapor::EuropeanUnionPoland, '#area_code' do
|
|
23
|
+
it 'returns EU[PL] as the area code' do
|
|
24
|
+
expect(Sapor::EuropeanUnionPoland.instance.area_code).to eq('EU[PL]')
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
describe Sapor::EuropeanUnionPoland, '#no_of_seats' do
|
|
29
|
+
it 'returns 51 as the number of seats' do
|
|
30
|
+
expect(Sapor::EuropeanUnionPoland.instance.no_of_seats).to eq(51)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
describe Sapor::EuropeanUnionPoland, '#population_size' do
|
|
35
|
+
it 'returns a population size of 13,647,311' do
|
|
36
|
+
expect(Sapor::EuropeanUnionPoland.instance.population_size).to \
|
|
37
|
+
eq(13_647_311)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
describe Sapor::EuropeanUnionPoland, '#seats' do
|
|
42
|
+
it 'calculates the number of seats for the election of 2014' do
|
|
43
|
+
results = { 'Platforma Obywatelska (EPP)' => 2_271_215,
|
|
44
|
+
'Prawo i Sprawiedliwość (ECR)' => 2_246_870,
|
|
45
|
+
'Sojusz Lewicy Demokratycznej–Unia Pracy (S&D)' => 667_319,
|
|
46
|
+
'Kongres Nowej Prawicy (ENF)' => 505_586,
|
|
47
|
+
'Polskie Stronnictwo Ludowe (EPP)' => 480_846,
|
|
48
|
+
'Solidarna Polska Zbigniewa Ziobro (EFDD)' => 281_079,
|
|
49
|
+
'Europa Plus–Twój Ruch (ALDE)' => 252_779,
|
|
50
|
+
'Polska Razem (ECR)' => 223_733,
|
|
51
|
+
'Ruch Narodowy (—)' => 98_626,
|
|
52
|
+
'Partia Zieloni (Greens/EFA)' => 22_481,
|
|
53
|
+
'Demokracja Bezpośrednia (—)' => 16_222,
|
|
54
|
+
'Samoobrona (—)' => 2_729 }
|
|
55
|
+
seats = Sapor::EuropeanUnionPoland.instance.seats(results)
|
|
56
|
+
expect(seats['Platforma Obywatelska (EPP)']).to eq(19)
|
|
57
|
+
expect(seats['Prawo i Sprawiedliwość (ECR)']).to eq(19)
|
|
58
|
+
expect(seats['Sojusz Lewicy Demokratycznej–Unia Pracy (S&D)']).to eq(5)
|
|
59
|
+
expect(seats['Kongres Nowej Prawicy (ENF)']).to eq(4)
|
|
60
|
+
expect(seats['Polskie Stronnictwo Ludowe (EPP)']).to eq(4)
|
|
61
|
+
expect(seats['Solidarna Polska Zbigniewa Ziobro (EFDD)']).to eq(0)
|
|
62
|
+
expect(seats['Europa Plus–Twój Ruch (ALDE)']).to eq(0)
|
|
63
|
+
expect(seats['Polska Razem (ECR)']).to eq(0)
|
|
64
|
+
expect(seats['Ruch Narodowy (—)']).to eq(0)
|
|
65
|
+
expect(seats['Partia Zieloni (Greens/EFA)']).to eq(0)
|
|
66
|
+
expect(seats['Demokracja Bezpośrednia (—)']).to eq(0)
|
|
67
|
+
expect(seats['Samoobrona (—)']).to eq(0)
|
|
68
|
+
end
|
|
69
|
+
end
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
#
|
|
3
|
+
# Statistical Analysis of Polling Results (SAPoR)
|
|
4
|
+
# Copyright (C) 2020 Filip van Laenen <f.a.vanlaenen@ieee.org>
|
|
5
|
+
#
|
|
6
|
+
# This file is part of SAPoR.
|
|
7
|
+
#
|
|
8
|
+
# SAPoR is free software: you can redistribute it and/or modify it under the
|
|
9
|
+
# terms of the GNU General Public License as published by the Free Software
|
|
10
|
+
# Foundation, either version 3 of the License, or (at your option) any later
|
|
11
|
+
# version.
|
|
12
|
+
#
|
|
13
|
+
# SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
14
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
15
|
+
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
16
|
+
#
|
|
17
|
+
# You can find a copy of the GNU General Public License in /doc/gpl.txt
|
|
18
|
+
#
|
|
19
|
+
|
|
20
|
+
require 'spec_helper'
|
|
21
|
+
|
|
22
|
+
describe Sapor::EuropeanUnionPortugal, '#area_code' do
|
|
23
|
+
it 'returns EU[PT] as the area code' do
|
|
24
|
+
expect(Sapor::EuropeanUnionPortugal.instance.area_code).to eq('EU[PT]')
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
describe Sapor::EuropeanUnionPortugal, '#no_of_seats' do
|
|
29
|
+
it 'returns 21 as the number of seats' do
|
|
30
|
+
expect(Sapor::EuropeanUnionPortugal.instance.no_of_seats).to eq(21)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
describe Sapor::EuropeanUnionPortugal, '#population_size' do
|
|
35
|
+
it 'returns a population size of 3,084,505' do
|
|
36
|
+
expect(Sapor::EuropeanUnionPortugal.instance.population_size).to \
|
|
37
|
+
eq(3_084_505)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
describe Sapor::EuropeanUnionPortugal, '#seats' do
|
|
42
|
+
it 'calculates the number of seats for the election of 2014' do
|
|
43
|
+
results = { 'Partido Socialista (S&D)' => 1_033_158,
|
|
44
|
+
'Aliança Portugal (EPP)' => 909_932,
|
|
45
|
+
'Coligação Democrática Unitária (GUE/NGL)' => 416_446,
|
|
46
|
+
'Partido da Terra (ALDE)' => 234_603,
|
|
47
|
+
'Bloco de Esquerda (GUE/NGL)' => 149_628,
|
|
48
|
+
'LIVRE (Greens/EFA)' => 71_602,
|
|
49
|
+
'Partido pelos Animais e pela Natureza (GUE/NGL)' => 56_363,
|
|
50
|
+
'PCTP/MRPP (—)' => 54_622,
|
|
51
|
+
'Partido da Nova Democracia (ALDE)' => 23_046,
|
|
52
|
+
'Partido Trabalhista Português (—)' => 22_531,
|
|
53
|
+
'Partido Popular Monárquico (—)' => 17_732,
|
|
54
|
+
'Partido Nacional Renovador (—)' => 15_036,
|
|
55
|
+
'Movimento Alternativa Socialista (—)' => 12_442,
|
|
56
|
+
'Portugal pro Vida (—)' => 12_017,
|
|
57
|
+
'Partido Democrático do Atlântico (ALDE)' => 5_300,
|
|
58
|
+
'Partido Operário de Unidade Socialista (—)' => 3_695 }
|
|
59
|
+
seats = Sapor::EuropeanUnionPortugal.instance.seats(results)
|
|
60
|
+
expect(seats['Partido Socialista (S&D)']).to eq(8)
|
|
61
|
+
expect(seats['Aliança Portugal (EPP)']).to eq(7)
|
|
62
|
+
expect(seats['Coligação Democrática Unitária (GUE/NGL)']).to eq(3)
|
|
63
|
+
expect(seats['Partido da Terra (ALDE)']).to eq(2)
|
|
64
|
+
expect(seats['Bloco de Esquerda (GUE/NGL)']).to eq(1)
|
|
65
|
+
expect(seats['LIVRE (Greens/EFA)']).to eq(0)
|
|
66
|
+
expect(seats['Partido pelos Animais e pela Natureza (GUE/NGL)']).to eq(0)
|
|
67
|
+
expect(seats['PCTP/MRPP (—)']).to eq(0)
|
|
68
|
+
expect(seats['Partido da Nova Democracia (ALDE)']).to eq(0)
|
|
69
|
+
expect(seats['Partido Trabalhista Português (—)']).to eq(0)
|
|
70
|
+
expect(seats['Partido Popular Monárquico (—)']).to eq(0)
|
|
71
|
+
expect(seats['Partido Nacional Renovador (—)']).to eq(0)
|
|
72
|
+
expect(seats['Movimento Alternativa Socialista (—)']).to eq(0)
|
|
73
|
+
expect(seats['Portugal pro Vida (—)']).to eq(0)
|
|
74
|
+
expect(seats['Partido Democrático do Atlântico (ALDE)']).to eq(0)
|
|
75
|
+
expect(seats['Partido Operário de Unidade Socialista (—)']).to eq(0)
|
|
76
|
+
end
|
|
77
|
+
end
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
#
|
|
3
|
+
# Statistical Analysis of Polling Results (SAPoR)
|
|
4
|
+
# Copyright (C) 2020 Filip van Laenen <f.a.vanlaenen@ieee.org>
|
|
5
|
+
#
|
|
6
|
+
# This file is part of SAPoR.
|
|
7
|
+
#
|
|
8
|
+
# SAPoR is free software: you can redistribute it and/or modify it under the
|
|
9
|
+
# terms of the GNU General Public License as published by the Free Software
|
|
10
|
+
# Foundation, either version 3 of the License, or (at your option) any later
|
|
11
|
+
# version.
|
|
12
|
+
#
|
|
13
|
+
# SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
14
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
15
|
+
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
16
|
+
#
|
|
17
|
+
# You can find a copy of the GNU General Public License in /doc/gpl.txt
|
|
18
|
+
#
|
|
19
|
+
|
|
20
|
+
require 'spec_helper'
|
|
21
|
+
|
|
22
|
+
describe Sapor::EuropeanUnionRomania, '#area_code' do
|
|
23
|
+
it 'returns EU[RO] as the area code' do
|
|
24
|
+
expect(Sapor::EuropeanUnionRomania.instance.area_code).to eq('EU[RO]')
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
describe Sapor::EuropeanUnionRomania, '#no_of_seats' do
|
|
29
|
+
it 'returns 32 as the number of seats' do
|
|
30
|
+
expect(Sapor::EuropeanUnionRomania.instance.no_of_seats).to eq(32)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
describe Sapor::EuropeanUnionRomania, '#population_size' do
|
|
35
|
+
it 'returns a population size of 9,352,472' do
|
|
36
|
+
expect(Sapor::EuropeanUnionRomania.instance.population_size).to \
|
|
37
|
+
eq(9_352_472)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
describe Sapor::EuropeanUnionRomania, '#seats' do
|
|
42
|
+
it 'calculates the number of seats for the election of 2014' do
|
|
43
|
+
results = { 'Uniunea Social Democrată (S&D)' => 2_093_237,
|
|
44
|
+
'Partidul Național Liberal (ALDE)' => 835_531,
|
|
45
|
+
'Partidul Democrat Liberal (EPP)' => 680_853,
|
|
46
|
+
'Mircea Diaconu (ALDE)' => 379_582,
|
|
47
|
+
'Uniunea Democrată Maghiară din România (EPP)' => 350_689,
|
|
48
|
+
'Partidul Mișcarea Populară (EPP)' => 345_973,
|
|
49
|
+
'Partidul Poporului–Dan Diaconescu (—)' => 204_310,
|
|
50
|
+
'Partidul România Mare (—)' => 150_484,
|
|
51
|
+
'Forța Civică (EPP)' => 145_181,
|
|
52
|
+
'Partidul Ecologist Român (—)' => 64_232 }
|
|
53
|
+
seats = Sapor::EuropeanUnionRomania.instance.seats(results)
|
|
54
|
+
expect(seats['Uniunea Social Democrată (S&D)']).to eq(15)
|
|
55
|
+
# Uniunea Social Democrata got in reality the extra seat from Mircea Diaconu
|
|
56
|
+
expect(seats['Partidul Național Liberal (ALDE)']).to eq(6)
|
|
57
|
+
expect(seats['Partidul Democrat Liberal (EPP)']).to eq(5)
|
|
58
|
+
expect(seats['Partidul Democrat Liberal (EPP)']).to eq(5)
|
|
59
|
+
expect(seats['Mircea Diaconu (ALDE)']).to eq(2) # Only one candidate
|
|
60
|
+
expect(seats['Uniunea Democrată Maghiară din România (EPP)']).to eq(2)
|
|
61
|
+
expect(seats['Partidul Mișcarea Populară (EPP)']).to eq(2)
|
|
62
|
+
expect(seats['Partidul Poporului–Dan Diaconescu (—)']).to eq(0)
|
|
63
|
+
expect(seats['Partidul România Mare (—)']).to eq(0)
|
|
64
|
+
expect(seats['Forța Civică (EPP)']).to eq(0)
|
|
65
|
+
expect(seats['Partidul Ecologist Român (—)']).to eq(0)
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
#
|
|
3
|
+
# Statistical Analysis of Polling Results (SAPoR)
|
|
4
|
+
# Copyright (C) 2020 Filip van Laenen <f.a.vanlaenen@ieee.org>
|
|
5
|
+
#
|
|
6
|
+
# This file is part of SAPoR.
|
|
7
|
+
#
|
|
8
|
+
# SAPoR is free software: you can redistribute it and/or modify it under the
|
|
9
|
+
# terms of the GNU General Public License as published by the Free Software
|
|
10
|
+
# Foundation, either version 3 of the License, or (at your option) any later
|
|
11
|
+
# version.
|
|
12
|
+
#
|
|
13
|
+
# SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
14
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
15
|
+
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
16
|
+
#
|
|
17
|
+
# You can find a copy of the GNU General Public License in /doc/gpl.txt
|
|
18
|
+
#
|
|
19
|
+
|
|
20
|
+
require 'spec_helper'
|
|
21
|
+
|
|
22
|
+
describe Sapor::EuropeanUnionSlovakia, '#area_code' do
|
|
23
|
+
it 'returns EU[SK] as the area code' do
|
|
24
|
+
expect(Sapor::EuropeanUnionSlovakia.instance.area_code).to eq('EU[SK]')
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
describe Sapor::EuropeanUnionSlovakia, '#no_of_seats' do
|
|
29
|
+
it 'returns 13 as the number of seats' do
|
|
30
|
+
expect(Sapor::EuropeanUnionSlovakia.instance.no_of_seats).to eq(13)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
describe Sapor::EuropeanUnionSlovakia, '#population_size' do
|
|
35
|
+
it 'returns a population size of 1,007,398' do
|
|
36
|
+
expect(Sapor::EuropeanUnionSlovakia.instance.population_size).to \
|
|
37
|
+
eq(1_007_398)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
describe Sapor::EuropeanUnionSlovakia, '#seats' do
|
|
42
|
+
it 'calculates the number of seats for the election of 2014' do
|
|
43
|
+
results = { 'SMER–sociálna demokracia (S&D)' => 135_089,
|
|
44
|
+
'Kresťanskodemokratické hnutie (EPP)' => 74_108,
|
|
45
|
+
'Slovenská demokratická a kresťanská únia–Demokratická' \
|
|
46
|
+
' strana (EPP)' => 43_467,
|
|
47
|
+
'OBYČAJNÍ ĽUDIA a nezávislé osobnosti (ECR)' => 41_829,
|
|
48
|
+
'NOVA–Konzervatívni demokrati Slovenska–Občianska' \
|
|
49
|
+
' konzervatívna strana (ECR)' => 38_316,
|
|
50
|
+
'Sloboda a Solidarita (ALDE)' => 37_376,
|
|
51
|
+
'Strana maďarskej koalície–Magyar Koalíció Pártja (EPP)' \
|
|
52
|
+
=> 36_629,
|
|
53
|
+
'MOST–HÍD (EPP)' => 32_708,
|
|
54
|
+
'Strana TIP (—)' => 20_730,
|
|
55
|
+
'Slovenská národná strana (EFDD)' => 20_244,
|
|
56
|
+
'Ľudová strana Naše Slovensko (NI)' => 9_749,
|
|
57
|
+
'PRÁVO A SPRAVODLIVOSŤ (—)' => 9_322,
|
|
58
|
+
'Komunistická strana Slovenska (GUE/NGL)' => 8_510,
|
|
59
|
+
'Strana demokratického Slovenska (ALDE)' => 8_378,
|
|
60
|
+
'Národ a Spravodlivosť–naša strana (—)' => 7_763,
|
|
61
|
+
'Magnificat Slovakia (—)' => 6_646,
|
|
62
|
+
'Európska demokratická strana (ALDE)' => 3_739,
|
|
63
|
+
'Kresťanská SLOVENSKÁ NÁRODNÁ STRANA (—)' => 3_631,
|
|
64
|
+
'Strana moderného Slovenska (—)' => 2_851,
|
|
65
|
+
'ÚSVIT (—)' => 2_773,
|
|
66
|
+
'7 STATOČNÝCH REGIONÁLNA STRANA SLOVENSKA (—)' => 2_696,
|
|
67
|
+
'Strana zelených (Greens/EFA)' => 2_623,
|
|
68
|
+
'Slovenská ľudová strana (—)' => 2_590,
|
|
69
|
+
'PRIAMA DEMOKRACIA–Kresťanská ľudová strana (ALDE)' => 2_405,
|
|
70
|
+
'VZDOR–strana práce (—)' => 1_769,
|
|
71
|
+
'Strana občianskej ľavice (—)' => 1_311,
|
|
72
|
+
'DEMOKRATICKÁ OBČIANSKA STRANA (—)' => 1_273,
|
|
73
|
+
'Maďarská kresťanskodemokratická aliancia–Magyar' \
|
|
74
|
+
' Kereszténydemokrata Szövetség (Greens/EFA)' => 1_170,
|
|
75
|
+
'Nový parlament (—)' => 900 }
|
|
76
|
+
seats = Sapor::EuropeanUnionSlovakia.instance.seats(results)
|
|
77
|
+
expect(seats['SMER–sociálna demokracia (S&D)']).to eq(4)
|
|
78
|
+
expect(seats['Kresťanskodemokratické hnutie (EPP)']).to eq(2)
|
|
79
|
+
expect(seats['Slovenská demokratická a kresťanská únia–Demokratická' \
|
|
80
|
+
' strana (EPP)']).to eq(2)
|
|
81
|
+
expect(seats['OBYČAJNÍ ĽUDIA a nezávislé osobnosti (ECR)']).to eq(1)
|
|
82
|
+
expect(seats['NOVA–Konzervatívni demokrati Slovenska–Občianska' \
|
|
83
|
+
' konzervatívna strana (ECR)']).to eq(1)
|
|
84
|
+
expect(seats['Sloboda a Solidarita (ALDE)']).to eq(1)
|
|
85
|
+
expect(seats['Strana maďarskej koalície–Magyar Koalíció Pártja (EPP)']).to \
|
|
86
|
+
eq(1)
|
|
87
|
+
expect(seats['MOST–HÍD (EPP)']).to eq(1)
|
|
88
|
+
expect(seats['Strana TIP (—)']).to eq(0)
|
|
89
|
+
expect(seats['Slovenská národná strana (EFDD)']).to eq(0)
|
|
90
|
+
expect(seats['Ľudová strana Naše Slovensko (NI)']).to eq(0)
|
|
91
|
+
expect(seats['PRÁVO A SPRAVODLIVOSŤ (—)']).to eq(0)
|
|
92
|
+
expect(seats['Komunistická strana Slovenska (GUE/NGL)']).to eq(0)
|
|
93
|
+
expect(seats['Strana demokratického Slovenska (ALDE)']).to eq(0)
|
|
94
|
+
expect(seats['Národ a Spravodlivosť–naša strana (—)']).to eq(0)
|
|
95
|
+
expect(seats['Magnificat Slovakia (—)']).to eq(0)
|
|
96
|
+
expect(seats['Európska demokratická strana (ALDE)']).to eq(0)
|
|
97
|
+
expect(seats['Kresťanská SLOVENSKÁ NÁRODNÁ STRANA (—)']).to eq(0)
|
|
98
|
+
expect(seats['Strana moderného Slovenska (—)']).to eq(0)
|
|
99
|
+
expect(seats['ÚSVIT (—)']).to eq(0)
|
|
100
|
+
expect(seats['7 STATOČNÝCH REGIONÁLNA STRANA SLOVENSKA (—)']).to eq(0)
|
|
101
|
+
expect(seats['Strana zelených (Greens/EFA)']).to eq(0)
|
|
102
|
+
expect(seats['Slovenská ľudová strana (—)']).to eq(0)
|
|
103
|
+
expect(seats['PRIAMA DEMOKRACIA–Kresťanská ľudová strana (ALDE)']).to eq(0)
|
|
104
|
+
expect(seats['VZDOR–strana práce (—)']).to eq(0)
|
|
105
|
+
expect(seats['Strana občianskej ľavice (—)']).to eq(0)
|
|
106
|
+
expect(seats['DEMOKRATICKÁ OBČIANSKA STRANA (—)']).to eq(0)
|
|
107
|
+
expect(seats['Maďarská kresťanskodemokratická aliancia–Magyar' \
|
|
108
|
+
' Kereszténydemokrata Szövetség (Greens/EFA)']).to eq(0)
|
|
109
|
+
expect(seats['Nový parlament (—)']).to eq(0)
|
|
110
|
+
end
|
|
111
|
+
end
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
#
|
|
3
|
+
# Statistical Analysis of Polling Results (SAPoR)
|
|
4
|
+
# Copyright (C) 2020 Filip van Laenen <f.a.vanlaenen@ieee.org>
|
|
5
|
+
#
|
|
6
|
+
# This file is part of SAPoR.
|
|
7
|
+
#
|
|
8
|
+
# SAPoR is free software: you can redistribute it and/or modify it under the
|
|
9
|
+
# terms of the GNU General Public License as published by the Free Software
|
|
10
|
+
# Foundation, either version 3 of the License, or (at your option) any later
|
|
11
|
+
# version.
|
|
12
|
+
#
|
|
13
|
+
# SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
14
|
+
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
15
|
+
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
16
|
+
#
|
|
17
|
+
# You can find a copy of the GNU General Public License in /doc/gpl.txt
|
|
18
|
+
#
|
|
19
|
+
|
|
20
|
+
require 'spec_helper'
|
|
21
|
+
|
|
22
|
+
describe Sapor::EuropeanUnionSlovenia, '#area_code' do
|
|
23
|
+
it 'returns EU[SI] as the area code' do
|
|
24
|
+
expect(Sapor::EuropeanUnionSlovenia.instance.area_code).to eq('EU[SI]')
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
describe Sapor::EuropeanUnionSlovenia, '#no_of_seats' do
|
|
29
|
+
it 'returns 8 as the number of seats' do
|
|
30
|
+
expect(Sapor::EuropeanUnionSlovenia.instance.no_of_seats).to eq(8)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
describe Sapor::EuropeanUnionSlovenia, '#population_size' do
|
|
35
|
+
it 'returns a population size of 471,525' do
|
|
36
|
+
expect(Sapor::EuropeanUnionSlovenia.instance.population_size).to \
|
|
37
|
+
eq(471_525)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
describe Sapor::EuropeanUnionSlovenia, '#seats' do
|
|
42
|
+
it 'calculates the number of seats for the election of 2014' do
|
|
43
|
+
results = { 'Kacin Konkretno (*)' => 19_659,
|
|
44
|
+
'Državljanska lista (ALDE)' => 4_570,
|
|
45
|
+
'Združena levica (GUE/NGL)' => 21_898,
|
|
46
|
+
'Slovenska nacionalna stranka (*)' => 16_166,
|
|
47
|
+
'Verjamem (Greens/EFA)' => 41_458,
|
|
48
|
+
'Nova Slovenija in Slovenska ljudska stranka (EPP)' => 66_114,
|
|
49
|
+
'Socialni demokrati (S&D)' => 32_330,
|
|
50
|
+
'Slovenska demokratska stranka (EPP)' => 99_206,
|
|
51
|
+
'Slovenski narod (*)' => 1_424,
|
|
52
|
+
'Piratska stranka Slovenije (Greens/EFA)' => 10_242,
|
|
53
|
+
'Solidarnost (*)' => 6_673,
|
|
54
|
+
'Zeleni Slovenije (*)' => 3_273,
|
|
55
|
+
'Demokratična stranka upokojencev Slovenije (ALDE)' => 32_604,
|
|
56
|
+
'Sanjska služba (*)' => 14_212,
|
|
57
|
+
'Pozitivna Slovenija (*)' => 26_510,
|
|
58
|
+
'Zares (*)' => 3_794 }
|
|
59
|
+
seats = Sapor::EuropeanUnionSlovenia.instance.seats(results)
|
|
60
|
+
expect(seats['Kacin Konkretno (*)']).to eq(0)
|
|
61
|
+
expect(seats['Državljanska lista (ALDE)']).to eq(0)
|
|
62
|
+
expect(seats['Združena levica (GUE/NGL)']).to eq(0)
|
|
63
|
+
expect(seats['Slovenska nacionalna stranka (*)']).to eq(0)
|
|
64
|
+
expect(seats['Verjamem (Greens/EFA)']).to eq(1)
|
|
65
|
+
expect(seats['Nova Slovenija in Slovenska ljudska stranka (EPP)']).to eq(2)
|
|
66
|
+
expect(seats['Socialni demokrati (S&D)']).to eq(1)
|
|
67
|
+
expect(seats['Slovenska demokratska stranka (EPP)']).to eq(3)
|
|
68
|
+
expect(seats['Slovenski narod (*)']).to eq(0)
|
|
69
|
+
expect(seats['Piratska stranka Slovenije (Greens/EFA)']).to eq(0)
|
|
70
|
+
expect(seats['Solidarnost (*)']).to eq(0)
|
|
71
|
+
expect(seats['Zeleni Slovenije (*)']).to eq(0)
|
|
72
|
+
expect(seats['Demokratična stranka upokojencev Slovenije (ALDE)']).to eq(1)
|
|
73
|
+
expect(seats['Sanjska služba (*)']).to eq(0)
|
|
74
|
+
expect(seats['Pozitivna Slovenija (*)']).to eq(0)
|
|
75
|
+
expect(seats['Zares (*)']).to eq(0)
|
|
76
|
+
end
|
|
77
|
+
end
|