sapor 0.3.3
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/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 +150 -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/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 +286 -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 +82 -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-jxcat.rb +109 -0
- data/lib/sapor/regional_data/catalonia-no-jxsi.rb +96 -0
- data/lib/sapor/regional_data/catalonia.rb +96 -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 +81 -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_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 +81 -0
- data/lib/sapor/regional_data/european_union_croatia.rb +81 -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_france_2019.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.psv +85 -0
- data/lib/sapor/regional_data/iceland.rb +133 -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.rb +112 -0
- data/lib/sapor/regional_data/latvia_kpv.rb +112 -0
- data/lib/sapor/regional_data/latvia_kpv_p_par.rb +112 -0
- data/lib/sapor/regional_data/latvia_kpv_par.rb +112 -0
- data/lib/sapor/regional_data/luxembourg-20131020.psv +76 -0
- data/lib/sapor/regional_data/luxembourg.rb +82 -0
- data/lib/sapor/regional_data/netherlands.rb +108 -0
- data/lib/sapor/regional_data/norway.rb +425 -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 +74 -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_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_2019_spec.rb +73 -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/largest_remainder_spec.rb +79 -0
- data/spec/unit/latvia_kpv_p_par_spec.rb +38 -0
- data/spec/unit/latvia_kpv_par_spec.rb +38 -0
- data/spec/unit/latvia_kpv_spec.rb +38 -0
- data/spec/unit/latvia_spec.rb +60 -0
- data/spec/unit/luxembourg_spec.rb +54 -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 +64 -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 +490 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
#
|
|
3
|
+
# Statistical Analysis of Polling Results (SAPoR)
|
|
4
|
+
# Copyright (C) 2016 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::EuropeanUnionMalta, '#area_code' do
|
|
23
|
+
it 'returns EU[MT] as the area code' do
|
|
24
|
+
expect(Sapor::EuropeanUnionMalta.instance.area_code).to \
|
|
25
|
+
eq('EU[MT]')
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
describe Sapor::EuropeanUnionMalta, '#no_of_seats' do
|
|
30
|
+
it 'returns 6 as the number of seats' do
|
|
31
|
+
expect(Sapor::EuropeanUnionMalta.instance.no_of_seats).to eq(6)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
describe Sapor::EuropeanUnionMalta, '#population_size' do
|
|
36
|
+
it 'returns a population size of 251,851' do
|
|
37
|
+
expect(Sapor::EuropeanUnionMalta.instance.population_size).to \
|
|
38
|
+
eq(260_160)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
describe Sapor::EuropeanUnionMalta, '#seats' do
|
|
43
|
+
it 'calculates the number of seats for the election of 2014' do
|
|
44
|
+
results = { 'Partit Laburista (S&D)' => 134_462,
|
|
45
|
+
'Partit Nazzjonalista (EPP)' => 100_785,
|
|
46
|
+
'Alternattiva Demokratika (Greens/EFA)' => 7_418,
|
|
47
|
+
'Imperium Europa (*)' => 6_761,
|
|
48
|
+
'Ajkla (*)' => 1_208,
|
|
49
|
+
'Alleanza Bidla (*)' => 1_015,
|
|
50
|
+
'Alleanza Liberali (*)' => 202 }
|
|
51
|
+
seats = Sapor::EuropeanUnionMalta.instance.seats(results)
|
|
52
|
+
expect(seats['Partit Laburista (S&D)']).to eq(3 + 1)
|
|
53
|
+
expect(seats['Partit Nazzjonalista (EPP)']).to eq(3 - 1)
|
|
54
|
+
expect(seats['Alternattiva Demokratika (Greens/EFA)']).to eq(0)
|
|
55
|
+
expect(seats['Imperium Europa (*)']).to eq(0)
|
|
56
|
+
expect(seats['Ajkla (*)']).to eq(0)
|
|
57
|
+
expect(seats['Alleanza Bidla (*)']).to eq(0)
|
|
58
|
+
expect(seats['Alleanza Liberali (*)']).to eq(0)
|
|
59
|
+
end
|
|
60
|
+
end
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
#
|
|
3
|
+
# Statistical Analysis of Polling Results (SAPoR)
|
|
4
|
+
# Copyright (C) 2016 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::EuropeanUnionNetherlands, '#area_code' do
|
|
23
|
+
it 'returns EU[NL] as the area code' do
|
|
24
|
+
expect(Sapor::EuropeanUnionNetherlands.instance.area_code).to eq('EU[NL]')
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
describe Sapor::EuropeanUnionNetherlands, '#no_of_seats' do
|
|
29
|
+
it 'returns 26 as the number of seats' do
|
|
30
|
+
expect(Sapor::EuropeanUnionNetherlands.instance.no_of_seats).to eq(26)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
describe Sapor::EuropeanUnionNetherlands, '#population_size' do
|
|
35
|
+
it 'returns a population size of 5,497,813' do
|
|
36
|
+
expect(Sapor::EuropeanUnionNetherlands.instance.population_size).to \
|
|
37
|
+
eq(5_497_813)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
describe Sapor::EuropeanUnionNetherlands, '#seats' do
|
|
42
|
+
it 'calculates the number of seats for the election of 2014' do
|
|
43
|
+
results = { 'Democraten 66 (ALDE)' => 735_825,
|
|
44
|
+
'Christen-Democratisch Appèl–ChristenUnie–Staatkundig' \
|
|
45
|
+
' Gereformeerde Partij (EPP)' => 721_766 + 364_843,
|
|
46
|
+
'Partij voor de Vrijheid (ENF)' => 633_114,
|
|
47
|
+
'Volkspartij voor Vrijheid en Democratie (ALDE)' => 571_176,
|
|
48
|
+
'Socialistische Partij (GUE/NGL)' => 458_079,
|
|
49
|
+
'Partij van de Arbeid–GroenLinks (S&D)' => 446_763 + 331_594,
|
|
50
|
+
'Partij voor de Dieren (GUE/NGL)' => 200_254,
|
|
51
|
+
'50Plus (ALDE)' => 175_343,
|
|
52
|
+
'Piratenpartij (Greens/EFA)' => 40_216,
|
|
53
|
+
'Artikel 50 (—)' => 24_069,
|
|
54
|
+
'Anti Europa Partij (—)' => 12_290,
|
|
55
|
+
'De Groenen (Greens/EFA)' => 10_833,
|
|
56
|
+
'Jezus Leeft (—)' => 9_507,
|
|
57
|
+
'ikkiesvooreerlijk.eu (—)' => 6_796,
|
|
58
|
+
'Liberaal Democratische Partij (—)' => 6_349,
|
|
59
|
+
'Aandacht en Eenvoud (—)' => 3_174,
|
|
60
|
+
'IQ, de Rechten-Plichten-Partij (—)' => 1_705 }
|
|
61
|
+
seats = Sapor::EuropeanUnionNetherlands.instance.seats(results)
|
|
62
|
+
expect(seats['Democraten 66 (ALDE)']).to eq(4)
|
|
63
|
+
expect(seats['Christen-Democratisch Appèl–ChristenUnie–Staatkundig' \
|
|
64
|
+
' Gereformeerde Partij (EPP)']).to eq(5 + 2)
|
|
65
|
+
expect(seats['Partij voor de Vrijheid (ENF)']).to eq(4)
|
|
66
|
+
expect(seats['Volkspartij voor Vrijheid en Democratie (ALDE)']).to eq(3)
|
|
67
|
+
expect(seats['Socialistische Partij (GUE/NGL)']).to eq(2)
|
|
68
|
+
expect(seats['Partij van de Arbeid–GroenLinks (S&D)']).to eq(3 + 2)
|
|
69
|
+
expect(seats['Partij voor de Dieren (GUE/NGL)']).to eq(1)
|
|
70
|
+
expect(seats['50Plus (ALDE)']).to eq(0)
|
|
71
|
+
expect(seats['Piratenpartij (Greens/EFA)']).to eq(0)
|
|
72
|
+
expect(seats['Artikel 50 (—)']).to eq(0)
|
|
73
|
+
expect(seats['Anti Europa Partij (—)']).to eq(0)
|
|
74
|
+
expect(seats['De Groenen (Greens/EFA)']).to eq(0)
|
|
75
|
+
expect(seats['Jezus Leeft (—)']).to eq(0)
|
|
76
|
+
expect(seats['ikkiesvooreerlijk.eu (—)']).to eq(0)
|
|
77
|
+
expect(seats['Liberaal Democratische Partij (—)']).to eq(0)
|
|
78
|
+
expect(seats['Aandacht en Eenvoud (—)']).to eq(0)
|
|
79
|
+
expect(seats['IQ, de Rechten-Plichten-Partij (—)']).to eq(0)
|
|
80
|
+
end
|
|
81
|
+
end
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
#
|
|
3
|
+
# Statistical Analysis of Polling Results (SAPoR)
|
|
4
|
+
# Copyright (C) 2016 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) 2016 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) 2016 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) 2016 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) 2016 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
|