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.
Files changed (343) hide show
  1. checksums.yaml +7 -0
  2. data/Area Class Diagram.dia +0 -0
  3. data/Area Class Diagram.png +0 -0
  4. data/Class Diagram.dia +0 -0
  5. data/Class Diagram.png +0 -0
  6. data/Example-Catalonia.md +361 -0
  7. data/Example-Flanders.md +486 -0
  8. data/Example-Greece.md +25 -0
  9. data/Example-Oslo.md +678 -0
  10. data/Example-UnitedKingdom-Referendum.md +132 -0
  11. data/Examples.md +15 -0
  12. data/LICENSE +674 -0
  13. data/README.md +103 -0
  14. data/Rakefile +18 -0
  15. data/Technical Documentation.md +14 -0
  16. data/bin/create_installation_package.sh +49 -0
  17. data/bin/install.sh +45 -0
  18. data/bin/sapor.rb +24 -0
  19. data/bin/sapor.sh +106 -0
  20. data/data/hu/hungary-2014.txt +1680 -0
  21. data/data/hu/hungary_2014_screen_scraper.rb +48 -0
  22. data/data/hu/hungary_2014_to_psv.rb +80 -0
  23. data/data/hu/index-2014.txt +106 -0
  24. data/data/ie/2016-04-28_general-election-2016-candidate-details-csv_en.csv +552 -0
  25. data/data/ie/ireland_2016_to_psv.rb +138 -0
  26. data/data/no/2020-01-01_partifordeling_1_st_2017.csv +335 -0
  27. data/data/no/norway_2017_to_psv.rb +61 -0
  28. data/data/pl/2015-gl-lis-okr.csv +42 -0
  29. data/data/pl/poland_2015_to_psv.rb +79 -0
  30. data/data/pl/poland_2015_to_psv_with_ko_and_rsw.rb +94 -0
  31. data/data/pl/poland_2015_to_psv_with_ko_konf_kp_l_and_zp.rb +100 -0
  32. data/data/pl/poland_2015_to_psv_with_ko_sld_and_wi.rb +92 -0
  33. data/data/pl/poland_2015_to_psv_with_sld.rb +84 -0
  34. data/data/pl/poland_2015_to_psv_with_sld_and_wi.rb +85 -0
  35. data/data/uk/inject_ukip_2015_as_brexit_2019_in_2017.rb +54 -0
  36. data/data/uk/united_kingdom_2015.txt +651 -0
  37. data/data/uk/united_kingdom_2015_to_psv.rb +104 -0
  38. data/data/uk/united_kingdom_2017.txt +651 -0
  39. data/data/uk/united_kingdom_2017_to_psv.rb +104 -0
  40. data/data/uk/united_kingdom_2017_to_psv_with_brexit_and_chuk.rb +113 -0
  41. data/data/uk/united_kingdom_2017_to_psv_with_tig.rb +111 -0
  42. data/lib/sapor.rb +147 -0
  43. data/lib/sapor/binomials_cache.rb +45 -0
  44. data/lib/sapor/combinations_distribution.rb +222 -0
  45. data/lib/sapor/denominators.rb +67 -0
  46. data/lib/sapor/dichotomies.rb +138 -0
  47. data/lib/sapor/dichotomy.rb +164 -0
  48. data/lib/sapor/first_past_the_post.rb +82 -0
  49. data/lib/sapor/largest_remainder.rb +118 -0
  50. data/lib/sapor/log4r_logger.rb +49 -0
  51. data/lib/sapor/log_facade.rb +40 -0
  52. data/lib/sapor/many_past_the_post.rb +113 -0
  53. data/lib/sapor/multi_district_leveled_proportional.rb +64 -0
  54. data/lib/sapor/multi_district_proportional.rb +123 -0
  55. data/lib/sapor/multi_district_variable_threshold_proportional.rb +128 -0
  56. data/lib/sapor/number_formatter.rb +45 -0
  57. data/lib/sapor/options.rb +73 -0
  58. data/lib/sapor/poll.rb +282 -0
  59. data/lib/sapor/polychotomy.rb +200 -0
  60. data/lib/sapor/pseudorandom_multirange_enumerator.rb +87 -0
  61. data/lib/sapor/referendum_polychotomy.rb +165 -0
  62. data/lib/sapor/regional_data/area.rb +100 -0
  63. data/lib/sapor/regional_data/austria.rb +84 -0
  64. data/lib/sapor/regional_data/belgium-brussels-2014.psv +46 -0
  65. data/lib/sapor/regional_data/belgium-brussels-20190526.psv +33 -0
  66. data/lib/sapor/regional_data/belgium-flanders-2014.psv +80 -0
  67. data/lib/sapor/regional_data/belgium-flanders-20190526.psv +74 -0
  68. data/lib/sapor/regional_data/belgium-wallonia-2014.psv +114 -0
  69. data/lib/sapor/regional_data/belgium-wallonia-20190526.psv +93 -0
  70. data/lib/sapor/regional_data/belgium.rb +97 -0
  71. data/lib/sapor/regional_data/belgium_brussels.rb +62 -0
  72. data/lib/sapor/regional_data/belgium_flanders.rb +64 -0
  73. data/lib/sapor/regional_data/belgium_wallonia.rb +63 -0
  74. data/lib/sapor/regional_data/catalonia-2012-2015.psv +100 -0
  75. data/lib/sapor/regional_data/catalonia-2012.psv +87 -0
  76. data/lib/sapor/regional_data/catalonia-2015-jxcat.psv +68 -0
  77. data/lib/sapor/regional_data/catalonia-2015-no-jxsi.psv +68 -0
  78. data/lib/sapor/regional_data/catalonia-2015.psv +63 -0
  79. data/lib/sapor/regional_data/catalonia-20171221-with-vox.psv +67 -0
  80. data/lib/sapor/regional_data/catalonia-20171221.psv +61 -0
  81. data/lib/sapor/regional_data/catalonia.rb +124 -0
  82. data/lib/sapor/regional_data/denmark-20150618-with-e-and-p.psv +164 -0
  83. data/lib/sapor/regional_data/denmark-20150618-with-e.psv +153 -0
  84. data/lib/sapor/regional_data/denmark-20150618-with-p.psv +153 -0
  85. data/lib/sapor/regional_data/denmark-20150618.psv +142 -0
  86. data/lib/sapor/regional_data/denmark.rb +128 -0
  87. data/lib/sapor/regional_data/denmark_with_e.rb +128 -0
  88. data/lib/sapor/regional_data/denmark_with_e_and_p.rb +128 -0
  89. data/lib/sapor/regional_data/denmark_with_p.rb +128 -0
  90. data/lib/sapor/regional_data/estonia.rb +88 -0
  91. data/lib/sapor/regional_data/european-union-great-britain-20140522-brexit-chuk.psv +172 -0
  92. data/lib/sapor/regional_data/european-union-great-britain-20140522.psv +146 -0
  93. data/lib/sapor/regional_data/european-union-great-britain-20190523.psv +141 -0
  94. data/lib/sapor/regional_data/european-union-ireland-2014-ia-ri-sd.psv +64 -0
  95. data/lib/sapor/regional_data/european-union-ireland-2014-ia-sd.psv +60 -0
  96. data/lib/sapor/regional_data/european-union-ireland-2014-ia.psv +56 -0
  97. data/lib/sapor/regional_data/european-union-ireland-2014-sd.psv +56 -0
  98. data/lib/sapor/regional_data/european-union-ireland-2014.psv +50 -0
  99. data/lib/sapor/regional_data/european-union-ireland-20190524-ia.psv +58 -0
  100. data/lib/sapor/regional_data/european-union-ireland-20190524.psv +52 -0
  101. data/lib/sapor/regional_data/european_union_27_austria.rb +76 -0
  102. data/lib/sapor/regional_data/european_union_27_croatia.rb +83 -0
  103. data/lib/sapor/regional_data/european_union_27_denmark.rb +77 -0
  104. data/lib/sapor/regional_data/european_union_27_estonia.rb +74 -0
  105. data/lib/sapor/regional_data/european_union_27_finland.rb +74 -0
  106. data/lib/sapor/regional_data/european_union_27_france.rb +84 -0
  107. data/lib/sapor/regional_data/european_union_27_ireland.rb +96 -0
  108. data/lib/sapor/regional_data/european_union_27_ireland_with_ia.rb +97 -0
  109. data/lib/sapor/regional_data/european_union_27_italy.rb +84 -0
  110. data/lib/sapor/regional_data/european_union_27_netherlands.rb +81 -0
  111. data/lib/sapor/regional_data/european_union_27_poland.rb +84 -0
  112. data/lib/sapor/regional_data/european_union_27_romania.rb +78 -0
  113. data/lib/sapor/regional_data/european_union_27_slovakia.rb +80 -0
  114. data/lib/sapor/regional_data/european_union_27_spain.rb +82 -0
  115. data/lib/sapor/regional_data/european_union_27_sweden.rb +76 -0
  116. data/lib/sapor/regional_data/european_union_austria.rb +76 -0
  117. data/lib/sapor/regional_data/european_union_bulgaria.rb +82 -0
  118. data/lib/sapor/regional_data/european_union_croatia.rb +83 -0
  119. data/lib/sapor/regional_data/european_union_cyprus.rb +72 -0
  120. data/lib/sapor/regional_data/european_union_czech_republic.rb +82 -0
  121. data/lib/sapor/regional_data/european_union_denmark.rb +77 -0
  122. data/lib/sapor/regional_data/european_union_estonia.rb +74 -0
  123. data/lib/sapor/regional_data/european_union_finland.rb +74 -0
  124. data/lib/sapor/regional_data/european_union_flanders.rb +74 -0
  125. data/lib/sapor/regional_data/european_union_france.rb +84 -0
  126. data/lib/sapor/regional_data/european_union_french_community_of_belgium.rb +73 -0
  127. data/lib/sapor/regional_data/european_union_germany.rb +86 -0
  128. data/lib/sapor/regional_data/european_union_great_britain.rb +98 -0
  129. data/lib/sapor/regional_data/european_union_greece.rb +77 -0
  130. data/lib/sapor/regional_data/european_union_hungary.rb +76 -0
  131. data/lib/sapor/regional_data/european_union_ireland.rb +96 -0
  132. data/lib/sapor/regional_data/european_union_ireland_with_ia.rb +97 -0
  133. data/lib/sapor/regional_data/european_union_italy.rb +84 -0
  134. data/lib/sapor/regional_data/european_union_latvia.rb +81 -0
  135. data/lib/sapor/regional_data/european_union_lithuania.rb +80 -0
  136. data/lib/sapor/regional_data/european_union_luxembourg.rb +75 -0
  137. data/lib/sapor/regional_data/european_union_malta.rb +71 -0
  138. data/lib/sapor/regional_data/european_union_netherlands.rb +81 -0
  139. data/lib/sapor/regional_data/european_union_northern_ireland.rb +75 -0
  140. data/lib/sapor/regional_data/european_union_poland.rb +84 -0
  141. data/lib/sapor/regional_data/european_union_portugal.rb +75 -0
  142. data/lib/sapor/regional_data/european_union_romania.rb +78 -0
  143. data/lib/sapor/regional_data/european_union_slovakia.rb +81 -0
  144. data/lib/sapor/regional_data/european_union_slovenia.rb +85 -0
  145. data/lib/sapor/regional_data/european_union_spain.rb +82 -0
  146. data/lib/sapor/regional_data/european_union_sweden.rb +76 -0
  147. data/lib/sapor/regional_data/finland-20150419-with-sin.psv +224 -0
  148. data/lib/sapor/regional_data/finland-20150419.psv +212 -0
  149. data/lib/sapor/regional_data/finland.rb +107 -0
  150. data/lib/sapor/regional_data/finland_with_sin.rb +107 -0
  151. data/lib/sapor/regional_data/flanders-2014.psv +96 -0
  152. data/lib/sapor/regional_data/flanders-20190526.psv +87 -0
  153. data/lib/sapor/regional_data/flanders.rb +115 -0
  154. data/lib/sapor/regional_data/france.rb +38 -0
  155. data/lib/sapor/regional_data/greece.rb +92 -0
  156. data/lib/sapor/regional_data/hungary-2014.psv +2104 -0
  157. data/lib/sapor/regional_data/hungary.rb +116 -0
  158. data/lib/sapor/regional_data/iceland-20161029-midflokkurinn.psv +94 -0
  159. data/lib/sapor/regional_data/iceland-20161029.psv +88 -0
  160. data/lib/sapor/regional_data/iceland-20171028-with-j.psv +94 -0
  161. data/lib/sapor/regional_data/iceland-20171028.psv +85 -0
  162. data/lib/sapor/regional_data/iceland.rb +149 -0
  163. data/lib/sapor/regional_data/ireland-20160226-2020-candidates.psv +322 -0
  164. data/lib/sapor/regional_data/ireland-20160226-2020.psv +344 -0
  165. data/lib/sapor/regional_data/ireland-20160226.psv +348 -0
  166. data/lib/sapor/regional_data/ireland.rb +165 -0
  167. data/lib/sapor/regional_data/latvia-20141004-kpv-p-par.psv +109 -0
  168. data/lib/sapor/regional_data/latvia-20141004-kpv-par.psv +103 -0
  169. data/lib/sapor/regional_data/latvia-20141004-kpv.psv +97 -0
  170. data/lib/sapor/regional_data/latvia-20141004.psv +89 -0
  171. data/lib/sapor/regional_data/latvia-20181006.psv +104 -0
  172. data/lib/sapor/regional_data/latvia.rb +111 -0
  173. data/lib/sapor/regional_data/luxembourg-20131020.psv +60 -0
  174. data/lib/sapor/regional_data/luxembourg-20181014.psv +59 -0
  175. data/lib/sapor/regional_data/luxembourg.rb +88 -0
  176. data/lib/sapor/regional_data/netherlands.rb +108 -0
  177. data/lib/sapor/regional_data/norway-20170911.psv +331 -0
  178. data/lib/sapor/regional_data/norway.rb +130 -0
  179. data/lib/sapor/regional_data/norwegian_municipality.rb +68 -0
  180. data/lib/sapor/regional_data/poland-20151025-with-ko-and-l-without-n-po-r-and-zl.psv +321 -0
  181. 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
  182. data/lib/sapor/regional_data/poland-20151025-with-ko-sld-and-wi-without-n-po-and-zl.psv +403 -0
  183. data/lib/sapor/regional_data/poland-20151025-with-sld-and-wi-without-zl.psv +444 -0
  184. data/lib/sapor/regional_data/poland-20151025-with-sld-without-zl.psv +403 -0
  185. data/lib/sapor/regional_data/poland-20151025.psv +403 -0
  186. data/lib/sapor/regional_data/poland.rb +125 -0
  187. data/lib/sapor/regional_data/poland_with_ko_and_l_without_n_po_r_and_zl.rb +122 -0
  188. 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
  189. data/lib/sapor/regional_data/poland_with_ko_sld_and_wi_without_n_po_and_zl.rb +125 -0
  190. data/lib/sapor/regional_data/poland_with_sld_and_wi_without_zl.rb +126 -0
  191. data/lib/sapor/regional_data/poland_with_sld_without_zl.rb +126 -0
  192. data/lib/sapor/regional_data/portugal-20151004-with-a-and-ch-without-paf.psv +438 -0
  193. data/lib/sapor/regional_data/portugal-20151004-with-a-and-il-without-paf.psv +438 -0
  194. data/lib/sapor/regional_data/portugal-20151004-with-a-ch-and-il-without-paf.psv +461 -0
  195. data/lib/sapor/regional_data/portugal-20151004-with-a-without-paf.psv +415 -0
  196. data/lib/sapor/regional_data/portugal-20151004-with-ch-and-il-without-paf.psv +438 -0
  197. data/lib/sapor/regional_data/portugal-20151004-without-paf.psv +392 -0
  198. data/lib/sapor/regional_data/portugal-20151004.psv +370 -0
  199. data/lib/sapor/regional_data/portugal.rb +101 -0
  200. data/lib/sapor/regional_data/portugal_with_a_and_ch_without_paf.rb +92 -0
  201. data/lib/sapor/regional_data/portugal_with_a_and_il_without_paf.rb +92 -0
  202. data/lib/sapor/regional_data/portugal_with_a_ch_and_il_without_paf.rb +92 -0
  203. data/lib/sapor/regional_data/portugal_with_a_without_paf.rb +92 -0
  204. data/lib/sapor/regional_data/portugal_with_ch_and_il_without_paf.rb +92 -0
  205. data/lib/sapor/regional_data/portugal_without_paf.rb +92 -0
  206. data/lib/sapor/regional_data/slovakia.rb +81 -0
  207. data/lib/sapor/regional_data/slovenia.rb +114 -0
  208. data/lib/sapor/regional_data/spain-20160626.psv +619 -0
  209. data/lib/sapor/regional_data/spain.rb +136 -0
  210. data/lib/sapor/regional_data/sweden.rb +92 -0
  211. data/lib/sapor/regional_data/sweden_20140914.rb +89 -0
  212. data/lib/sapor/regional_data/united_kingdom-2015.psv +4358 -0
  213. data/lib/sapor/regional_data/united_kingdom-20170608-brexit-chuk.psv +5154 -0
  214. data/lib/sapor/regional_data/united_kingdom-20170608-brexit.psv +4521 -0
  215. data/lib/sapor/regional_data/united_kingdom-20170608-tig.psv +4529 -0
  216. data/lib/sapor/regional_data/united_kingdom-20170608.psv +3894 -0
  217. data/lib/sapor/regional_data/united_kingdom.rb +94 -0
  218. data/lib/sapor/regional_data/united_kingdom_with_brexit.rb +110 -0
  219. data/lib/sapor/regional_data/united_kingdom_with_brexit_and_chuk.rb +111 -0
  220. data/lib/sapor/regional_data/united_kingdom_with_tig.rb +111 -0
  221. data/lib/sapor/regional_data/utopia.rb +66 -0
  222. data/lib/sapor/regional_data/wallonia-2014.psv +101 -0
  223. data/lib/sapor/regional_data/wallonia-20190526.psv +88 -0
  224. data/lib/sapor/regional_data/wallonia.rb +112 -0
  225. data/lib/sapor/representatives_polychotomy.rb +338 -0
  226. data/lib/sapor/single_district_proportional.rb +75 -0
  227. data/sapor.gemspec +35 -0
  228. data/spec/integration/area_spec.rb +28 -0
  229. data/spec/integration/poll_spec.rb +112 -0
  230. data/spec/integration/sample.poll +8 -0
  231. data/spec/spec_helper.rb +31 -0
  232. data/spec/unit/area_spec.rb +115 -0
  233. data/spec/unit/austria_spec.rb +76 -0
  234. data/spec/unit/belgium_brussels_spec.rb +58 -0
  235. data/spec/unit/belgium_flanders_spec.rb +62 -0
  236. data/spec/unit/belgium_spec.rb +26 -0
  237. data/spec/unit/belgium_wallonia_spec.rb +65 -0
  238. data/spec/unit/binomials_cache_spec.rb +34 -0
  239. data/spec/unit/catalonia_spec.rb +61 -0
  240. data/spec/unit/catalonia_with_vox_spec.rb +62 -0
  241. data/spec/unit/combinations_distribution_spec.rb +241 -0
  242. data/spec/unit/denmark_spec.rb +56 -0
  243. data/spec/unit/denmark_with_e_and_p_spec.rb +58 -0
  244. data/spec/unit/denmark_with_e_spec.rb +57 -0
  245. data/spec/unit/denmark_with_p_spec.rb +57 -0
  246. data/spec/unit/denominators_spec.rb +40 -0
  247. data/spec/unit/dichotomies_spec.rb +154 -0
  248. data/spec/unit/dichotomy_spec.rb +320 -0
  249. data/spec/unit/estonia_spec.rb +65 -0
  250. data/spec/unit/european_union_27_austria_spec.rb +61 -0
  251. data/spec/unit/european_union_27_croatia_spec.rb +60 -0
  252. data/spec/unit/european_union_27_denmark_spec.rb +62 -0
  253. data/spec/unit/european_union_27_estonia_spec.rb +94 -0
  254. data/spec/unit/european_union_27_finland_spec.rb +75 -0
  255. data/spec/unit/european_union_27_france_spec.rb +73 -0
  256. data/spec/unit/european_union_27_ireland_spec.rb +72 -0
  257. data/spec/unit/european_union_27_ireland_with_ia_spec.rb +74 -0
  258. data/spec/unit/european_union_27_italy_spec.rb +69 -0
  259. data/spec/unit/european_union_27_netherlands_spec.rb +81 -0
  260. data/spec/unit/european_union_27_poland_spec.rb +69 -0
  261. data/spec/unit/european_union_27_romania_spec.rb +67 -0
  262. data/spec/unit/european_union_27_slovakia_spec.rb +111 -0
  263. data/spec/unit/european_union_27_spain_spec.rb +130 -0
  264. data/spec/unit/european_union_27_sweden_spec.rb +89 -0
  265. data/spec/unit/european_union_austria_spec.rb +61 -0
  266. data/spec/unit/european_union_bulgaria_spec.rb +97 -0
  267. data/spec/unit/european_union_croatia_spec.rb +59 -0
  268. data/spec/unit/european_union_cyprus_spec.rb +65 -0
  269. data/spec/unit/european_union_czech_republic_spec.rb +125 -0
  270. data/spec/unit/european_union_denmark_spec.rb +61 -0
  271. data/spec/unit/european_union_estonia_spec.rb +93 -0
  272. data/spec/unit/european_union_finland_spec.rb +75 -0
  273. data/spec/unit/european_union_flanders_spec.rb +56 -0
  274. data/spec/unit/european_union_france_spec.rb +73 -0
  275. data/spec/unit/european_union_french_community_of_belgium_spec.rb +61 -0
  276. data/spec/unit/european_union_germany_spec.rb +90 -0
  277. data/spec/unit/european_union_great_britain_spec.rb +87 -0
  278. data/spec/unit/european_union_greece_spec.rb +148 -0
  279. data/spec/unit/european_union_hungary_spec.rb +57 -0
  280. data/spec/unit/european_union_ireland_spec.rb +72 -0
  281. data/spec/unit/european_union_ireland_with_ia_spec.rb +74 -0
  282. data/spec/unit/european_union_italy_spec.rb +69 -0
  283. data/spec/unit/european_union_latvia_spec.rb +76 -0
  284. data/spec/unit/european_union_lithuania_spec.rb +68 -0
  285. data/spec/unit/european_union_luxembourg_spec.rb +63 -0
  286. data/spec/unit/european_union_malta_spec.rb +60 -0
  287. data/spec/unit/european_union_netherlands_spec.rb +81 -0
  288. data/spec/unit/european_union_northern_ireland_spec.rb +66 -0
  289. data/spec/unit/european_union_poland_spec.rb +69 -0
  290. data/spec/unit/european_union_portugal_spec.rb +77 -0
  291. data/spec/unit/european_union_romania_spec.rb +67 -0
  292. data/spec/unit/european_union_slovakia_spec.rb +111 -0
  293. data/spec/unit/european_union_slovenia_spec.rb +77 -0
  294. data/spec/unit/european_union_spain_spec.rb +129 -0
  295. data/spec/unit/european_union_sweden_spec.rb +89 -0
  296. data/spec/unit/finland_spec.rb +65 -0
  297. data/spec/unit/finland_with_sin_spec.rb +67 -0
  298. data/spec/unit/first_past_the_post_spec.rb +54 -0
  299. data/spec/unit/flanders_spec.rb +70 -0
  300. data/spec/unit/france_spec.rb +32 -0
  301. data/spec/unit/greece_spec.rb +118 -0
  302. data/spec/unit/hungary_spec.rb +132 -0
  303. data/spec/unit/iceland_spec.rb +57 -0
  304. data/spec/unit/iceland_with_j_spec.rb +58 -0
  305. data/spec/unit/ireland_2016_spec.rb +62 -0
  306. data/spec/unit/ireland_spec.rb +62 -0
  307. data/spec/unit/largest_remainder_spec.rb +79 -0
  308. data/spec/unit/latvia_spec.rb +62 -0
  309. data/spec/unit/luxembourg_spec.rb +55 -0
  310. data/spec/unit/multi_district_leveled_proportional_spec.rb +49 -0
  311. data/spec/unit/multi_district_proportional_spec.rb +81 -0
  312. data/spec/unit/netherlands_spec.rb +107 -0
  313. data/spec/unit/norway_spec.rb +69 -0
  314. data/spec/unit/norwegian_municipality_spec.rb +89 -0
  315. data/spec/unit/number_formatter_spec.rb +173 -0
  316. data/spec/unit/poland_spec.rb +62 -0
  317. data/spec/unit/poland_with_ko_and_l_without_n_po_r_and_zl_spec.rb +60 -0
  318. 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
  319. data/spec/unit/poland_with_ko_sld_and_wi_without_n_po_and_zl_spec.rb +62 -0
  320. data/spec/unit/poland_with_sld_and_wi_without_zl_spec.rb +63 -0
  321. data/spec/unit/poland_with_sld_without_zl_spec.rb +62 -0
  322. data/spec/unit/poll_spec.rb +110 -0
  323. data/spec/unit/portugal_spec.rb +66 -0
  324. data/spec/unit/portugal_with_a_and_ch_without_paf_spec.rb +68 -0
  325. data/spec/unit/portugal_with_a_and_il_without_paf_spec.rb +68 -0
  326. data/spec/unit/portugal_with_a_ch_and_il_without_paf_spec.rb +69 -0
  327. data/spec/unit/portugal_with_a_without_paf_spec.rb +67 -0
  328. data/spec/unit/portugal_with_ch_and_il_without_paf_spec.rb +68 -0
  329. data/spec/unit/portugal_without_paf_spec.rb +66 -0
  330. data/spec/unit/pseudorandom_multirange_enumerator_spec.rb +82 -0
  331. data/spec/unit/referendum_polychotomy_spec.rb +289 -0
  332. data/spec/unit/representatives_polychotomy_spec.rb +332 -0
  333. data/spec/unit/slovakia_spec.rb +99 -0
  334. data/spec/unit/slovenia_spec.rb +80 -0
  335. data/spec/unit/spain_spec.rb +101 -0
  336. data/spec/unit/sweden_20140914_spec.rb +112 -0
  337. data/spec/unit/sweden_spec.rb +113 -0
  338. data/spec/unit/united_kingdom_spec.rb +65 -0
  339. data/spec/unit/united_kingdom_with_brexit_and_chuk_spec.rb +67 -0
  340. data/spec/unit/united_kingdom_with_brexit_spec.rb +66 -0
  341. data/spec/unit/united_kingdom_with_tig_spec.rb +66 -0
  342. data/spec/unit/wallonia_spec.rb +70 -0
  343. metadata +502 -0
