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.
Files changed (332) 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/pl/2015-gl-lis-okr.csv +42 -0
  25. data/data/pl/poland_2015_to_psv.rb +79 -0
  26. data/data/pl/poland_2015_to_psv_with_ko_and_rsw.rb +94 -0
  27. data/data/pl/poland_2015_to_psv_with_ko_konf_kp_l_and_zp.rb +100 -0
  28. data/data/pl/poland_2015_to_psv_with_ko_sld_and_wi.rb +92 -0
  29. data/data/pl/poland_2015_to_psv_with_sld.rb +84 -0
  30. data/data/pl/poland_2015_to_psv_with_sld_and_wi.rb +85 -0
  31. data/data/uk/inject_ukip_2015_as_brexit_2019_in_2017.rb +54 -0
  32. data/data/uk/united_kingdom_2015.txt +651 -0
  33. data/data/uk/united_kingdom_2015_to_psv.rb +104 -0
  34. data/data/uk/united_kingdom_2017.txt +651 -0
  35. data/data/uk/united_kingdom_2017_to_psv.rb +104 -0
  36. data/data/uk/united_kingdom_2017_to_psv_with_brexit_and_chuk.rb +113 -0
  37. data/data/uk/united_kingdom_2017_to_psv_with_tig.rb +111 -0
  38. data/lib/sapor.rb +150 -0
  39. data/lib/sapor/binomials_cache.rb +45 -0
  40. data/lib/sapor/combinations_distribution.rb +222 -0
  41. data/lib/sapor/denominators.rb +67 -0
  42. data/lib/sapor/dichotomies.rb +138 -0
  43. data/lib/sapor/dichotomy.rb +164 -0
  44. data/lib/sapor/first_past_the_post.rb +82 -0
  45. data/lib/sapor/largest_remainder.rb +118 -0
  46. data/lib/sapor/log4r_logger.rb +49 -0
  47. data/lib/sapor/log_facade.rb +40 -0
  48. data/lib/sapor/multi_district_leveled_proportional.rb +64 -0
  49. data/lib/sapor/multi_district_proportional.rb +123 -0
  50. data/lib/sapor/multi_district_variable_threshold_proportional.rb +128 -0
  51. data/lib/sapor/number_formatter.rb +45 -0
  52. data/lib/sapor/options.rb +73 -0
  53. data/lib/sapor/poll.rb +286 -0
  54. data/lib/sapor/polychotomy.rb +200 -0
  55. data/lib/sapor/pseudorandom_multirange_enumerator.rb +87 -0
  56. data/lib/sapor/referendum_polychotomy.rb +165 -0
  57. data/lib/sapor/regional_data/area.rb +82 -0
  58. data/lib/sapor/regional_data/austria.rb +84 -0
  59. data/lib/sapor/regional_data/belgium-brussels-2014.psv +46 -0
  60. data/lib/sapor/regional_data/belgium-brussels-20190526.psv +33 -0
  61. data/lib/sapor/regional_data/belgium-flanders-2014.psv +80 -0
  62. data/lib/sapor/regional_data/belgium-flanders-20190526.psv +74 -0
  63. data/lib/sapor/regional_data/belgium-wallonia-2014.psv +114 -0
  64. data/lib/sapor/regional_data/belgium-wallonia-20190526.psv +93 -0
  65. data/lib/sapor/regional_data/belgium.rb +97 -0
  66. data/lib/sapor/regional_data/belgium_brussels.rb +62 -0
  67. data/lib/sapor/regional_data/belgium_flanders.rb +64 -0
  68. data/lib/sapor/regional_data/belgium_wallonia.rb +63 -0
  69. data/lib/sapor/regional_data/catalonia-2012-2015.psv +100 -0
  70. data/lib/sapor/regional_data/catalonia-2012.psv +87 -0
  71. data/lib/sapor/regional_data/catalonia-2015-jxcat.psv +68 -0
  72. data/lib/sapor/regional_data/catalonia-2015-no-jxsi.psv +68 -0
  73. data/lib/sapor/regional_data/catalonia-2015.psv +63 -0
  74. data/lib/sapor/regional_data/catalonia-jxcat.rb +109 -0
  75. data/lib/sapor/regional_data/catalonia-no-jxsi.rb +96 -0
  76. data/lib/sapor/regional_data/catalonia.rb +96 -0
  77. data/lib/sapor/regional_data/denmark-20150618-with-e-and-p.psv +164 -0
  78. data/lib/sapor/regional_data/denmark-20150618-with-e.psv +153 -0
  79. data/lib/sapor/regional_data/denmark-20150618-with-p.psv +153 -0
  80. data/lib/sapor/regional_data/denmark-20150618.psv +142 -0
  81. data/lib/sapor/regional_data/denmark.rb +128 -0
  82. data/lib/sapor/regional_data/denmark_with_e.rb +128 -0
  83. data/lib/sapor/regional_data/denmark_with_e_and_p.rb +128 -0
  84. data/lib/sapor/regional_data/denmark_with_p.rb +128 -0
  85. data/lib/sapor/regional_data/estonia.rb +88 -0
  86. data/lib/sapor/regional_data/european-union-great-britain-20140522-brexit-chuk.psv +172 -0
  87. data/lib/sapor/regional_data/european-union-great-britain-20140522.psv +146 -0
  88. data/lib/sapor/regional_data/european-union-great-britain-20190523.psv +141 -0
  89. data/lib/sapor/regional_data/european-union-ireland-2014-ia-ri-sd.psv +64 -0
  90. data/lib/sapor/regional_data/european-union-ireland-2014-ia-sd.psv +60 -0
  91. data/lib/sapor/regional_data/european-union-ireland-2014-ia.psv +56 -0
  92. data/lib/sapor/regional_data/european-union-ireland-2014-sd.psv +56 -0
  93. data/lib/sapor/regional_data/european-union-ireland-2014.psv +50 -0
  94. data/lib/sapor/regional_data/european-union-ireland-20190524-ia.psv +58 -0
  95. data/lib/sapor/regional_data/european-union-ireland-20190524.psv +52 -0
  96. data/lib/sapor/regional_data/european_union_27_austria.rb +76 -0
  97. data/lib/sapor/regional_data/european_union_27_croatia.rb +81 -0
  98. data/lib/sapor/regional_data/european_union_27_denmark.rb +77 -0
  99. data/lib/sapor/regional_data/european_union_27_estonia.rb +74 -0
  100. data/lib/sapor/regional_data/european_union_27_finland.rb +74 -0
  101. data/lib/sapor/regional_data/european_union_27_ireland.rb +96 -0
  102. data/lib/sapor/regional_data/european_union_27_ireland_with_ia.rb +97 -0
  103. data/lib/sapor/regional_data/european_union_27_italy.rb +84 -0
  104. data/lib/sapor/regional_data/european_union_27_netherlands.rb +81 -0
  105. data/lib/sapor/regional_data/european_union_27_poland.rb +84 -0
  106. data/lib/sapor/regional_data/european_union_27_romania.rb +78 -0
  107. data/lib/sapor/regional_data/european_union_27_slovakia.rb +80 -0
  108. data/lib/sapor/regional_data/european_union_27_spain.rb +82 -0
  109. data/lib/sapor/regional_data/european_union_27_sweden.rb +76 -0
  110. data/lib/sapor/regional_data/european_union_austria.rb +76 -0
  111. data/lib/sapor/regional_data/european_union_bulgaria.rb +81 -0
  112. data/lib/sapor/regional_data/european_union_croatia.rb +81 -0
  113. data/lib/sapor/regional_data/european_union_cyprus.rb +72 -0
  114. data/lib/sapor/regional_data/european_union_czech_republic.rb +82 -0
  115. data/lib/sapor/regional_data/european_union_denmark.rb +77 -0
  116. data/lib/sapor/regional_data/european_union_estonia.rb +74 -0
  117. data/lib/sapor/regional_data/european_union_finland.rb +74 -0
  118. data/lib/sapor/regional_data/european_union_flanders.rb +74 -0
  119. data/lib/sapor/regional_data/european_union_france.rb +84 -0
  120. data/lib/sapor/regional_data/european_union_france_2019.rb +84 -0
  121. data/lib/sapor/regional_data/european_union_french_community_of_belgium.rb +73 -0
  122. data/lib/sapor/regional_data/european_union_germany.rb +86 -0
  123. data/lib/sapor/regional_data/european_union_great_britain.rb +98 -0
  124. data/lib/sapor/regional_data/european_union_greece.rb +77 -0
  125. data/lib/sapor/regional_data/european_union_hungary.rb +76 -0
  126. data/lib/sapor/regional_data/european_union_ireland.rb +96 -0
  127. data/lib/sapor/regional_data/european_union_ireland_with_ia.rb +97 -0
  128. data/lib/sapor/regional_data/european_union_italy.rb +84 -0
  129. data/lib/sapor/regional_data/european_union_latvia.rb +81 -0
  130. data/lib/sapor/regional_data/european_union_lithuania.rb +80 -0
  131. data/lib/sapor/regional_data/european_union_luxembourg.rb +75 -0
  132. data/lib/sapor/regional_data/european_union_malta.rb +71 -0
  133. data/lib/sapor/regional_data/european_union_netherlands.rb +81 -0
  134. data/lib/sapor/regional_data/european_union_northern_ireland.rb +75 -0
  135. data/lib/sapor/regional_data/european_union_poland.rb +84 -0
  136. data/lib/sapor/regional_data/european_union_portugal.rb +75 -0
  137. data/lib/sapor/regional_data/european_union_romania.rb +78 -0
  138. data/lib/sapor/regional_data/european_union_slovakia.rb +81 -0
  139. data/lib/sapor/regional_data/european_union_slovenia.rb +85 -0
  140. data/lib/sapor/regional_data/european_union_spain.rb +82 -0
  141. data/lib/sapor/regional_data/european_union_sweden.rb +76 -0
  142. data/lib/sapor/regional_data/finland-20150419-with-sin.psv +224 -0
  143. data/lib/sapor/regional_data/finland-20150419.psv +212 -0
  144. data/lib/sapor/regional_data/finland.rb +107 -0
  145. data/lib/sapor/regional_data/finland_with_sin.rb +107 -0
  146. data/lib/sapor/regional_data/flanders-2014.psv +96 -0
  147. data/lib/sapor/regional_data/flanders-20190526.psv +87 -0
  148. data/lib/sapor/regional_data/flanders.rb +115 -0
  149. data/lib/sapor/regional_data/france.rb +38 -0
  150. data/lib/sapor/regional_data/greece.rb +92 -0
  151. data/lib/sapor/regional_data/hungary-2014.psv +2104 -0
  152. data/lib/sapor/regional_data/hungary.rb +116 -0
  153. data/lib/sapor/regional_data/iceland-20161029-midflokkurinn.psv +94 -0
  154. data/lib/sapor/regional_data/iceland-20161029.psv +88 -0
  155. data/lib/sapor/regional_data/iceland-20171028.psv +85 -0
  156. data/lib/sapor/regional_data/iceland.rb +133 -0
  157. data/lib/sapor/regional_data/latvia-20141004-kpv-p-par.psv +109 -0
  158. data/lib/sapor/regional_data/latvia-20141004-kpv-par.psv +103 -0
  159. data/lib/sapor/regional_data/latvia-20141004-kpv.psv +97 -0
  160. data/lib/sapor/regional_data/latvia-20141004.psv +89 -0
  161. data/lib/sapor/regional_data/latvia.rb +112 -0
  162. data/lib/sapor/regional_data/latvia_kpv.rb +112 -0
  163. data/lib/sapor/regional_data/latvia_kpv_p_par.rb +112 -0
  164. data/lib/sapor/regional_data/latvia_kpv_par.rb +112 -0
  165. data/lib/sapor/regional_data/luxembourg-20131020.psv +76 -0
  166. data/lib/sapor/regional_data/luxembourg.rb +82 -0
  167. data/lib/sapor/regional_data/netherlands.rb +108 -0
  168. data/lib/sapor/regional_data/norway.rb +425 -0
  169. data/lib/sapor/regional_data/norwegian_municipality.rb +68 -0
  170. data/lib/sapor/regional_data/poland-20151025-with-ko-and-l-without-n-po-r-and-zl.psv +321 -0
  171. 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
  172. data/lib/sapor/regional_data/poland-20151025-with-ko-sld-and-wi-without-n-po-and-zl.psv +403 -0
  173. data/lib/sapor/regional_data/poland-20151025-with-sld-and-wi-without-zl.psv +444 -0
  174. data/lib/sapor/regional_data/poland-20151025-with-sld-without-zl.psv +403 -0
  175. data/lib/sapor/regional_data/poland-20151025.psv +403 -0
  176. data/lib/sapor/regional_data/poland.rb +125 -0
  177. data/lib/sapor/regional_data/poland_with_ko_and_l_without_n_po_r_and_zl.rb +122 -0
  178. 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
  179. data/lib/sapor/regional_data/poland_with_ko_sld_and_wi_without_n_po_and_zl.rb +125 -0
  180. data/lib/sapor/regional_data/poland_with_sld_and_wi_without_zl.rb +126 -0
  181. data/lib/sapor/regional_data/poland_with_sld_without_zl.rb +126 -0
  182. data/lib/sapor/regional_data/portugal-20151004-with-a-and-ch-without-paf.psv +438 -0
  183. data/lib/sapor/regional_data/portugal-20151004-with-a-and-il-without-paf.psv +438 -0
  184. data/lib/sapor/regional_data/portugal-20151004-with-a-ch-and-il-without-paf.psv +461 -0
  185. data/lib/sapor/regional_data/portugal-20151004-with-a-without-paf.psv +415 -0
  186. data/lib/sapor/regional_data/portugal-20151004-with-ch-and-il-without-paf.psv +438 -0
  187. data/lib/sapor/regional_data/portugal-20151004-without-paf.psv +392 -0
  188. data/lib/sapor/regional_data/portugal-20151004.psv +370 -0
  189. data/lib/sapor/regional_data/portugal.rb +101 -0
  190. data/lib/sapor/regional_data/portugal_with_a_and_ch_without_paf.rb +92 -0
  191. data/lib/sapor/regional_data/portugal_with_a_and_il_without_paf.rb +92 -0
  192. data/lib/sapor/regional_data/portugal_with_a_ch_and_il_without_paf.rb +92 -0
  193. data/lib/sapor/regional_data/portugal_with_a_without_paf.rb +92 -0
  194. data/lib/sapor/regional_data/portugal_with_ch_and_il_without_paf.rb +92 -0
  195. data/lib/sapor/regional_data/portugal_without_paf.rb +92 -0
  196. data/lib/sapor/regional_data/slovakia.rb +81 -0
  197. data/lib/sapor/regional_data/slovenia.rb +114 -0
  198. data/lib/sapor/regional_data/spain-20160626.psv +619 -0
  199. data/lib/sapor/regional_data/spain.rb +136 -0
  200. data/lib/sapor/regional_data/sweden.rb +92 -0
  201. data/lib/sapor/regional_data/sweden_20140914.rb +89 -0
  202. data/lib/sapor/regional_data/united_kingdom-2015.psv +4358 -0
  203. data/lib/sapor/regional_data/united_kingdom-20170608-brexit-chuk.psv +5154 -0
  204. data/lib/sapor/regional_data/united_kingdom-20170608-brexit.psv +4521 -0
  205. data/lib/sapor/regional_data/united_kingdom-20170608-tig.psv +4529 -0
  206. data/lib/sapor/regional_data/united_kingdom-20170608.psv +3894 -0
  207. data/lib/sapor/regional_data/united_kingdom.rb +94 -0
  208. data/lib/sapor/regional_data/united_kingdom_with_brexit.rb +110 -0
  209. data/lib/sapor/regional_data/united_kingdom_with_brexit_and_chuk.rb +111 -0
  210. data/lib/sapor/regional_data/united_kingdom_with_tig.rb +111 -0
  211. data/lib/sapor/regional_data/utopia.rb +66 -0
  212. data/lib/sapor/regional_data/wallonia-2014.psv +101 -0
  213. data/lib/sapor/regional_data/wallonia-20190526.psv +88 -0
  214. data/lib/sapor/regional_data/wallonia.rb +112 -0
  215. data/lib/sapor/representatives_polychotomy.rb +338 -0
  216. data/lib/sapor/single_district_proportional.rb +75 -0
  217. data/sapor.gemspec +35 -0
  218. data/spec/integration/area_spec.rb +28 -0
  219. data/spec/integration/poll_spec.rb +112 -0
  220. data/spec/integration/sample.poll +8 -0
  221. data/spec/spec_helper.rb +31 -0
  222. data/spec/unit/area_spec.rb +115 -0
  223. data/spec/unit/austria_spec.rb +76 -0
  224. data/spec/unit/belgium_brussels_spec.rb +58 -0
  225. data/spec/unit/belgium_flanders_spec.rb +62 -0
  226. data/spec/unit/belgium_spec.rb +26 -0
  227. data/spec/unit/belgium_wallonia_spec.rb +65 -0
  228. data/spec/unit/binomials_cache_spec.rb +34 -0
  229. data/spec/unit/catalonia_spec.rb +74 -0
  230. data/spec/unit/combinations_distribution_spec.rb +241 -0
  231. data/spec/unit/denmark_spec.rb +56 -0
  232. data/spec/unit/denmark_with_e_and_p_spec.rb +58 -0
  233. data/spec/unit/denmark_with_e_spec.rb +57 -0
  234. data/spec/unit/denmark_with_p_spec.rb +57 -0
  235. data/spec/unit/denominators_spec.rb +40 -0
  236. data/spec/unit/dichotomies_spec.rb +154 -0
  237. data/spec/unit/dichotomy_spec.rb +320 -0
  238. data/spec/unit/estonia_spec.rb +65 -0
  239. data/spec/unit/european_union_27_austria_spec.rb +61 -0
  240. data/spec/unit/european_union_27_croatia_spec.rb +60 -0
  241. data/spec/unit/european_union_27_denmark_spec.rb +62 -0
  242. data/spec/unit/european_union_27_estonia_spec.rb +94 -0
  243. data/spec/unit/european_union_27_finland_spec.rb +75 -0
  244. data/spec/unit/european_union_27_ireland_spec.rb +72 -0
  245. data/spec/unit/european_union_27_ireland_with_ia_spec.rb +74 -0
  246. data/spec/unit/european_union_27_italy_spec.rb +69 -0
  247. data/spec/unit/european_union_27_netherlands_spec.rb +81 -0
  248. data/spec/unit/european_union_27_poland_spec.rb +69 -0
  249. data/spec/unit/european_union_27_romania_spec.rb +67 -0
  250. data/spec/unit/european_union_27_slovakia_spec.rb +111 -0
  251. data/spec/unit/european_union_27_spain_spec.rb +130 -0
  252. data/spec/unit/european_union_27_sweden_spec.rb +89 -0
  253. data/spec/unit/european_union_austria_spec.rb +61 -0
  254. data/spec/unit/european_union_bulgaria_spec.rb +97 -0
  255. data/spec/unit/european_union_croatia_spec.rb +59 -0
  256. data/spec/unit/european_union_cyprus_spec.rb +65 -0
  257. data/spec/unit/european_union_czech_republic_spec.rb +125 -0
  258. data/spec/unit/european_union_denmark_spec.rb +61 -0
  259. data/spec/unit/european_union_estonia_spec.rb +93 -0
  260. data/spec/unit/european_union_finland_spec.rb +75 -0
  261. data/spec/unit/european_union_flanders_spec.rb +56 -0
  262. data/spec/unit/european_union_france_2019_spec.rb +73 -0
  263. data/spec/unit/european_union_france_spec.rb +73 -0
  264. data/spec/unit/european_union_french_community_of_belgium_spec.rb +61 -0
  265. data/spec/unit/european_union_germany_spec.rb +90 -0
  266. data/spec/unit/european_union_great_britain_spec.rb +87 -0
  267. data/spec/unit/european_union_greece_spec.rb +148 -0
  268. data/spec/unit/european_union_hungary_spec.rb +57 -0
  269. data/spec/unit/european_union_ireland_spec.rb +72 -0
  270. data/spec/unit/european_union_ireland_with_ia_spec.rb +74 -0
  271. data/spec/unit/european_union_italy_spec.rb +69 -0
  272. data/spec/unit/european_union_latvia_spec.rb +76 -0
  273. data/spec/unit/european_union_lithuania_spec.rb +68 -0
  274. data/spec/unit/european_union_luxembourg_spec.rb +63 -0
  275. data/spec/unit/european_union_malta_spec.rb +60 -0
  276. data/spec/unit/european_union_netherlands_spec.rb +81 -0
  277. data/spec/unit/european_union_northern_ireland_spec.rb +66 -0
  278. data/spec/unit/european_union_poland_spec.rb +69 -0
  279. data/spec/unit/european_union_portugal_spec.rb +77 -0
  280. data/spec/unit/european_union_romania_spec.rb +67 -0
  281. data/spec/unit/european_union_slovakia_spec.rb +111 -0
  282. data/spec/unit/european_union_slovenia_spec.rb +77 -0
  283. data/spec/unit/european_union_spain_spec.rb +129 -0
  284. data/spec/unit/european_union_sweden_spec.rb +89 -0
  285. data/spec/unit/finland_spec.rb +65 -0
  286. data/spec/unit/finland_with_sin_spec.rb +67 -0
  287. data/spec/unit/first_past_the_post_spec.rb +54 -0
  288. data/spec/unit/flanders_spec.rb +70 -0
  289. data/spec/unit/france_spec.rb +32 -0
  290. data/spec/unit/greece_spec.rb +118 -0
  291. data/spec/unit/hungary_spec.rb +132 -0
  292. data/spec/unit/iceland_spec.rb +57 -0
  293. data/spec/unit/largest_remainder_spec.rb +79 -0
  294. data/spec/unit/latvia_kpv_p_par_spec.rb +38 -0
  295. data/spec/unit/latvia_kpv_par_spec.rb +38 -0
  296. data/spec/unit/latvia_kpv_spec.rb +38 -0
  297. data/spec/unit/latvia_spec.rb +60 -0
  298. data/spec/unit/luxembourg_spec.rb +54 -0
  299. data/spec/unit/multi_district_leveled_proportional_spec.rb +49 -0
  300. data/spec/unit/multi_district_proportional_spec.rb +81 -0
  301. data/spec/unit/netherlands_spec.rb +107 -0
  302. data/spec/unit/norway_spec.rb +64 -0
  303. data/spec/unit/norwegian_municipality_spec.rb +89 -0
  304. data/spec/unit/number_formatter_spec.rb +173 -0
  305. data/spec/unit/poland_spec.rb +62 -0
  306. data/spec/unit/poland_with_ko_and_l_without_n_po_r_and_zl_spec.rb +60 -0
  307. 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
  308. data/spec/unit/poland_with_ko_sld_and_wi_without_n_po_and_zl_spec.rb +62 -0
  309. data/spec/unit/poland_with_sld_and_wi_without_zl_spec.rb +63 -0
  310. data/spec/unit/poland_with_sld_without_zl_spec.rb +62 -0
  311. data/spec/unit/poll_spec.rb +110 -0
  312. data/spec/unit/portugal_spec.rb +66 -0
  313. data/spec/unit/portugal_with_a_and_ch_without_paf_spec.rb +68 -0
  314. data/spec/unit/portugal_with_a_and_il_without_paf_spec.rb +68 -0
  315. data/spec/unit/portugal_with_a_ch_and_il_without_paf_spec.rb +69 -0
  316. data/spec/unit/portugal_with_a_without_paf_spec.rb +67 -0
  317. data/spec/unit/portugal_with_ch_and_il_without_paf_spec.rb +68 -0
  318. data/spec/unit/portugal_without_paf_spec.rb +66 -0
  319. data/spec/unit/pseudorandom_multirange_enumerator_spec.rb +82 -0
  320. data/spec/unit/referendum_polychotomy_spec.rb +289 -0
  321. data/spec/unit/representatives_polychotomy_spec.rb +332 -0
  322. data/spec/unit/slovakia_spec.rb +99 -0
  323. data/spec/unit/slovenia_spec.rb +80 -0
  324. data/spec/unit/spain_spec.rb +101 -0
  325. data/spec/unit/sweden_20140914_spec.rb +112 -0
  326. data/spec/unit/sweden_spec.rb +113 -0
  327. data/spec/unit/united_kingdom_spec.rb +65 -0
  328. data/spec/unit/united_kingdom_with_brexit_and_chuk_spec.rb +67 -0
  329. data/spec/unit/united_kingdom_with_brexit_spec.rb +66 -0
  330. data/spec/unit/united_kingdom_with_tig_spec.rb +66 -0
  331. data/spec/unit/wallonia_spec.rb +70 -0
  332. metadata +490 -0
