sapor 0.3.6

Sign up to get free protection for your applications and to get access to all the features.
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,172 @@
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
+ # Changes:
18
+ # Added Brexit Party as a copy of UK Independence Party
19
+ # Added Change UK as a combination of Conservative Party (3/318) and Labour Party (8/262)
20
+ #
21
+
22
+ East Midlands | UK Independence Party (EAPN) | 368,734
23
+ East Midlands | Brexit Party (BREXIT) | 368,734
24
+ East Midlands | Conservative Party (ECR) | 291,270
25
+ East Midlands | Labour Party (S&D) | 279,363
26
+ East Midlands | Green Party (Greens/EFA) | 67,066
27
+ East Midlands | Liberal Democrats (ALDE) | 60,773
28
+ East Midlands | Independence from Europe (*) | 21,384
29
+ East Midlands | British National Party (*) | 18,326
30
+ East Midlands | English Democrats (*) | 11,612
31
+ East Midlands | Change UK (ALDE) | 11,278
32
+ East Midlands | Harmony Party (*) | 2,194
33
+
34
+ East of England | UK Independence Party (EAPN) | 542,812
35
+ East of England | Brexit Party (BREXIT) | 542,812
36
+ East of England | Conservative Party (ECR) | 446,569
37
+ East of England | Labour Party (S&D) | 271,601
38
+ East of England | Green Party (Greens/EFA) | 133,331
39
+ East of England | Liberal Democrats (ALDE) | 108,010
40
+ East of England | Independence from Europe (*) | 26,564
41
+ East of England | English Democrats (*) | 16,497
42
+ East of England | Change UK (ALDE) | 12,506
43
+ East of England | British National Party (*) | 12,465
44
+ East of England | Christian Peoples Alliance (ECR) | 11,627
45
+ East of England | No2EU (*) | 4,870
46
+
47
+ London | Labour Party (S&D) | 806,959
48
+ London | Conservative Party (ECR) | 495,639
49
+ London | UK Independence Party (EAPN) | 371,133
50
+ London | Brexit Party (BREXIT) | 371,133
51
+ London | Green Party (Greens/EFA) | 196,419
52
+ London | Liberal Democrats (ALDE) | 148,013
53
+ London | Change UK (ALDE) | 29,316
54
+ London | Alliance EPP: European People’s Party UK (EPP) | 28,014
55
+ London | Independence from Europe (*) | 26,675
56
+ London | Christian Peoples Alliance (ECR) | 23,702
57
+ London | National Health Action Party (*) | 23,253
58
+ London | Animal Welfare Party (GUE/NGL) | 21,092
59
+ London | British National Party (*) | 19,246
60
+ London | Europeans Party (*) | 10,712
61
+ London | English Democrats (*) | 10,142
62
+ London | Communities United Party (*) | 6,951
63
+ London | National Liberal Party (*) | 6,736
64
+ London | No2EU (*) | 3,804
65
+ London | Harmony Party (*) | 1,985
66
+
67
+ North East England | Labour Party (S&D) | 221,988
68
+ North East England | UK Independence Party (EAPN) | 177,660
69
+ North East England | Brexit Party (BREXIT) | 177,660
70
+ North East England | Conservative Party (ECR) | 107,733
71
+ North East England | Liberal Democrats (ALDE) | 36,093
72
+ North East England | Green Party (Greens/EFA) | 31,605
73
+ North East England | Independence from Europe (*) | 13,934
74
+ North East England | British National Party (*) | 10,360
75
+ North East England | English Democrats (*) | 9,279
76
+ North East England | Change UK (ALDE) | 7,795
77
+
78
+ North West England | Labour Party (S&D) | 594,063
79
+ North West England | UK Independence Party (EAPN) | 481,932
80
+ North West England | Brexit Party (BREXIT) | 481,932
81
+ North West England | Conservative Party (ECR) | 351,985
82
+ North West England | Green Party (Greens/EFA) | 123,075
83
+ North West England | Liberal Democrats (ALDE) | 105,487
84
+ North West England | British National Party (*) | 32,826
85
+ North West England | Independence from Europe (*) | 26,731
86
+ North West England | Change UK (ALDE) | 21,460
87
+ North West England | English Democrats (*) | 19,522
88
+ North West England | Pirate Party UK (*) | 8,597
89
+ North West England | No2EU (*) | 5,402
90
+ North West England | Socialist Equality Party (*) | 5,067
91
+
92
+ South East England | UK Independence Party (EAPN) | 751,439
93
+ South East England | Brexit Party (BREXIT) | 751,439
94
+ South East England | Conservative Party (ECR) | 723,571
95
+ South East England | Labour Party (S&D) | 342,775
96
+ South East England | Green Party (Greens/EFA) | 211,706
97
+ South East England | Liberal Democrats (ALDE) | 187,876
98
+ South East England | Independence from Europe (*) | 45,199
99
+ South East England | English Democrats (*) | 17,771
100
+ South East England | Change UK (ALDE) | 17,293
101
+ South East England | British National Party (*) | 16,909
102
+ South East England | Christian Peoples Alliance (ECR) | 14,893
103
+ South East England | Peace Party (*) | 10,130
104
+ South East England | Socialist Party of Great Britain (*) | 5,454
105
+ South East England | Roman Party (*) | 2,997
106
+ South East England | YOURVoice (*) | 2,932
107
+ South East England | Liberty Great Britain (*) | 2,494
108
+ South East England | Harmony Party (*) | 1,904
109
+
110
+ South West England | UK Independence Party (EAPN) | 484,184
111
+ South West England | Brexit Party (BREXIT) | 484,184
112
+ South West England | Conservative Party (ECR) | 433,151
113
+ South West England | Labour Party (S&D) | 206,124
114
+ South West England | Green Party (Greens/EFA) | 166,447
115
+ South West England | Liberal Democrats (ALDE) | 160,376
116
+ South West England | Independence from Europe (*) | 23,169
117
+ South West England | English Democrats (*) | 15,081
118
+ South West England | British National Party (*) | 10,910
119
+ South West England | Change UK (ALDE) | 10,380
120
+
121
+ West Midlands | UK Independence Party (EAPN) | 428,010
122
+ West Midlands | Brexit Party (BREXIT) | 428,010
123
+ West Midlands | Labour Party (S&D) | 363,033
124
+ West Midlands | Conservative Party (ECR) | 330,470
125
+ West Midlands | Liberal Democrats (ALDE) | 75,648
126
+ West Midlands | Green Party (Greens/EFA) | 71,464
127
+ West Midlands | Independence from Europe (*) | 27,171
128
+ West Midlands | We Demand a Referendum Now (*) | 23,426
129
+ West Midlands | British National Party (*) | 20,643
130
+ West Midlands | Change UK (ALDE) | 14,203
131
+ West Midlands | English Democrats (*) | 12,832
132
+ West Midlands | No2EU (*) | 4,653
133
+ West Midlands | Harmony Party (*) | 1,857
134
+
135
+ Yorkshire and the Humber | UK Independence Party (EAPN) | 403,630
136
+ Yorkshire and the Humber | Brexit Party (BREXIT) | 403,630
137
+ Yorkshire and the Humber | Labour Party (S&D) | 380,189
138
+ Yorkshire and the Humber | Conservative Party (ECR) | 248,945
139
+ Yorkshire and the Humber | Green Party (Greens/EFA) | 102,282
140
+ Yorkshire and the Humber | Liberal Democrats (ALDE) | 81,108
141
+ Yorkshire and the Humber | Independence from Europe (*) | 24,297
142
+ Yorkshire and the Humber | British National Party (*) | 20,138
143
+ Yorkshire and the Humber | Yorkshire Party (Greens/EFA) | 19,017
144
+ Yorkshire and the Humber | Change UK (ALDE) | 13,957
145
+ Yorkshire and the Humber | English Democrats (*) | 13,288
146
+ Yorkshire and the Humber | No2EU (*) | 3,807
147
+
148
+ Scotland | Scottish National Party (Greens/EFA) | 389,503
149
+ Scotland | Labour Party (S&D) | 348,219
150
+ Scotland | Conservative Party (ECR) | 231,330
151
+ Scotland | UK Independence Party (EAPN) | 140,534
152
+ Scotland | Brexit Party (BREXIT) | 140,534
153
+ Scotland | Green Party (Greens/EFA) | 108,305
154
+ Scotland | Liberal Democrats (ALDE) | 95,319
155
+ Scotland | Britain First (*) | 13,639
156
+ Scotland | Change UK (ALDE) | 12,815
157
+ Scotland | British National Party (*) | 10,216
158
+ Scotland | No2EU (*) | 6,418
159
+
160
+ Wales | Labour Party (S&D) | 206,332
161
+ Wales | UK Independence Party (EAPN) | 201,983
162
+ Wales | Brexit Party (BREXIT) | 201,983
163
+ Wales | Conservative Party (ECR) | 127,742
164
+ Wales | Plaid Cymru (Greens/EFA) | 111,864
165
+ Wales | Green Party (Greens/EFA) | 33,275
166
+ Wales | Liberal Democrats (ALDE) | 28,930
167
+ Wales | British National Party (*) | 7,655
168
+ Wales | Change UK (*) | 7,505
169
+ Wales | Britain First (*) | 6,633
170
+ Wales | Socialist Labour Party (*) | 4,459
171
+ Wales | No2EU (*) | 2,803
172
+ Wales | Socialist Party of Great Britain (*) | 1,384
@@ -0,0 +1,146 @@
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
+ East Midlands | UK Independence Party (EAPN) | 368,734
19
+ East Midlands | Conservative Party (ECR) | 291,270
20
+ East Midlands | Labour Party (S&D) | 279,363
21
+ East Midlands | Green Party (Greens/EFA) | 67,066
22
+ East Midlands | Liberal Democrats (ALDE) | 60,773
23
+ East Midlands | Independence from Europe (*) | 21,384
24
+ East Midlands | British National Party (*) | 18,326
25
+ East Midlands | English Democrats (*) | 11,612
26
+ East Midlands | Harmony Party (*) | 2,194
27
+
28
+ East of England | UK Independence Party (EAPN) | 542,812
29
+ East of England | Conservative Party (ECR) | 446,569
30
+ East of England | Labour Party (S&D) | 271,601
31
+ East of England | Green Party (Greens/EFA) | 133,331
32
+ East of England | Liberal Democrats (ALDE) | 108,010
33
+ East of England | Independence from Europe (*) | 26,564
34
+ East of England | English Democrats (*) | 16,497
35
+ East of England | British National Party (*) | 12,465
36
+ East of England | Christian Peoples Alliance (ECR) | 11,627
37
+ East of England | No2EU (*) | 4,870
38
+
39
+ London | Labour Party (S&D) | 806,959
40
+ London | Conservative Party (ECR) | 495,639
41
+ London | UK Independence Party (EAPN) | 371,133
42
+ London | Green Party (Greens/EFA) | 196,419
43
+ London | Liberal Democrats (ALDE) | 148,013
44
+ London | Alliance EPP: European People’s Party UK (EPP) | 28,014
45
+ London | Independence from Europe (*) | 26,675
46
+ London | Christian Peoples Alliance (ECR) | 23,702
47
+ London | National Health Action Party (*) | 23,253
48
+ London | Animal Welfare Party (GUE/NGL) | 21,092
49
+ London | British National Party (*) | 19,246
50
+ London | Europeans Party (*) | 10,712
51
+ London | English Democrats (*) | 10,142
52
+ London | Communities United Party (*) | 6,951
53
+ London | National Liberal Party (*) | 6,736
54
+ London | No2EU (*) | 3,804
55
+ London | Harmony Party (*) | 1,985
56
+
57
+ North East England | Labour Party (S&D) | 221,988
58
+ North East England | UK Independence Party (EAPN) | 177,660
59
+ North East England | Conservative Party (ECR) | 107,733
60
+ North East England | Liberal Democrats (ALDE) | 36,093
61
+ North East England | Green Party (Greens/EFA) | 31,605
62
+ North East England | Independence from Europe (*) | 13,934
63
+ North East England | British National Party (*) | 10,360
64
+ North East England | English Democrats (*) | 9,279
65
+
66
+ North West England | Labour Party (S&D) | 594,063
67
+ North West England | UK Independence Party (EAPN) | 481,932
68
+ North West England | Conservative Party (ECR) | 351,985
69
+ North West England | Green Party (Greens/EFA) | 123,075
70
+ North West England | Liberal Democrats (ALDE) | 105,487
71
+ North West England | British National Party (*) | 32,826
72
+ North West England | Independence from Europe (*) | 26,731
73
+ North West England | English Democrats (*) | 19,522
74
+ North West England | Pirate Party UK (*) | 8,597
75
+ North West England | No2EU (*) | 5,402
76
+ North West England | Socialist Equality Party (*) | 5,067
77
+
78
+ South East England | UK Independence Party (EAPN) | 751,439
79
+ South East England | Conservative Party (ECR) | 723,571
80
+ South East England | Labour Party (S&D) | 342,775
81
+ South East England | Green Party (Greens/EFA) | 211,706
82
+ South East England | Liberal Democrats (ALDE) | 187,876
83
+ South East England | Independence from Europe (*) | 45,199
84
+ South East England | English Democrats (*) | 17,771
85
+ South East England | British National Party (*) | 16,909
86
+ South East England | Christian Peoples Alliance (ECR) | 14,893
87
+ South East England | Peace Party (*) | 10,130
88
+ South East England | Socialist Party of Great Britain (*) | 5,454
89
+ South East England | Roman Party (*) | 2,997
90
+ South East England | YOURVoice (*) | 2,932
91
+ South East England | Liberty Great Britain (*) | 2,494
92
+ South East England | Harmony Party (*) | 1,904
93
+
94
+ South West England | UK Independence Party (EAPN) | 484,184
95
+ South West England | Conservative Party (ECR) | 433,151
96
+ South West England | Labour Party (S&D) | 206,124
97
+ South West England | Green Party (Greens/EFA) | 166,447
98
+ South West England | Liberal Democrats (ALDE) | 160,376
99
+ South West England | Independence from Europe (*) | 23,169
100
+ South West England | English Democrats (*) | 15,081
101
+ South West England | British National Party (*) | 10,910
102
+
103
+ West Midlands | UK Independence Party (EAPN) | 428,010
104
+ West Midlands | Labour Party (S&D) | 363,033
105
+ West Midlands | Conservative Party (ECR) | 330,470
106
+ West Midlands | Liberal Democrats (ALDE) | 75,648
107
+ West Midlands | Green Party (Greens/EFA) | 71,464
108
+ West Midlands | Independence from Europe (*) | 27,171
109
+ West Midlands | We Demand a Referendum Now (*) | 23,426
110
+ West Midlands | British National Party (*) | 20,643
111
+ West Midlands | English Democrats (*) | 12,832
112
+ West Midlands | No2EU (*) | 4,653
113
+ West Midlands | Harmony Party (*) | 1,857
114
+
115
+ Yorkshire and the Humber | UK Independence Party (EAPN) | 403,630
116
+ Yorkshire and the Humber | Labour Party (S&D) | 380,189
117
+ Yorkshire and the Humber | Conservative Party (ECR) | 248,945
118
+ Yorkshire and the Humber | Green Party (Greens/EFA) | 102,282
119
+ Yorkshire and the Humber | Liberal Democrats (ALDE) | 81,108
120
+ Yorkshire and the Humber | Independence from Europe (*) | 24,297
121
+ Yorkshire and the Humber | British National Party (*) | 20,138
122
+ Yorkshire and the Humber | Yorkshire Party (Greens/EFA) | 19,017
123
+ Yorkshire and the Humber | English Democrats (*) | 13,288
124
+ Yorkshire and the Humber | No2EU (*) | 3,807
125
+
126
+ Scotland | Scottish National Party (Greens/EFA) | 389,503
127
+ Scotland | Labour Party (S&D) | 348,219
128
+ Scotland | Conservative Party (ECR) | 231,330
129
+ Scotland | UK Independence Party (EAPN) | 140,534
130
+ Scotland | Green Party (Greens/EFA) | 108,305
131
+ Scotland | Liberal Democrats (ALDE) | 95,319
132
+ Scotland | Britain First (*) | 13,639
133
+ Scotland | British National Party (*) | 10,216
134
+ Scotland | No2EU (*) | 6,418
135
+
136
+ Wales | Labour Party (S&D) | 206,332
137
+ Wales | UK Independence Party (EAPN) | 201,983
138
+ Wales | Conservative Party (ECR) | 127,742
139
+ Wales | Plaid Cymru (Greens/EFA) | 111,864
140
+ Wales | Green Party (Greens/EFA) | 33,275
141
+ Wales | Liberal Democrats (ALDE) | 28,930
142
+ Wales | British National Party (*) | 7,655
143
+ Wales | Britain First (*) | 6,633
144
+ Wales | Socialist Labour Party (*) | 4,459
145
+ Wales | No2EU (*) | 2,803
146
+ Wales | Socialist Party of Great Britain (*) | 1,384
@@ -0,0 +1,141 @@
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
+ East Midlands | Brexit Party (NI) | 452,321
19
+ East Midlands | Liberal Democrats (RE) | 203,989
20
+ East Midlands | Labour Party (S&D) | 164,682
21
+ East Midlands | Conservative Party (ECR) | 126,138
22
+ East Midlands | Green Party (Greens/EFA) | 124,630
23
+ East Midlands | UK Independence Party (ID) | 58,198
24
+ East Midlands | Change UK (RE) | 41,117
25
+ East Midlands | Independent Network (*) | 7,641
26
+ East Midlands | Independent: Simon Rood (*) | 4,511
27
+
28
+ East of England | Brexit Party (NI) | 604,715
29
+ East of England | Liberal Democrats (RE) | 361,563
30
+ East of England | Green Party (Greens/EFA) | 202,460
31
+ East of England | Conservative Party (ECR) | 163,830
32
+ East of England | Labour Party (S&D) | 139,490
33
+ East of England | Change UK (RE) | 58,274
34
+ East of England | UK Independence Party (ID) | 54,676
35
+ East of England | English Democrats (*) | 10,217
36
+ East of England | Independent: Attila Csordas (*) | 3,230
37
+
38
+ London | Liberal Democrats (RE) | 608,725
39
+ London | Labour Party (S&D) | 536,810
40
+ London | Brexit Party (NI) | 400,257
41
+ London | Green Party (Greens/EFA) | 278,957
42
+ London | Conservative Party (ECR) | 177,964
43
+ London | Change UK (RE) | 117,635
44
+ London | UK Independence Party (ID) | 46,497
45
+ London | Animal Welfare Party (GUE/NGL) | 25,232
46
+ London | Women’s Equality Party (*) | 23,766
47
+ London | UK European Union Party (*) | 18,806
48
+ London | Independent: Claudia McDowell (*) | 1,036
49
+ London | Independent: Daze Aghaji (*) | 1,018
50
+ London | Independent: Roger Hallam (*) | 924
51
+ London | Independent: Kofi Klu (*) | 869
52
+ London | Independent: Andrea Venzon (*) | 731
53
+ London | Independent: Mike Shad (*) | 707
54
+ London | Independent: Zoe Lafferty (*) | 436
55
+ London | Independent: Andrew Medhurst (*) | 430
56
+ London | Independent: Alan Kirkby (*) | 401
57
+ London | Independent: Ian Sowden (*) | 254
58
+ London | Independent: Henry Muss (*) | 226
59
+
60
+ North East England | Brexit Party (NI) | 240,056
61
+ North East England | Labour Party (S&D) | 119,931
62
+ North East England | Liberal Democrats (RE) | 104,330
63
+ North East England | Green Party (Greens/EFA) | 49,905
64
+ North East England | Conservative Party (ECR) | 42,395
65
+ North East England | UK Independence Party (ID) | 38,269
66
+ North East England | Change UK (RE) | 24,968
67
+
68
+ North West England | Brexit Party (NI) | 541,843
69
+ North West England | Labour Party (S&D) | 380,193
70
+ North West England | Liberal Democrats (RE) | 297,507
71
+ North West England | Green Party (Greens/EFA) | 216,581
72
+ North West England | Conservative Party (ECR) | 131,002
73
+ North West England | UK Independence Party (ID) | 62,464
74
+ North West England | Change UK (RE) | 47,237
75
+ North West England | Independent: Tommy Robinson (*) | 38,908
76
+ North West England | English Democrats (*) | 10,045
77
+ North West England | UK European Union Party (*) | 7,125
78
+ North West England | Independent: Mohammad Aslam (*) | 2,002
79
+
80
+ South East England | Brexit Party (NI) | 915,686
81
+ South East England | Liberal Democrats (RE) | 653,743
82
+ South East England | Green Party (Greens/EFA) | 343,249
83
+ South East England | Conservative Party (ECR) | 260,277
84
+ South East England | Labour Party (S&D) | 184,678
85
+ South East England | Change UK (RE) | 105,832
86
+ South East England | UK Independence Party (ID) | 56,487
87
+ South East England | UK European Union Party (*) | 7,645
88
+ South East England | Independent: Jason Guy Spencer McMahon (*) | 3,650
89
+ South East England | Socialist Party of Great Britain (*) | 3,505
90
+ South East England | Independent: David Victor Round (*) | 3,650
91
+ South East England | Independent: Michael Jeffrey Tuberville (*) | 3,650
92
+
93
+ South West England | Brexit Party (NI) | 611,742
94
+ South West England | Liberal Democrats (RE) | 385,095
95
+ South West England | Green Party (Greens/EFA) | 302,364
96
+ South West England | Conservative Party (ECR) | 144,674
97
+ South West England | Labour Party (S&D) | 108,100
98
+ South West England | UK Independence Party (ID) | 53,739
99
+ South West England | Change UK (RE) | 46,612
100
+ South West England | English Democrats (*) | 8,393
101
+ South West England | Independent: Neville Seed (*) | 3,383
102
+ South West England | Independent: Larch Maxey (*) | 1,722
103
+ South West England | Independent: Mothiur Rahman (*) | 755
104
+
105
+ West Midlands | Brexit Party (NI) | 507,152
106
+ West Midlands | Labour Party (S&D) | 228,298
107
+ West Midlands | Liberal Democrats (RE) | 219,982
108
+ West Midlands | Green Party (Greens/EFA) | 143,520
109
+ West Midlands | Conservative Party (ECR) | 135,279
110
+ West Midlands | UK Independence Party (ID) | 66,934
111
+ West Midlands | Change UK (RE) | 45,673
112
+
113
+ Yorkshire and the Humber | Brexit Party (NI) | 470,351
114
+ Yorkshire and the Humber | Labour Party (S&D) | 210,516
115
+ Yorkshire and the Humber | Liberal Democrats (RE) | 200,180
116
+ Yorkshire and the Humber | Green Party (Greens/EFA) | 166,980
117
+ Yorkshire and the Humber | Conservative Party (ECR) | 92,863
118
+ Yorkshire and the Humber | UK Independence Party (ID) | 56,100
119
+ Yorkshire and the Humber | Yorkshire Party (Greens/EFA) | 50,842
120
+ Yorkshire and the Humber | Change UK (RE) | 30,162
121
+ Yorkshire and the Humber | English Democrats (*) | 11,283
122
+
123
+ Scotland | Scottish National Party (Greens/EFA) | 594,533
124
+ Scotland | Brexit Party (NI) | 233,006
125
+ Scotland | Liberal Democrats (RE) | 218,285
126
+ Scotland | Conservative Party (ECR) | 182,476
127
+ Scotland | Labour Party (S&D) | 146,724
128
+ Scotland | Green Party (Greens/EFA) | 129,603
129
+ Scotland | Change UK (RE) | 30,004
130
+ Scotland | UK Independence Party (ID) | 28,418
131
+ Scotland | Independent: Gordon Edgar (*) | 6,128
132
+ Scotland | Independent: Ken Parke (*) | 2,049
133
+
134
+ Wales | Brexit Party (NI) | 271,404
135
+ Wales | Plaid Cymru (Greens/EFA) | 163,928
136
+ Wales | Labour Party (S&D) | 127,833
137
+ Wales | Liberal Democrats (RE) | 113,885
138
+ Wales | Conservative Party (ECR) | 54,587
139
+ Wales | Green Party (Greens/EFA) | 52,660
140
+ Wales | UK Independence Party (ID) | 27,566
141
+ Wales | Change UK (RE) | 24,332