@@ -0,0 +1,116 @@
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
+ module Sapor
21
+ #
22
+ # The regional data for Hungary.
23
+ #
24
+ class Hungary < Area
25
+ include Singleton
26
+
27
+ def area_code
28
+ 'HU'
29
+ end
30
+
31
+ def coalitions
32
+ COALITIONS
33
+ end
34
+
35
+ def individual_constituencies_seats(simulation)
36
+ individual_constituencies_electoral_system.project(simulation)
37
+ end
38
+
39
+ def no_of_seats
40
+ NO_OF_PROPORTIONAL_SEATS + \
41
+ individual_constituencies_election_results_of_2014.size
42
+ end
43
+
44
+ def overall_individual_constituencies_election_results_of_2014
45
+ if @overall_individual_constituencies_election_results_of_2014.nil?
46
+ @overall_individual_constituencies_election_results_of_2014 = \
47
+ summarize_election_results( \
48
+ individual_constituencies_election_results_of_2014
49
+ )
50
+ end
51
+ @overall_individual_constituencies_election_results_of_2014
52
+ end
53
+
54
+ def party_list_seats(simulation)
55
+ PARTY_LIST_ELECTORAL_SYSTEM.project(simulation)
56
+ end
57
+
58
+ def population_size
59
+ # Voter turnout on 6 April 2014
60
+ # Source: Wikipedia, Hungarian parliamentary election, 2014, downloaded
61
+ # on 10 November 2017,
62
+ # https://en.wikipedia.org/wiki/Hungarian_parliamentary_election,_2014
63
+ 5_047_363
64
+ end
65
+
66
+ def seats(simulation)
67
+ individual_seats = individual_constituencies_seats(simulation)
68
+ party_seats = party_list_seats(simulation)
69
+ join_seats(individual_seats, party_seats)
70
+ end
71
+
72
+ def threshold
73
+ THRESHOLD
74
+ end
75
+
76
+ private
77
+
78
+ NO_OF_PROPORTIONAL_SEATS = 93
79
+ THRESHOLD = 0.05
80
+ PARTY_LIST_ELECTORAL_SYSTEM = SingleDistrictProportional.new(\
81
+ NO_OF_PROPORTIONAL_SEATS, DhondtDenominators, THRESHOLD
82
+ )
83
+
84
+ COALITIONS = [%w(DK Együtt MLP MSZP Párbeszéd), ['Fidesz–KDNP']].freeze
85
+
86
+ def individual_constituencies_election_results_of_2014
87
+ if @individual_constituencies_election_results_of_2014.nil?
88
+ @individual_constituencies_election_results_of_2014 = \
89
+ load_election_results('hungary-2014.psv')
90
+ end
91
+ @individual_constituencies_election_results_of_2014
92
+ end
93
+
94
+ def individual_constituencies_electoral_system
95
+ if @individual_constituencies_electoral_system.nil?
96
+ @individual_constituencies_electoral_system = FirstPastThePost.new(
97
+ overall_individual_constituencies_election_results_of_2014,
98
+ individual_constituencies_election_results_of_2014
99
+ )
100
+ end
101
+ @individual_constituencies_electoral_system
102
+ end
103
+
104
+ def join_seats(seats1, seats2)
105
+ results = seats1.dup
106
+ seats2.each_pair do |party, result|
107
+ if results.key?(party)
108
+ results[party] += result
109
+ else
110
+ results[party] = result
111
+ end
112
+ end
113
+ results
114
+ end
115
+ end
116
+ end
@@ -0,0 +1,94 @@
1
+ # Statistical Analysis of Polling Results (SAPoR)
2
+ # Copyright (C) 2020 Filip van Laenen <f.a.vanlaenen@ieee.org>
3
+ #
4
+ # This file is part of SAPoR.
5
+ #
6
+ # SAPoR is free software: you can redistribute it and/or modify it under the
7
+ # terms of the GNU General Public License as published by the Free Software
8
+ # Foundation, either version 3 of the License, or (at your option) any later
9
+ # version.
10
+ #
11
+ # SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
12
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
13
+ # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
14
+ #
15
+ # You can find a copy of the GNU General Public License in /doc/gpl.txt
16
+ #
17
+
18
+ # Source: Web page with the official results of the elections of 29 October
19
+ # 2016, downloaded on 17 September 2017,
20
+ # URL: http://icelandmonitor.mbl.is/elections2016/
21
+
22
+ Norðaustur | Sjálfstæðisflokkurinn | 6,014
23
+ Norðaustur | Framsóknarflokkurinn | 2,271
24
+ Norðaustur | Miðflokkurinn | 2,271
25
+ Norðaustur | Vinstrihreyfingin – grænt framboð | 4,539
26
+ Norðaustur | Píratar | 2,265
27
+ Norðaustur | Samfylkingin | 1,816
28
+ Norðaustur | Viðreisn | 1,482
29
+ Norðaustur | Björt framtíð | 774
30
+ Norðaustur | Flokkur fólksins | 645
31
+ Norðaustur | Dögun | 415
32
+ Norðaustur | Alþýðufylkingin | 211
33
+
34
+ Norðvestur | Sjálfstæðisflokkurinn | 4,951
35
+ Norðvestur | Framsóknarflokkurinn | 1,741
36
+ Norðvestur | Miðflokkurinn | 1,741
37
+ Norðvestur | Vinstrihreyfingin – grænt framboð | 3,032
38
+ Norðvestur | Píratar | 1,823
39
+ Norðvestur | Samfylkingin | 1,054
40
+ Norðvestur | Viðreisn | 1,044
41
+ Norðvestur | Björt framtíð | 590
42
+ Norðvestur | Flokkur fólksins | 412
43
+ Norðvestur | Dögun | 282
44
+ Norðvestur | Íslenska þjóðfylkingin | 90
45
+
46
+ Reykjavík norður | Sjálfstæðisflokkurinn | 8,538
47
+ Reykjavík norður | Vinstrihreyfingin – grænt framboð | 7,318
48
+ Reykjavík norður | Píratar | 6,655
49
+ Reykjavík norður | Viðreisn | 4,064
50
+ Reykjavík norður | Björt framtíð | 2,673
51
+ Reykjavík norður | Framsóknarflokkurinn | 994
52
+ Reykjavík norður | Miðflokkurinn | 993
53
+ Reykjavík norður | Samfylkingin | 1,822
54
+ Reykjavík norður | Flokkur fólksins | 1,321
55
+ Reykjavík norður | Dögun | 496
56
+ Reykjavík norður | Alþýðufylkingin | 104
57
+
58
+ Reykjavík suður | Sjálfstæðisflokkurinn | 8,929
59
+ Reykjavík suður | Vinstrihreyfingin – grænt framboð | 6,148
60
+ Reykjavík suður | Píratar | 6,021
61
+ Reykjavík suður | Viðreisn | 4,440
62
+ Reykjavík suður | Framsóknarflokkurinn | 1,282
63
+ Reykjavík suður | Miðflokkurinn | 1,282
64
+ Reykjavík suður | Björt framtíð | 2,518
65
+ Reykjavík suður | Samfylkingin | 1,944
66
+ Reykjavík suður | Flokkur fólksins | 1,614
67
+ Reykjavík suður | Dögun | 578
68
+ Reykjavík suður | Alþýðufylkingin | 79
69
+ Reykjavík suður | Húmanistaflokkurinn | 33
70
+
71
+ Suðvestur | Sjálfstæðisflokkurinn | 18,049
72
+ Suðvestur | Píratar | 7,227
73
+ Suðvestur | Viðreisn | 6,857
74
+ Suðvestur | Vinstrihreyfingin – grænt framboð | 6,378
75
+ Suðvestur | Björt framtíð | 5,458
76
+ Suðvestur | Framsóknarflokkurinn | 2,031
77
+ Suðvestur | Miðflokkurinn | 2,031
78
+ Suðvestur | Samfylkingin | 2,532
79
+ Suðvestur | Flokkur fólksins | 1,742
80
+ Suðvestur | Dögun | 893
81
+ Suðvestur | Alþýðufylkingin | 103
82
+
83
+ Suður | Sjálfstæðisflokkurinn | 8,509
84
+ Suður | Framsóknarflokkurinn | 2,577
85
+ Suður | Miðflokkurinn | 2,577
86
+ Suður | Píratar | 3,458
87
+ Suður | Vinstrihreyfingin – grænt framboð | 2,751
88
+ Suður | Viðreisn | 1,983
89
+ Suður | Samfylkingin | 1,725
90
+ Suður | Björt framtíð | 1,565
91
+ Suður | Flokkur fólksins | 973
92
+ Suður | Dögun | 611
93
+ Suður | Íslenska þjóðfylkingin | 213
94
+ Suður | Alþýðufylkingin | 78
@@ -0,0 +1,88 @@
1
+ # Statistical Analysis of Polling Results (SAPoR)
2
+ # Copyright (C) 2020 Filip van Laenen <f.a.vanlaenen@ieee.org>
3
+ #
4
+ # This file is part of SAPoR.
5
+ #
6
+ # SAPoR is free software: you can redistribute it and/or modify it under the
7
+ # terms of the GNU General Public License as published by the Free Software
8
+ # Foundation, either version 3 of the License, or (at your option) any later
9
+ # version.
10
+ #
11
+ # SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
12
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
13
+ # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
14
+ #
15
+ # You can find a copy of the GNU General Public License in /doc/gpl.txt
16
+ #
17
+
18
+ # Source: Web page with the official results of the elections of 29 October
19
+ # 2016, downloaded on 17 September 2017,
20
+ # URL: http://icelandmonitor.mbl.is/elections2016/
21
+
22
+ Norðaustur | Sjálfstæðisflokkurinn | 6,014
23
+ Norðaustur | Framsóknarflokkurinn | 4,542
24
+ Norðaustur | Vinstrihreyfingin – grænt framboð | 4,539
25
+ Norðaustur | Píratar | 2,265
26
+ Norðaustur | Samfylkingin | 1,816
27
+ Norðaustur | Viðreisn | 1,482
28
+ Norðaustur | Björt framtíð | 774
29
+ Norðaustur | Flokkur fólksins | 645
30
+ Norðaustur | Dögun | 415
31
+ Norðaustur | Alþýðufylkingin | 211
32
+
33
+ Norðvestur | Sjálfstæðisflokkurinn | 4,951
34
+ Norðvestur | Framsóknarflokkurinn | 3,482
35
+ Norðvestur | Vinstrihreyfingin – grænt framboð | 3,032
36
+ Norðvestur | Píratar | 1,823
37
+ Norðvestur | Samfylkingin | 1,054
38
+ Norðvestur | Viðreisn | 1,044
39
+ Norðvestur | Björt framtíð | 590
40
+ Norðvestur | Flokkur fólksins | 412
41
+ Norðvestur | Dögun | 282
42
+ Norðvestur | Íslenska þjóðfylkingin | 90
43
+
44
+ Reykjavík norður | Sjálfstæðisflokkurinn | 8,538
45
+ Reykjavík norður | Vinstrihreyfingin – grænt framboð | 7,318
46
+ Reykjavík norður | Píratar | 6,655
47
+ Reykjavík norður | Viðreisn | 4,064
48
+ Reykjavík norður | Björt framtíð | 2,673
49
+ Reykjavík norður | Framsóknarflokkurinn | 1,987
50
+ Reykjavík norður | Samfylkingin | 1,822
51
+ Reykjavík norður | Flokkur fólksins | 1,321
52
+ Reykjavík norður | Dögun | 496
53
+ Reykjavík norður | Alþýðufylkingin | 104
54
+
55
+ Reykjavík suður | Sjálfstæðisflokkurinn | 8,929
56
+ Reykjavík suður | Vinstrihreyfingin – grænt framboð | 6,148
57
+ Reykjavík suður | Píratar | 6,021
58
+ Reykjavík suður | Viðreisn | 4,440
59
+ Reykjavík suður | Framsóknarflokkurinn | 2,564
60
+ Reykjavík suður | Björt framtíð | 2,518
61
+ Reykjavík suður | Samfylkingin | 1,944
62
+ Reykjavík suður | Flokkur fólksins | 1,614
63
+ Reykjavík suður | Dögun | 578
64
+ Reykjavík suður | Alþýðufylkingin | 79
65
+ Reykjavík suður | Húmanistaflokkurinn | 33
66
+
67
+ Suðvestur | Sjálfstæðisflokkurinn | 18,049
68
+ Suðvestur | Píratar | 7,227
69
+ Suðvestur | Viðreisn | 6,857
70
+ Suðvestur | Vinstrihreyfingin – grænt framboð | 6,378
71
+ Suðvestur | Björt framtíð | 5,458
72
+ Suðvestur | Framsóknarflokkurinn | 4,062
73
+ Suðvestur | Samfylkingin | 2,532
74
+ Suðvestur | Flokkur fólksins | 1,742
75
+ Suðvestur | Dögun | 893
76
+ Suðvestur | Alþýðufylkingin | 103
77
+
78
+ Suður | Sjálfstæðisflokkurinn | 8,509
79
+ Suður | Framsóknarflokkurinn | 5,154
80
+ Suður | Píratar | 3,458
81
+ Suður | Vinstrihreyfingin – grænt framboð | 2,751
82
+ Suður | Viðreisn | 1,983
83
+ Suður | Samfylkingin | 1,725
84
+ Suður | Björt framtíð | 1,565
85
+ Suður | Flokkur fólksins | 973
86
+ Suður | Dögun | 611
87
+ Suður | Íslenska þjóðfylkingin | 213
88
+ Suður | Alþýðufylkingin | 78
@@ -0,0 +1,94 @@
1
+ # Statistical Analysis of Polling Results (SAPoR)
2
+ # Copyright (C) 2020 Filip van Laenen <f.a.vanlaenen@ieee.org>
3
+ #
4
+ # This file is part of SAPoR.
5
+ #
6
+ # SAPoR is free software: you can redistribute it and/or modify it under the
7
+ # terms of the GNU General Public License as published by the Free Software
8
+ # Foundation, either version 3 of the License, or (at your option) any later
9
+ # version.
10
+ #
11
+ # SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
12
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
13
+ # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
14
+ #
15
+ # You can find a copy of the GNU General Public License in /doc/gpl.txt
16
+ #
17
+
18
+ # Source: Web page with the official results of the elections of 28 October
19
+ # 2017, downloaded on 20 November 2017,
20
+ # URL: http://icelandmonitor.mbl.is/elections2017/
21
+ #
22
+ # Added Sósíalistaflokkur Íslands (J) with the same distribution as Flokkur
23
+ # fólksins (F)
24
+
25
+ Norðaustur | Sjálfstæðisflokkurinn | 4,787
26
+ Norðaustur | Vinstrihreyfingin – grænt framboð | 4,699
27
+ Norðaustur | Miðflokkurinn | 4,388
28
+ Norðaustur | Framsóknarflokkurinn | 3,386
29
+ Norðaustur | Samfylkingin | 3,275
30
+ Norðaustur | Píratar | 1,295
31
+ Norðaustur | Flokkur fólksins | 1,005
32
+ Norðaustur | Sósíalistaflokkur Íslands | 1,005
33
+ Norðaustur | Viðreisn | 495
34
+ Norðaustur | Björt framtíð | 169
35
+ Norðaustur | Alþýðufylkingin | 110
36
+
37
+ Norðvestur | Sjálfstæðisflokkurinn | 4,233
38
+ Norðvestur | Framsóknarflokkurinn | 3,177
39
+ Norðvestur | Vinstrihreyfingin – grænt framboð | 3,067
40
+ Norðvestur | Miðflokkurinn | 2,456
41
+ Norðvestur | Samfylkingin | 1,681
42
+ Norðvestur | Píratar | 1,169
43
+ Norðvestur | Flokkur fólksins | 911
44
+ Norðvestur | Sósíalistaflokkur Íslands | 911
45
+ Norðvestur | Viðreisn | 423
46
+ Norðvestur | Björt framtíð | 135
47
+
48
+ Reykjavík norður | Sjálfstæðisflokkurinn | 8,108
49
+ Reykjavík norður | Vinstrihreyfingin – grænt framboð | 7,727
50
+ Reykjavík norður | Píratar | 4,885
51
+ Reykjavík norður | Samfylkingin | 4,575
52
+ Reykjavík norður | Viðreisn | 3,013
53
+ Reykjavík norður | Flokkur fólksins | 2,547
54
+ Reykjavík norður | Sósíalistaflokkur Íslands | 2,547
55
+ Reykjavík norður | Miðflokkurinn | 2,509
56
+ Reykjavík norður | Framsóknarflokkurinn | 1,901
57
+ Reykjavík norður | Björt framtíð | 506
58
+ Reykjavík norður | Alþýðufylkingin | 105
59
+
60
+ Reykjavík suður | Sjálfstæðisflokkurinn | 8,143
61
+ Reykjavík suður | Vinstrihreyfingin – grænt framboð | 6,750
62
+ Reykjavík suður | Samfylkingin | 4,661
63
+ Reykjavík suður | Píratar | 4,076
64
+ Reykjavík suður | Viðreisn | 3,043
65
+ Reykjavík suður | Flokkur fólksins | 2,914
66
+ Reykjavík suður | Sósíalistaflokkur Íslands | 2,914
67
+ Reykjavík suður | Framsóknarflokkurinn | 2,897
68
+ Reykjavík suður | Miðflokkurinn | 2,701
69
+ Reykjavík suður | Björt framtíð | 449
70
+ Reykjavík suður | Alþýðufylkingin | 85
71
+
72
+ Suður | Sjálfstæðisflokkurinn | 7,056
73
+ Suður | Framsóknarflokkurinn | 5,230
74
+ Suður | Miðflokkurinn | 3,999
75
+ Suður | Vinstrihreyfingin – grænt framboð | 3,321
76
+ Suður | Samfylkingin | 2,689
77
+ Suður | Flokkur fólksins | 2,509
78
+ Suður | Sósíalistaflokkur Íslands | 2,509
79
+ Suður | Píratar | 1,985
80
+ Suður | Viðreisn | 871
81
+ Suður | Björt framtíð | 289
82
+ Suður | Dögun | 101
83
+
84
+ Suðvestur | Sjálfstæðisflokkurinn | 17,216
85
+ Suðvestur | Vinstrihreyfingin – grænt framboð | 7,591
86
+ Suðvestur | Samfylkingin | 6,771
87
+ Suðvestur | Miðflokkurinn | 5,282
88
+ Suðvestur | Viðreisn | 5,277
89
+ Suðvestur | Píratar | 4,641
90
+ Suðvestur | Framsóknarflokkurinn | 4,425
91
+ Suðvestur | Flokkur fólksins | 3,616
92
+ Suðvestur | Sósíalistaflokkur Íslands | 3,616
93
+ Suðvestur | Björt framtíð | 846
94
+ Suðvestur | Alþýðufylkingin | 75
@@ -0,0 +1,85 @@
1
+ # Statistical Analysis of Polling Results (SAPoR)
2
+ # Copyright (C) 2020 Filip van Laenen <f.a.vanlaenen@ieee.org>
3
+ #
4
+ # This file is part of SAPoR.
5
+ #
6
+ # SAPoR is free software: you can redistribute it and/or modify it under the
7
+ # terms of the GNU General Public License as published by the Free Software
8
+ # Foundation, either version 3 of the License, or (at your option) any later
9
+ # version.
10
+ #
11
+ # SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
12
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
13
+ # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
14
+ #
15
+ # You can find a copy of the GNU General Public License in /doc/gpl.txt
16
+ #
17
+
18
+ # Source: Web page with the official results of the elections of 28 October
19
+ # 2017, downloaded on 20 November 2017,
20
+ # URL: http://icelandmonitor.mbl.is/elections2017/
21
+
22
+ Norðaustur | Sjálfstæðisflokkurinn | 4,787
23
+ Norðaustur | Vinstrihreyfingin – grænt framboð | 4,699
24
+ Norðaustur | Miðflokkurinn | 4,388
25
+ Norðaustur | Framsóknarflokkurinn | 3,386
26
+ Norðaustur | Samfylkingin | 3,275
27
+ Norðaustur | Píratar | 1,295
28
+ Norðaustur | Flokkur fólksins | 1,005
29
+ Norðaustur | Viðreisn | 495
30
+ Norðaustur | Björt framtíð | 169
31
+ Norðaustur | Alþýðufylkingin | 110
32
+
33
+ Norðvestur | Sjálfstæðisflokkurinn | 4,233
34
+ Norðvestur | Framsóknarflokkurinn | 3,177
35
+ Norðvestur | Vinstrihreyfingin – grænt framboð | 3,067
36
+ Norðvestur | Miðflokkurinn | 2,456
37
+ Norðvestur | Samfylkingin | 1,681
38
+ Norðvestur | Píratar | 1,169
39
+ Norðvestur | Flokkur fólksins | 911
40
+ Norðvestur | Viðreisn | 423
41
+ Norðvestur | Björt framtíð | 135
42
+
43
+ Reykjavík norður | Sjálfstæðisflokkurinn | 8,108
44
+ Reykjavík norður | Vinstrihreyfingin – grænt framboð | 7,727
45
+ Reykjavík norður | Píratar | 4,885
46
+ Reykjavík norður | Samfylkingin | 4,575
47
+ Reykjavík norður | Viðreisn | 3,013
48
+ Reykjavík norður | Flokkur fólksins | 2,547
49
+ Reykjavík norður | Miðflokkurinn | 2,509
50
+ Reykjavík norður | Framsóknarflokkurinn | 1,901
51
+ Reykjavík norður | Björt framtíð | 506
52
+ Reykjavík norður | Alþýðufylkingin | 105
53
+
54
+ Reykjavík suður | Sjálfstæðisflokkurinn | 8,143
55
+ Reykjavík suður | Vinstrihreyfingin – grænt framboð | 6,750
56
+ Reykjavík suður | Samfylkingin | 4,661
57
+ Reykjavík suður | Píratar | 4,076
58
+ Reykjavík suður | Viðreisn | 3,043
59
+ Reykjavík suður | Flokkur fólksins | 2,914
60
+ Reykjavík suður | Framsóknarflokkurinn | 2,897
61
+ Reykjavík suður | Miðflokkurinn | 2,701
62
+ Reykjavík suður | Björt framtíð | 449
63
+ Reykjavík suður | Alþýðufylkingin | 85
64
+
65
+ Suður | Sjálfstæðisflokkurinn | 7,056
66
+ Suður | Framsóknarflokkurinn | 5,230
67
+ Suður | Miðflokkurinn | 3,999
68
+ Suður | Vinstrihreyfingin – grænt framboð | 3,321
69
+ Suður | Samfylkingin | 2,689
70
+ Suður | Flokkur fólksins | 2,509
71
+ Suður | Píratar | 1,985
72
+ Suður | Viðreisn | 871
73
+ Suður | Björt framtíð | 289
74
+ Suður | Dögun | 101
75
+
76
+ Suðvestur | Sjálfstæðisflokkurinn | 17,216
77
+ Suðvestur | Vinstrihreyfingin – grænt framboð | 7,591
78
+ Suðvestur | Samfylkingin | 6,771
79
+ Suðvestur | Miðflokkurinn | 5,282
80
+ Suðvestur | Viðreisn | 5,277
81
+ Suðvestur | Píratar | 4,641
82
+ Suðvestur | Framsóknarflokkurinn | 4,425
83
+ Suðvestur | Flokkur fólksins | 3,616
84
+ Suðvestur | Björt framtíð | 846
85
+ Suðvestur | Alþýðufylkingin | 75