@@ -0,0 +1,109 @@
1
+ # Statistical Analysis of Polling Results (SAPoR)
2
+ # Copyright (C) 2016 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: "12.Saeimas vēlēšanas". Retrieved on 9 August 2018.
19
+ # URL: http://sv2014.cvk.lv/index_rez.html
20
+
21
+ # Changes:
22
+ # Added KPV LV as a copy of Latvijas Reģionu apvienība
23
+ # Added Kustība Par! as a copy of Vienotība
24
+ # Added Progresīvie as a copy of Sociāldemokrātiskā Partija “Saskaņa”
25
+
26
+ Kurzeme | Zaļo un Zemnieku savienība | 41,840
27
+ Kurzeme | Vienotība | 23,034
28
+ Kurzeme | Kustība Par! | 23,034
29
+ Kurzeme | Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK” | 21,239
30
+ Kurzeme | Sociāldemokrātiskā Partija “Saskaņa” | 10,307
31
+ Kurzeme | Progresīvie | 10,307
32
+ Kurzeme | No sirds Latvijai | 8,369
33
+ Kurzeme | Latvijas Reģionu apvienība | 6,705
34
+ Kurzeme | KPV LV | 6,705
35
+ Kurzeme | Vienoti Latvijai | 980
36
+ Kurzeme | Latvijas attīstībai | 796
37
+ Kurzeme | Jaunā konservatīvā partija | 736
38
+ Kurzeme | Latvijas Krievu savienība | 575
39
+ Kurzeme | Partija “Brīvība. Brīvs no bailēm, naida un dusmām” | 308
40
+ Kurzeme | Politiskā partija Izaugsme | 121
41
+ Kurzeme | “Suverenitāte” | 111
42
+
43
+ Latgale | Sociāldemokrātiskā Partija “Saskaņa” | 41,884
44
+ Latgale | Progresīvie | 41,884
45
+ Latgale | Zaļo un Zemnieku savienība | 19,714
46
+ Latgale | Vienotība | 16,187
47
+ Latgale | Kustība Par! | 16,187
48
+ Latgale | No sirds Latvijai | 9,070
49
+ Latgale | Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK” | 5,442
50
+ Latgale | Latvijas Krievu savienība | 4,970
51
+ Latgale | Latvijas Reģionu apvienība | 4,025
52
+ Latgale | KPV LV | 4,025
53
+ Latgale | Vienoti Latvijai | 1,709
54
+ Latgale | Latvijas attīstībai | 712
55
+ Latgale | Jaunā konservatīvā partija | 650
56
+ Latgale | Partija “Brīvība. Brīvs no bailēm, naida un dusmām” | 247
57
+ Latgale | “Suverenitāte” | 206
58
+ Latgale | Politiskā partija Izaugsme | 104
59
+
60
+ Rīga | Sociāldemokrātiskā Partija “Saskaņa” | 111,872
61
+ Rīga | Progresīvie | 111,872
62
+ Rīga | Vienotība | 65,359
63
+ Rīga | Kustība Par! | 65,359
64
+ Rīga | Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK” | 49,406
65
+ Rīga | Zaļo un Zemnieku savienība | 26,219
66
+ Rīga | Latvijas Reģionu apvienība | 24,238
67
+ Rīga | KPV LV | 24,238
68
+ Rīga | No sirds Latvijai | 17,414
69
+ Rīga | Latvijas Krievu savienība | 5,142
70
+ Rīga | Vienoti Latvijai | 3,618
71
+ Rīga | Jaunā konservatīvā partija | 2,414
72
+ Rīga | Latvijas attīstībai | 2,134
73
+ Rīga | Partija “Brīvība. Brīvs no bailēm, naida un dusmām” | 406
74
+ Rīga | Politiskā partija Izaugsme | 368
75
+ Rīga | “Suverenitāte” | 287
76
+
77
+ Vidzeme | Vienotība | 65,359
78
+ Vidzeme | Kustība Par! | 65,359
79
+ Vidzeme | Zaļo un Zemnieku savienība | 54,699
80
+ Vidzeme | Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK” | 51,261
81
+ Vidzeme | Sociāldemokrātiskā Partija “Saskaņa” | 31,413
82
+ Vidzeme | Progresīvie | 31,413
83
+ Vidzeme | Latvijas Reģionu apvienība | 19,069
84
+ Vidzeme | KPV LV | 19,069
85
+ Vidzeme | No sirds Latvijai | 18,362
86
+ Vidzeme | Latvijas attīstībai | 3,104
87
+ Vidzeme | Vienoti Latvijai | 2,962
88
+ Vidzeme | Latvijas Krievu savienība | 1,791
89
+ Vidzeme | Jaunā konservatīvā partija | 1,680
90
+ Vidzeme | Politiskā partija Izaugsme | 693
91
+ Vidzeme | Partija “Brīvība. Brīvs no bailēm, naida un dusmām” | 567
92
+ Vidzeme | “Suverenitāte” | 260
93
+
94
+ Zemgale | Zaļo un Zemnieku savienība | 35,738
95
+ Zemgale | Vienotība | 29,596
96
+ Zemgale | Kustība Par! | 29,596
97
+ Zemgale | Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK” | 24,219
98
+ Zemgale | Sociāldemokrātiskā Partija “Saskaņa” | 14,411
99
+ Zemgale | Progresīvie | 14,411
100
+ Zemgale | No sirds Latvijai | 9,306
101
+ Zemgale | Latvijas Reģionu apvienība | 6,775
102
+ Zemgale | KPV LV | 6,775
103
+ Zemgale | Latvijas Krievu savienība | 1,912
104
+ Zemgale | Vienoti Latvijai | 1,519
105
+ Zemgale | Latvijas attīstībai | 1,410
106
+ Zemgale | Jaunā konservatīvā partija | 909
107
+ Zemgale | Politiskā partija Izaugsme | 229
108
+ Zemgale | Partija “Brīvība. Brīvs no bailēm, naida un dusmām” | 207
109
+ Zemgale | “Suverenitāte” | 169
@@ -0,0 +1,103 @@
1
+ # Statistical Analysis of Polling Results (SAPoR)
2
+ # Copyright (C) 2016 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: "12.Saeimas vēlēšanas". Retrieved on 9 August 2018.
19
+ # URL: http://sv2014.cvk.lv/index_rez.html
20
+
21
+ # Changes:
22
+ # Added KPV LV as a copy of Latvijas Reģionu apvienība
23
+ # Added Kustība Par! as a copy of Vienotība
24
+
25
+ Kurzeme | Zaļo un Zemnieku savienība | 41,840
26
+ Kurzeme | Vienotība | 23,034
27
+ Kurzeme | Kustība Par! | 23,034
28
+ Kurzeme | Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK” | 21,239
29
+ Kurzeme | Sociāldemokrātiskā Partija “Saskaņa” | 10,307
30
+ Kurzeme | No sirds Latvijai | 8,369
31
+ Kurzeme | Latvijas Reģionu apvienība | 6,705
32
+ Kurzeme | KPV LV | 6,705
33
+ Kurzeme | Vienoti Latvijai | 980
34
+ Kurzeme | Latvijas attīstībai | 796
35
+ Kurzeme | Jaunā konservatīvā partija | 736
36
+ Kurzeme | Latvijas Krievu savienība | 575
37
+ Kurzeme | Partija “Brīvība. Brīvs no bailēm, naida un dusmām” | 308
38
+ Kurzeme | Politiskā partija Izaugsme | 121
39
+ Kurzeme | “Suverenitāte” | 111
40
+
41
+ Latgale | Sociāldemokrātiskā Partija “Saskaņa” | 41,884
42
+ Latgale | Zaļo un Zemnieku savienība | 19,714
43
+ Latgale | Vienotība | 16,187
44
+ Latgale | Kustība Par! | 16,187
45
+ Latgale | No sirds Latvijai | 9,070
46
+ Latgale | Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK” | 5,442
47
+ Latgale | Latvijas Krievu savienība | 4,970
48
+ Latgale | Latvijas Reģionu apvienība | 4,025
49
+ Latgale | KPV LV | 4,025
50
+ Latgale | Vienoti Latvijai | 1,709
51
+ Latgale | Latvijas attīstībai | 712
52
+ Latgale | Jaunā konservatīvā partija | 650
53
+ Latgale | Partija “Brīvība. Brīvs no bailēm, naida un dusmām” | 247
54
+ Latgale | “Suverenitāte” | 206
55
+ Latgale | Politiskā partija Izaugsme | 104
56
+
57
+ Rīga | Sociāldemokrātiskā Partija “Saskaņa” | 111,872
58
+ Rīga | Vienotība | 65,359
59
+ Rīga | Kustība Par! | 65,359
60
+ Rīga | Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK” | 49,406
61
+ Rīga | Zaļo un Zemnieku savienība | 26,219
62
+ Rīga | Latvijas Reģionu apvienība | 24,238
63
+ Rīga | KPV LV | 24,238
64
+ Rīga | No sirds Latvijai | 17,414
65
+ Rīga | Latvijas Krievu savienība | 5,142
66
+ Rīga | Vienoti Latvijai | 3,618
67
+ Rīga | Jaunā konservatīvā partija | 2,414
68
+ Rīga | Latvijas attīstībai | 2,134
69
+ Rīga | Partija “Brīvība. Brīvs no bailēm, naida un dusmām” | 406
70
+ Rīga | Politiskā partija Izaugsme | 368
71
+ Rīga | “Suverenitāte” | 287
72
+
73
+ Vidzeme | Vienotība | 65,359
74
+ Vidzeme | Kustība Par! | 65,359
75
+ Vidzeme | Zaļo un Zemnieku savienība | 54,699
76
+ Vidzeme | Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK” | 51,261
77
+ Vidzeme | Sociāldemokrātiskā Partija “Saskaņa” | 31,413
78
+ Vidzeme | Latvijas Reģionu apvienība | 19,069
79
+ Vidzeme | KPV LV | 19,069
80
+ Vidzeme | No sirds Latvijai | 18,362
81
+ Vidzeme | Latvijas attīstībai | 3,104
82
+ Vidzeme | Vienoti Latvijai | 2,962
83
+ Vidzeme | Latvijas Krievu savienība | 1,791
84
+ Vidzeme | Jaunā konservatīvā partija | 1,680
85
+ Vidzeme | Politiskā partija Izaugsme | 693
86
+ Vidzeme | Partija “Brīvība. Brīvs no bailēm, naida un dusmām” | 567
87
+ Vidzeme | “Suverenitāte” | 260
88
+
89
+ Zemgale | Zaļo un Zemnieku savienība | 35,738
90
+ Zemgale | Vienotība | 29,596
91
+ Zemgale | Kustība Par! | 29,596
92
+ Zemgale | Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK” | 24,219
93
+ Zemgale | Sociāldemokrātiskā Partija “Saskaņa” | 14,411
94
+ Zemgale | No sirds Latvijai | 9,306
95
+ Zemgale | Latvijas Reģionu apvienība | 6,775
96
+ Zemgale | KPV LV | 6,775
97
+ Zemgale | Latvijas Krievu savienība | 1,912
98
+ Zemgale | Vienoti Latvijai | 1,519
99
+ Zemgale | Latvijas attīstībai | 1,410
100
+ Zemgale | Jaunā konservatīvā partija | 909
101
+ Zemgale | Politiskā partija Izaugsme | 229
102
+ Zemgale | Partija “Brīvība. Brīvs no bailēm, naida un dusmām” | 207
103
+ Zemgale | “Suverenitāte” | 169
@@ -0,0 +1,97 @@
1
+ # Statistical Analysis of Polling Results (SAPoR)
2
+ # Copyright (C) 2016 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: "12.Saeimas vēlēšanas". Retrieved on 9 August 2018.
19
+ # URL: http://sv2014.cvk.lv/index_rez.html
20
+
21
+ # Changes:
22
+ # Added KPV LV as a copy of Latvijas Reģionu apvienība
23
+
24
+ Kurzeme | Zaļo un Zemnieku savienība | 41,840
25
+ Kurzeme | Vienotība | 23,034
26
+ Kurzeme | Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK” | 21,239
27
+ Kurzeme | Sociāldemokrātiskā Partija “Saskaņa” | 10,307
28
+ Kurzeme | No sirds Latvijai | 8,369
29
+ Kurzeme | Latvijas Reģionu apvienība | 6,705
30
+ Kurzeme | KPV LV | 6,705
31
+ Kurzeme | Vienoti Latvijai | 980
32
+ Kurzeme | Latvijas attīstībai | 796
33
+ Kurzeme | Jaunā konservatīvā partija | 736
34
+ Kurzeme | Latvijas Krievu savienība | 575
35
+ Kurzeme | Partija “Brīvība. Brīvs no bailēm, naida un dusmām” | 308
36
+ Kurzeme | Politiskā partija Izaugsme | 121
37
+ Kurzeme | “Suverenitāte” | 111
38
+
39
+ Latgale | Sociāldemokrātiskā Partija “Saskaņa” | 41,884
40
+ Latgale | Zaļo un Zemnieku savienība | 19,714
41
+ Latgale | Vienotība | 16,187
42
+ Latgale | No sirds Latvijai | 9,070
43
+ Latgale | Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK” | 5,442
44
+ Latgale | Latvijas Krievu savienība | 4,970
45
+ Latgale | Latvijas Reģionu apvienība | 4,025
46
+ Latgale | KPV LV | 4,025
47
+ Latgale | Vienoti Latvijai | 1,709
48
+ Latgale | Latvijas attīstībai | 712
49
+ Latgale | Jaunā konservatīvā partija | 650
50
+ Latgale | Partija “Brīvība. Brīvs no bailēm, naida un dusmām” | 247
51
+ Latgale | “Suverenitāte” | 206
52
+ Latgale | Politiskā partija Izaugsme | 104
53
+
54
+ Rīga | Sociāldemokrātiskā Partija “Saskaņa” | 111,872
55
+ Rīga | Vienotība | 65,359
56
+ Rīga | Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK” | 49,406
57
+ Rīga | Zaļo un Zemnieku savienība | 26,219
58
+ Rīga | Latvijas Reģionu apvienība | 24,238
59
+ Rīga | KPV LV | 24,238
60
+ Rīga | No sirds Latvijai | 17,414
61
+ Rīga | Latvijas Krievu savienība | 5,142
62
+ Rīga | Vienoti Latvijai | 3,618
63
+ Rīga | Jaunā konservatīvā partija | 2,414
64
+ Rīga | Latvijas attīstībai | 2,134
65
+ Rīga | Partija “Brīvība. Brīvs no bailēm, naida un dusmām” | 406
66
+ Rīga | Politiskā partija Izaugsme | 368
67
+ Rīga | “Suverenitāte” | 287
68
+
69
+ Vidzeme | Vienotība | 65,359
70
+ Vidzeme | Zaļo un Zemnieku savienība | 54,699
71
+ Vidzeme | Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK” | 51,261
72
+ Vidzeme | Sociāldemokrātiskā Partija “Saskaņa” | 31,413
73
+ Vidzeme | Latvijas Reģionu apvienība | 19,069
74
+ Vidzeme | KPV LV | 19,069
75
+ Vidzeme | No sirds Latvijai | 18,362
76
+ Vidzeme | Latvijas attīstībai | 3,104
77
+ Vidzeme | Vienoti Latvijai | 2,962
78
+ Vidzeme | Latvijas Krievu savienība | 1,791
79
+ Vidzeme | Jaunā konservatīvā partija | 1,680
80
+ Vidzeme | Politiskā partija Izaugsme | 693
81
+ Vidzeme | Partija “Brīvība. Brīvs no bailēm, naida un dusmām” | 567
82
+ Vidzeme | “Suverenitāte” | 260
83
+
84
+ Zemgale | Zaļo un Zemnieku savienība | 35,738
85
+ Zemgale | Vienotība | 29,596
86
+ Zemgale | Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK” | 24,219
87
+ Zemgale | Sociāldemokrātiskā Partija “Saskaņa” | 14,411
88
+ Zemgale | No sirds Latvijai | 9,306
89
+ Zemgale | Latvijas Reģionu apvienība | 6,775
90
+ Zemgale | KPV LV | 6,775
91
+ Zemgale | Latvijas Krievu savienība | 1,912
92
+ Zemgale | Vienoti Latvijai | 1,519
93
+ Zemgale | Latvijas attīstībai | 1,410
94
+ Zemgale | Jaunā konservatīvā partija | 909
95
+ Zemgale | Politiskā partija Izaugsme | 229
96
+ Zemgale | Partija “Brīvība. Brīvs no bailēm, naida un dusmām” | 207
97
+ Zemgale | “Suverenitāte” | 169
@@ -0,0 +1,89 @@
1
+ # Statistical Analysis of Polling Results (SAPoR)
2
+ # Copyright (C) 2016 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: "12.Saeimas vēlēšanas". Retrieved on 9 August 2018.
19
+ # URL: http://sv2014.cvk.lv/index_rez.html
20
+
21
+ Kurzeme | Zaļo un Zemnieku savienība | 41,840
22
+ Kurzeme | Vienotība | 23,034
23
+ Kurzeme | Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK” | 21,239
24
+ Kurzeme | Sociāldemokrātiskā Partija “Saskaņa” | 10,307
25
+ Kurzeme | No sirds Latvijai | 8,369
26
+ Kurzeme | Latvijas Reģionu apvienība | 6,705
27
+ Kurzeme | Vienoti Latvijai | 980
28
+ Kurzeme | Latvijas attīstībai | 796
29
+ Kurzeme | Jaunā konservatīvā partija | 736
30
+ Kurzeme | Latvijas Krievu savienība | 575
31
+ Kurzeme | Partija “Brīvība. Brīvs no bailēm, naida un dusmām” | 308
32
+ Kurzeme | Politiskā partija Izaugsme | 121
33
+ Kurzeme | “Suverenitāte” | 111
34
+
35
+ Latgale | Sociāldemokrātiskā Partija “Saskaņa” | 41,884
36
+ Latgale | Zaļo un Zemnieku savienība | 19,714
37
+ Latgale | Vienotība | 16,187
38
+ Latgale | No sirds Latvijai | 9,070
39
+ Latgale | Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK” | 5,442
40
+ Latgale | Latvijas Krievu savienība | 4,970
41
+ Latgale | Latvijas Reģionu apvienība | 4,025
42
+ Latgale | Vienoti Latvijai | 1,709
43
+ Latgale | Latvijas attīstībai | 712
44
+ Latgale | Jaunā konservatīvā partija | 650
45
+ Latgale | Partija “Brīvība. Brīvs no bailēm, naida un dusmām” | 247
46
+ Latgale | “Suverenitāte” | 206
47
+ Latgale | Politiskā partija Izaugsme | 104
48
+
49
+ Rīga | Sociāldemokrātiskā Partija “Saskaņa” | 111,872
50
+ Rīga | Vienotība | 65,359
51
+ Rīga | Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK” | 49,406
52
+ Rīga | Zaļo un Zemnieku savienība | 26,219
53
+ Rīga | Latvijas Reģionu apvienība | 24,238
54
+ Rīga | No sirds Latvijai | 17,414
55
+ Rīga | Latvijas Krievu savienība | 5,142
56
+ Rīga | Vienoti Latvijai | 3,618
57
+ Rīga | Jaunā konservatīvā partija | 2,414
58
+ Rīga | Latvijas attīstībai | 2,134
59
+ Rīga | Partija “Brīvība. Brīvs no bailēm, naida un dusmām” | 406
60
+ Rīga | Politiskā partija Izaugsme | 368
61
+ Rīga | “Suverenitāte” | 287
62
+
63
+ Vidzeme | Vienotība | 65,359
64
+ Vidzeme | Zaļo un Zemnieku savienība | 54,699
65
+ Vidzeme | Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK” | 51,261
66
+ Vidzeme | Sociāldemokrātiskā Partija “Saskaņa” | 31,413
67
+ Vidzeme | Latvijas Reģionu apvienība | 19,069
68
+ Vidzeme | No sirds Latvijai | 18,362
69
+ Vidzeme | Latvijas attīstībai | 3,104
70
+ Vidzeme | Vienoti Latvijai | 2,962
71
+ Vidzeme | Latvijas Krievu savienība | 1,791
72
+ Vidzeme | Jaunā konservatīvā partija | 1,680
73
+ Vidzeme | Politiskā partija Izaugsme | 693
74
+ Vidzeme | Partija “Brīvība. Brīvs no bailēm, naida un dusmām” | 567
75
+ Vidzeme | “Suverenitāte” | 260
76
+
77
+ Zemgale | Zaļo un Zemnieku savienība | 35,738
78
+ Zemgale | Vienotība | 29,596
79
+ Zemgale | Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK” | 24,219
80
+ Zemgale | Sociāldemokrātiskā Partija “Saskaņa” | 14,411
81
+ Zemgale | No sirds Latvijai | 9,306
82
+ Zemgale | Latvijas Reģionu apvienība | 6,775
83
+ Zemgale | Latvijas Krievu savienība | 1,912
84
+ Zemgale | Vienoti Latvijai | 1,519
85
+ Zemgale | Latvijas attīstībai | 1,410
86
+ Zemgale | Jaunā konservatīvā partija | 909
87
+ Zemgale | Politiskā partija Izaugsme | 229
88
+ Zemgale | Partija “Brīvība. Brīvs no bailēm, naida un dusmām” | 207
89
+ Zemgale | “Suverenitāte” | 169
@@ -0,0 +1,112 @@
1
+ #
2
+ # Statistical Analysis of Polling Results (SAPoR)
3
+ # Copyright (C) 2016 Filip van Laenen <f.a.vanlaenen@ieee.org>
4
+ #
5
+ # This file is part of SAPoR.
6
+ #
7
+ # SAPoR is free software: you can redistribute it and/or modify it under the
8
+ # terms of the GNU General Public License as published by the Free Software
9
+ # Foundation, either version 3 of the License, or (at your option) any later
10
+ # version.
11
+ #
12
+ # SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
13
+ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
14
+ # A PARTICULAR PURPOSE. See the GNU General Public License for more details.
15
+ #
16
+ # You can find a copy of the GNU General Public License in /doc/gpl.txt
17
+ #
18
+
19
+ module Sapor
20
+ #
21
+ # The regional data for Latvia.
22
+ #
23
+ class Latvia < Area
24
+ include Singleton
25
+ def area_code
26
+ 'LV'
27
+ end
28
+
29
+ def coalitions
30
+ [['KPV LV', 'Sociāldemokrātiskā Partija “Saskaņa”'],
31
+ ['KPV LV', 'Sociāldemokrātiskā Partija “Saskaņa”',
32
+ 'Zaļo un Zemnieku savienība'],
33
+ ['Kustība Par!',
34
+ 'Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK”',
35
+ 'Vienotība', 'Zaļo un Zemnieku savienība'],
36
+ ['Kustība Par!',
37
+ 'Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK”',
38
+ 'Zaļo un Zemnieku savienība'],
39
+ ['Kustība Par!', 'Jaunā konservatīvā partija',
40
+ 'Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK”',
41
+ 'Vienotība'],
42
+ ['Kustība Par!', 'Jaunā konservatīvā partija',
43
+ 'Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK”',
44
+ 'Vienotība', 'Zaļo un Zemnieku savienība'],
45
+ ['Kustība Par!', 'Jaunā konservatīvā partija',
46
+ 'Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK”',
47
+ 'Zaļo un Zemnieku savienība'],
48
+ ['Kustība Par!', 'Jaunā konservatīvā partija',
49
+ 'Sociāldemokrātiskā Partija “Saskaņa”'],
50
+ ['Kustība Par!', 'Sociāldemokrātiskā Partija “Saskaņa”'],
51
+ ['Jaunā konservatīvā partija',
52
+ 'Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK”',
53
+ 'Vienotība', 'Zaļo un Zemnieku savienība'],
54
+ ['Jaunā konservatīvā partija',
55
+ 'Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK”',
56
+ 'Zaļo un Zemnieku savienība'],
57
+ ['Nacionālā apvienība „Visu Latvijai!”–„Tēvzemei un Brīvībai/LNNK”',
58
+ 'Vienotība', 'Zaļo un Zemnieku savienība']]
59
+ end
60
+
61
+ def no_of_seats
62
+ SEAT_DISTRIBUTION.values.inject(:+)
63
+ end
64
+
65
+ def overall_election_results_of_2014
66
+ if @overall_election_results_of_2014.nil?
67
+ @overall_election_results_of_2014 = \
68
+ summarize_election_results(election_results_of_2014)
69
+ end
70
+ @overall_election_results_of_2014
71
+ end
72
+
73
+ def population_size
74
+ # Voter turnout on 4 October 2014
75
+ 913_491
76
+ end
77
+
78
+ def seats(simulation)
79
+ electoral_system.project(simulation)
80
+ end
81
+
82
+ def threshold
83
+ THRESHOLD
84
+ end
85
+
86
+ private
87
+
88
+ SEAT_DISTRIBUTION = { 'Kurzeme' => 13, 'Latgale' => 15, 'Rīga' => 32,
89
+ 'Vidzeme' => 26, 'Zemgale' => 14 }.freeze
90
+
91
+ THRESHOLD = 0.05
92
+
93
+ def election_results_of_2014
94
+ if @election_results_of_2014.nil?
95
+ @election_results_of_2014 = load_election_results(
96
+ 'latvia-20141004.psv'
97
+ )
98
+ end
99
+ @election_results_of_2014
100
+ end
101
+
102
+ def electoral_system
103
+ if @electoral_system.nil?
104
+ @electoral_system = MultiDistrictProportional.new( \
105
+ overall_election_results_of_2014, election_results_of_2014,
106
+ SEAT_DISTRIBUTION, SainteLagueDenominators, 0, THRESHOLD
107
+ )
108
+ end
109
+ @electoral_system
110
+ end
111
+ end
112
+ end