sapor 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/sapor/poll.rb +1 -13
- data/lib/sapor/regional_data/european_union_austria.rb +1 -1
- data/lib/sapor/regional_data/european_union_croatia.rb +1 -1
- data/lib/sapor/regional_data/european_union_denmark.rb +1 -1
- data/lib/sapor/regional_data/european_union_estonia.rb +1 -1
- data/lib/sapor/regional_data/european_union_finland.rb +1 -1
- data/lib/sapor/regional_data/european_union_france.rb +1 -1
- data/lib/sapor/regional_data/european_union_ireland.rb +2 -2
- data/lib/sapor/regional_data/european_union_ireland_with_ia.rb +2 -2
- data/lib/sapor/regional_data/european_union_italy.rb +1 -1
- data/lib/sapor/regional_data/european_union_netherlands.rb +1 -1
- data/lib/sapor/regional_data/european_union_poland.rb +1 -1
- data/lib/sapor/regional_data/european_union_spain.rb +1 -1
- data/lib/sapor.rb +0 -12
- data/sapor.gemspec +1 -1
- data/spec/unit/european_union_austria_spec.rb +3 -3
- data/spec/unit/european_union_croatia_spec.rb +5 -4
- data/spec/unit/european_union_denmark_spec.rb +5 -4
- data/spec/unit/european_union_estonia_spec.rb +5 -4
- data/spec/unit/european_union_finland_spec.rb +3 -3
- data/spec/unit/european_union_france_spec.rb +6 -6
- data/spec/unit/european_union_ireland_spec.rb +4 -4
- data/spec/unit/european_union_ireland_with_ia_spec.rb +4 -4
- data/spec/unit/european_union_italy_spec.rb +5 -5
- data/spec/unit/european_union_netherlands_spec.rb +5 -5
- data/spec/unit/european_union_poland_spec.rb +3 -3
- data/spec/unit/european_union_spain_spec.rb +7 -6
- metadata +2 -38
- data/lib/sapor/regional_data/european_union_27_austria.rb +0 -76
- data/lib/sapor/regional_data/european_union_27_croatia.rb +0 -83
- data/lib/sapor/regional_data/european_union_27_denmark.rb +0 -77
- data/lib/sapor/regional_data/european_union_27_estonia.rb +0 -74
- data/lib/sapor/regional_data/european_union_27_finland.rb +0 -74
- data/lib/sapor/regional_data/european_union_27_france.rb +0 -84
- data/lib/sapor/regional_data/european_union_27_ireland.rb +0 -96
- data/lib/sapor/regional_data/european_union_27_ireland_with_ia.rb +0 -97
- data/lib/sapor/regional_data/european_union_27_italy.rb +0 -84
- data/lib/sapor/regional_data/european_union_27_netherlands.rb +0 -81
- data/lib/sapor/regional_data/european_union_27_poland.rb +0 -84
- data/lib/sapor/regional_data/european_union_27_spain.rb +0 -82
- data/spec/unit/european_union_27_austria_spec.rb +0 -61
- data/spec/unit/european_union_27_croatia_spec.rb +0 -60
- data/spec/unit/european_union_27_denmark_spec.rb +0 -62
- data/spec/unit/european_union_27_estonia_spec.rb +0 -94
- data/spec/unit/european_union_27_finland_spec.rb +0 -75
- data/spec/unit/european_union_27_france_spec.rb +0 -73
- data/spec/unit/european_union_27_ireland_spec.rb +0 -72
- data/spec/unit/european_union_27_ireland_with_ia_spec.rb +0 -74
- data/spec/unit/european_union_27_italy_spec.rb +0 -69
- data/spec/unit/european_union_27_netherlands_spec.rb +0 -81
- data/spec/unit/european_union_27_poland_spec.rb +0 -69
- data/spec/unit/european_union_27_spain_spec.rb +0 -130
@@ -1,84 +0,0 @@
|
|
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 the European Union (27): Italy.
|
23
|
-
#
|
24
|
-
class EuropeanUnion27Italy < Area
|
25
|
-
include Singleton
|
26
|
-
|
27
|
-
def area_code
|
28
|
-
'EU27[IT]'
|
29
|
-
end
|
30
|
-
|
31
|
-
def coalitions
|
32
|
-
COALITIONS
|
33
|
-
end
|
34
|
-
|
35
|
-
def no_of_seats
|
36
|
-
NO_OF_SEATS
|
37
|
-
end
|
38
|
-
|
39
|
-
def population_size
|
40
|
-
POPULATION_SIZE
|
41
|
-
end
|
42
|
-
|
43
|
-
def seats(simulation)
|
44
|
-
seats = electoral_system.project(simulation)
|
45
|
-
seats['Südtiroler Volkspartei (EPP)'] = NO_OF_SVP_SEATS
|
46
|
-
seats['Partito Democratico (S&D)'] -= NO_OF_SVP_SEATS
|
47
|
-
seats
|
48
|
-
end
|
49
|
-
|
50
|
-
private
|
51
|
-
|
52
|
-
COALITIONS = [['Azione (S&D)', 'Liberi e Uguali (S&D)',
|
53
|
-
'Partito Democratico (S&D)'],
|
54
|
-
['Cambiamo! (*)', 'Insieme (*)'],
|
55
|
-
['CasaPound Italia (NI)', 'Movimento 5 Stelle (NI)'],
|
56
|
-
['Civica Popolare (RE)', 'Italia Viva (RE)',
|
57
|
-
'Più Europa (RE)'],
|
58
|
-
['Europa Verde (Greens/EFA)'],
|
59
|
-
['Forza Italia (EPP)', 'Südtiroler Volkspartei (EPP)'],
|
60
|
-
['Fratelli d’Italia (ECR)', 'Noi con l’Italia (ECR)'],
|
61
|
-
['Lega Nord (ID)'],
|
62
|
-
['Potere al Popolo (GUE/NGL)']].freeze
|
63
|
-
|
64
|
-
NO_OF_SEATS = 76
|
65
|
-
|
66
|
-
NO_OF_SVP_SEATS = 1
|
67
|
-
|
68
|
-
# Voter turnout on 26 May 2019
|
69
|
-
# Source: Web page with the official results of the elections of 26 May
|
70
|
-
# 2019, downloaded on 12 June 2019,
|
71
|
-
# https://en.wikipedia.org/wiki/2019_European_Parliament_election_in_Italy
|
72
|
-
POPULATION_SIZE = 26_783_732
|
73
|
-
|
74
|
-
THRESHOLD = 0.04
|
75
|
-
|
76
|
-
def electoral_system
|
77
|
-
if @electoral_system.nil?
|
78
|
-
@electoral_system = LargestRemainder.new(NO_OF_SEATS, HareQuota,
|
79
|
-
THRESHOLD)
|
80
|
-
end
|
81
|
-
@electoral_system
|
82
|
-
end
|
83
|
-
end
|
84
|
-
end
|
@@ -1,81 +0,0 @@
|
|
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 the European Union (27): the Netherlands.
|
23
|
-
#
|
24
|
-
class EuropeanUnion27Netherlands < Area
|
25
|
-
include Singleton
|
26
|
-
|
27
|
-
def area_code
|
28
|
-
'EU27[NL]'
|
29
|
-
end
|
30
|
-
|
31
|
-
def coalitions
|
32
|
-
COALITIONS
|
33
|
-
end
|
34
|
-
|
35
|
-
def no_of_seats
|
36
|
-
NO_OF_SEATS
|
37
|
-
end
|
38
|
-
|
39
|
-
def population_size
|
40
|
-
POPULATION_SIZE
|
41
|
-
end
|
42
|
-
|
43
|
-
def seats(simulation)
|
44
|
-
electoral_system.project(simulation)
|
45
|
-
end
|
46
|
-
|
47
|
-
private
|
48
|
-
|
49
|
-
COALITIONS = [['50Plus (EPP)', 'Christen-Democratisch Appèl (EPP)',
|
50
|
-
'ChristenUnie (EPP)'],
|
51
|
-
['Bij1 (*)', 'DENK (*)', 'Piratenpartij (*)'],
|
52
|
-
['Democraten 66 (RE)',
|
53
|
-
'Volkspartij voor Vrijheid en Democratie (RE)'],
|
54
|
-
['Staatkundig Gereformeerde Partij (ECR)',
|
55
|
-
'Forum voor Democratie (ECR)'],
|
56
|
-
['GroenLinks (Greens/EFA)'],
|
57
|
-
['Partij van de Arbeid (S&D)'],
|
58
|
-
['Partij voor de Dieren (GUE/NGL)',
|
59
|
-
'Socialistische Partij (GUE/NGL)'],
|
60
|
-
['Partij voor de Vrijheid (ID)']].freeze
|
61
|
-
|
62
|
-
NO_OF_SEATS = 29
|
63
|
-
|
64
|
-
# Voter turnout on 23 May 2019
|
65
|
-
# Source: Web page with the official results of the elections of 23 May
|
66
|
-
# 2019, downloaded on 13 June 2019,
|
67
|
-
# https://en.wikipedia.org/wiki/2019_European_Parliament_election_in_the_Netherlands
|
68
|
-
POPULATION_SIZE = 5_497_813
|
69
|
-
|
70
|
-
THRESHOLD = 1 / NO_OF_SEATS.to_f
|
71
|
-
|
72
|
-
def electoral_system
|
73
|
-
if @electoral_system.nil?
|
74
|
-
@electoral_system = SingleDistrictProportional.new(NO_OF_SEATS,
|
75
|
-
DhondtDenominators,
|
76
|
-
THRESHOLD)
|
77
|
-
end
|
78
|
-
@electoral_system
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
@@ -1,84 +0,0 @@
|
|
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 the European Union (27): Poland.
|
23
|
-
#
|
24
|
-
class EuropeanUnion27Poland < Area
|
25
|
-
include Singleton
|
26
|
-
|
27
|
-
def area_code
|
28
|
-
'EU27[PL]'
|
29
|
-
end
|
30
|
-
|
31
|
-
def coalitions
|
32
|
-
COALITIONS
|
33
|
-
end
|
34
|
-
|
35
|
-
def no_of_seats
|
36
|
-
NO_OF_SEATS
|
37
|
-
end
|
38
|
-
|
39
|
-
def population_size
|
40
|
-
POPULATION_SIZE
|
41
|
-
end
|
42
|
-
|
43
|
-
def seats(simulation)
|
44
|
-
electoral_system.project(simulation)
|
45
|
-
end
|
46
|
-
|
47
|
-
private
|
48
|
-
|
49
|
-
COALITIONS = [['Konfederacja (NI)', 'KORWiN (NI)', 'Kukiz’15 (NI)'],
|
50
|
-
['Koalicja Europejska (EPP)',
|
51
|
-
'Koalicja Obywatelska (EPP)',
|
52
|
-
'Koalicja Polska (EPP)',
|
53
|
-
'Platforma Obywatelska (EPP)',
|
54
|
-
'Polskie Stronnictwo Ludowe (EPP)'],
|
55
|
-
['Lewica (S&D)',
|
56
|
-
'Lewica Razem (S&D)',
|
57
|
-
'Sojusz Lewicy Demokratycznej (S&D)',
|
58
|
-
'Wiosna (S&D)',
|
59
|
-
'Wiosna–Partia Razem (S&D)'],
|
60
|
-
['.Nowoczesna (RE)'],
|
61
|
-
['Bezpartyjni Samorządowcy (*)'],
|
62
|
-
['Prawo i Sprawiedliwość (ECR)',
|
63
|
-
'Zjednoczona Prawica (ECR)']].freeze
|
64
|
-
|
65
|
-
NO_OF_SEATS = 52
|
66
|
-
|
67
|
-
# Voter turnout on 26 May 2019
|
68
|
-
# Source: Web page with the official results of the elections of 26 May
|
69
|
-
# 2019, downloaded on 25 June 2019,
|
70
|
-
# https://en.wikipedia.org/wiki/2019_European_Parliament_election_in_Poland
|
71
|
-
POPULATION_SIZE = 13_647_311
|
72
|
-
|
73
|
-
THRESHOLD = 0.05
|
74
|
-
|
75
|
-
def electoral_system
|
76
|
-
if @electoral_system.nil?
|
77
|
-
@electoral_system = SingleDistrictProportional.new(NO_OF_SEATS,
|
78
|
-
DhondtDenominators,
|
79
|
-
THRESHOLD)
|
80
|
-
end
|
81
|
-
@electoral_system
|
82
|
-
end
|
83
|
-
end
|
84
|
-
end
|
@@ -1,82 +0,0 @@
|
|
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 the European Union 27: Spain.
|
23
|
-
#
|
24
|
-
class EuropeanUnion27Spain < Area
|
25
|
-
include Singleton
|
26
|
-
|
27
|
-
def area_code
|
28
|
-
'EU27[ES]'
|
29
|
-
end
|
30
|
-
|
31
|
-
def coalitions
|
32
|
-
COALITIONS
|
33
|
-
end
|
34
|
-
|
35
|
-
def no_of_seats
|
36
|
-
NO_OF_SEATS
|
37
|
-
end
|
38
|
-
|
39
|
-
def population_size
|
40
|
-
POPULATION_SIZE
|
41
|
-
end
|
42
|
-
|
43
|
-
def seats(simulation)
|
44
|
-
electoral_system.project(simulation)
|
45
|
-
end
|
46
|
-
|
47
|
-
private
|
48
|
-
|
49
|
-
COALITIONS = [['Ahora Repúblicas (Greens/EFA)',
|
50
|
-
'Bloque Nacionalista Galego–Nós Candidatura Galega (Greens/EFA)',
|
51
|
-
'Coalició Compromís (Greens/EFA)',
|
52
|
-
'Esquerra Republicana de Catalunya–Catalunya Sí (Greens/EFA)',
|
53
|
-
'Primavera Europea (Greens/EFA)'],
|
54
|
-
['Ciudadanos–Partido de la Ciudadanía (RE)',
|
55
|
-
'Coalición Canaria–Partido Nacionalista Canario (RE)',
|
56
|
-
'Coalición por Europa (RE)',
|
57
|
-
'Euzko Alderdi Jeltzalea/Partido Nacionalista Vasco (RE)'],
|
58
|
-
['Euskal Herria Bildu (GUE/NGL)',
|
59
|
-
'Partido Animalista Contra el Maltrato Animal (GUE/NGL)',
|
60
|
-
'Unidos Podemos (GUE/NGL)'],
|
61
|
-
['Partido Popular (EPP)'],
|
62
|
-
['Partido Socialista Obrero Español (S&D)'],
|
63
|
-
['Partit Demòcrata Europeu Català (NI)'],
|
64
|
-
['Vox (ECR)']].freeze
|
65
|
-
|
66
|
-
NO_OF_SEATS = 59
|
67
|
-
|
68
|
-
# Voter turnout on 26 May 2019
|
69
|
-
# Source: Web page with the official results of the elections of 26 May
|
70
|
-
# 2019, downloaded on 10 June 2019,
|
71
|
-
# https://en.wikipedia.org/wiki/2019_European_Parliament_election_in_Spain
|
72
|
-
POPULATION_SIZE = 22_410_049
|
73
|
-
|
74
|
-
def electoral_system
|
75
|
-
if @electoral_system.nil?
|
76
|
-
@electoral_system = SingleDistrictProportional.new(NO_OF_SEATS, \
|
77
|
-
DhondtDenominators)
|
78
|
-
end
|
79
|
-
@electoral_system
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|
@@ -1,61 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
#
|
3
|
-
# Statistical Analysis of Polling Results (SAPoR)
|
4
|
-
# Copyright (C) 2020 Filip van Laenen <f.a.vanlaenen@ieee.org>
|
5
|
-
#
|
6
|
-
# This file is part of SAPoR.
|
7
|
-
#
|
8
|
-
# SAPoR is free software: you can redistribute it and/or modify it under the
|
9
|
-
# terms of the GNU General Public License as published by the Free Software
|
10
|
-
# Foundation, either version 3 of the License, or (at your option) any later
|
11
|
-
# version.
|
12
|
-
#
|
13
|
-
# SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
|
14
|
-
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
15
|
-
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
16
|
-
#
|
17
|
-
# You can find a copy of the GNU General Public License in /doc/gpl.txt
|
18
|
-
#
|
19
|
-
|
20
|
-
require 'spec_helper'
|
21
|
-
|
22
|
-
describe Sapor::EuropeanUnion27Austria, '#area_code' do
|
23
|
-
it 'returns EU27[AT] as the area code' do
|
24
|
-
expect(Sapor::EuropeanUnion27Austria.instance.area_code).to eq('EU27[AT]')
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
describe Sapor::EuropeanUnion27Austria, '#no_of_seats' do
|
29
|
-
it 'returns 19 as the number of seats' do
|
30
|
-
expect(Sapor::EuropeanUnion27Austria.instance.no_of_seats).to eq(19)
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
describe Sapor::EuropeanUnion27Austria, '#population_size' do
|
35
|
-
it 'returns a population size of 3,834,656' do
|
36
|
-
expect(Sapor::EuropeanUnion27Austria.instance.population_size).to \
|
37
|
-
eq(3_834_656)
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
describe Sapor::EuropeanUnion27Austria, '#seats' do
|
42
|
-
it 'calculates the number of seats for the election of 2019' do
|
43
|
-
results = { 'Österreichische Volkspartei (EPP)' => 1_305_956,
|
44
|
-
'Sozialdemokratische Partei Österreichs (S&D)' => 903_151,
|
45
|
-
'Freiheitliche Partei Österreichs (ENF)' => 650_114,
|
46
|
-
'Die Grünen–Die Grüne Alternative (Greens/EFA)' => 532_193,
|
47
|
-
'NEOS–Das Neue Österreich und Liberales Forum (ALDE)' => \
|
48
|
-
319_024,
|
49
|
-
'EUROPA JETZT (*)' => 39_087,
|
50
|
-
'Kommunistische Partei Österreichs (*)' => 30_087 }
|
51
|
-
seats = Sapor::EuropeanUnion27Austria.instance.seats(results)
|
52
|
-
expect(seats['Österreichische Volkspartei (EPP)']).to eq(7)
|
53
|
-
expect(seats['Sozialdemokratische Partei Österreichs (S&D)']).to eq(5)
|
54
|
-
expect(seats['Freiheitliche Partei Österreichs (ENF)']).to eq(3)
|
55
|
-
expect(seats['Die Grünen–Die Grüne Alternative (Greens/EFA)']).to eq(2 + 1)
|
56
|
-
expect(seats['NEOS–Das Neue Österreich und Liberales Forum (ALDE)']).to \
|
57
|
-
eq(1)
|
58
|
-
expect(seats['EUROPA JETZT (*)']).to eq(0)
|
59
|
-
expect(seats['Kommunistische Partei Österreichs (*)']).to eq(0)
|
60
|
-
end
|
61
|
-
end
|
@@ -1,60 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
#
|
3
|
-
# Statistical Analysis of Polling Results (SAPoR)
|
4
|
-
# Copyright (C) 2020 Filip van Laenen <f.a.vanlaenen@ieee.org>
|
5
|
-
#
|
6
|
-
# This file is part of SAPoR.
|
7
|
-
#
|
8
|
-
# SAPoR is free software: you can redistribute it and/or modify it under the
|
9
|
-
# terms of the GNU General Public License as published by the Free Software
|
10
|
-
# Foundation, either version 3 of the License, or (at your option) any later
|
11
|
-
# version.
|
12
|
-
#
|
13
|
-
# SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
|
14
|
-
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
15
|
-
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
16
|
-
#
|
17
|
-
# You can find a copy of the GNU General Public License in /doc/gpl.txt
|
18
|
-
#
|
19
|
-
|
20
|
-
require 'spec_helper'
|
21
|
-
|
22
|
-
describe Sapor::EuropeanUnion27Croatia, '#area_code' do
|
23
|
-
it 'returns EU27[HR] as the area code' do
|
24
|
-
expect(Sapor::EuropeanUnion27Croatia.instance.area_code).to \
|
25
|
-
eq('EU27[HR]')
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
describe Sapor::EuropeanUnion27Croatia, '#no_of_seats' do
|
30
|
-
it 'returns 12 as the number of seats' do
|
31
|
-
expect(Sapor::EuropeanUnion27Croatia.instance.no_of_seats).to eq(12)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
describe Sapor::EuropeanUnion27Croatia, '#population_size' do
|
36
|
-
it 'returns a population size of 1,073,954' do
|
37
|
-
expect(Sapor::EuropeanUnion27Croatia.instance.population_size).to \
|
38
|
-
eq(1_073_954)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
describe Sapor::EuropeanUnion27Croatia, '#seats' do
|
43
|
-
it 'calculates the number of seats for the election of 2014' do
|
44
|
-
results = { 'HDZ-ova koalicija (EPP)' => 381_844,
|
45
|
-
'Kukuriku koalicija (S&D)' => 275_904,
|
46
|
-
'Održivi razvoj Hrvatske (—)' => 86_806,
|
47
|
-
'Savez za Hrvatsku (—)' => 63_437,
|
48
|
-
'Hrvatski laburisti–Stranka rada (GUE/NGL)' => 31_363,
|
49
|
-
'Partnership of Croatian Center (—)' => 22_098,
|
50
|
-
'Others (—)' => 60_452 }
|
51
|
-
seats = Sapor::EuropeanUnion27Croatia.instance.seats(results)
|
52
|
-
expect(seats['HDZ-ova koalicija (EPP)']).to eq(6)
|
53
|
-
expect(seats['Kukuriku koalicija (S&D)']).to eq(4)
|
54
|
-
expect(seats['Održivi razvoj Hrvatske (—)']).to eq(1)
|
55
|
-
expect(seats['Savez za Hrvatsku (—)']).to eq(0 + 1)
|
56
|
-
expect(seats['Hrvatski laburisti–Stranka rada (GUE/NGL)']).to eq(0)
|
57
|
-
expect(seats['Partnership of Croatian Center (—)']).to eq(0)
|
58
|
-
expect(seats['Others (—)']).to eq(0)
|
59
|
-
end
|
60
|
-
end
|
@@ -1,62 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
#
|
3
|
-
# Statistical Analysis of Polling Results (SAPoR)
|
4
|
-
# Copyright (C) 2020 Filip van Laenen <f.a.vanlaenen@ieee.org>
|
5
|
-
#
|
6
|
-
# This file is part of SAPoR.
|
7
|
-
#
|
8
|
-
# SAPoR is free software: you can redistribute it and/or modify it under the
|
9
|
-
# terms of the GNU General Public License as published by the Free Software
|
10
|
-
# Foundation, either version 3 of the License, or (at your option) any later
|
11
|
-
# version.
|
12
|
-
#
|
13
|
-
# SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
|
14
|
-
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
15
|
-
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
16
|
-
#
|
17
|
-
# You can find a copy of the GNU General Public License in /doc/gpl.txt
|
18
|
-
#
|
19
|
-
|
20
|
-
require 'spec_helper'
|
21
|
-
|
22
|
-
describe Sapor::EuropeanUnion27Denmark, '#area_code' do
|
23
|
-
it 'returns EU27[DK] as the area code' do
|
24
|
-
expect(Sapor::EuropeanUnion27Denmark.instance.area_code).to \
|
25
|
-
eq('EU27[DK]')
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
describe Sapor::EuropeanUnion27Denmark, '#no_of_seats' do
|
30
|
-
it 'returns 14 as the number of seats' do
|
31
|
-
expect(Sapor::EuropeanUnion27Denmark.instance.no_of_seats).to eq(14)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
describe Sapor::EuropeanUnion27Denmark, '#population_size' do
|
36
|
-
it 'returns a population size of 2,800,029' do
|
37
|
-
expect(Sapor::EuropeanUnion27Denmark.instance.population_size).to \
|
38
|
-
eq(2_800_029)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
describe Sapor::EuropeanUnion27Denmark, '#seats' do
|
43
|
-
it 'calculates the number of seats for the election of 2014' do
|
44
|
-
results = { 'Dansk Folkeparti (EFDD)' => 605_766,
|
45
|
-
'Socialdemokraterne (S&D)' => 434_894,
|
46
|
-
'Venstre (ALDE)' => 378_772,
|
47
|
-
'Socialistisk Folkeparti (Greens/EFA)' => 248_244,
|
48
|
-
'Det Konservative Folkeparti (EPP)' => 208_067,
|
49
|
-
'Folkebevægelsen mod EU (GUE/NGL)' => 183_493,
|
50
|
-
'Radikale Venstre (ALDE)' => 148_006,
|
51
|
-
'Liberal Alliance (ALDE)' => 65_776 }
|
52
|
-
seats = Sapor::EuropeanUnion27Denmark.instance.seats(results)
|
53
|
-
expect(seats['Dansk Folkeparti (EFDD)']).to eq(4)
|
54
|
-
expect(seats['Socialdemokraterne (S&D)']).to eq(3)
|
55
|
-
expect(seats['Venstre (ALDE)']).to eq(2 + 1)
|
56
|
-
expect(seats['Socialistisk Folkeparti (Greens/EFA)']).to eq(1)
|
57
|
-
expect(seats['Det Konservative Folkeparti (EPP)']).to eq(1)
|
58
|
-
expect(seats['Folkebevægelsen mod EU (GUE/NGL)']).to eq(1)
|
59
|
-
expect(seats['Radikale Venstre (ALDE)']).to eq(1)
|
60
|
-
expect(seats['Liberal Alliance (ALDE)']).to eq(0)
|
61
|
-
end
|
62
|
-
end
|
@@ -1,94 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
#
|
3
|
-
# Statistical Analysis of Polling Results (SAPoR)
|
4
|
-
# Copyright (C) 2020 Filip van Laenen <f.a.vanlaenen@ieee.org>
|
5
|
-
#
|
6
|
-
# This file is part of SAPoR.
|
7
|
-
#
|
8
|
-
# SAPoR is free software: you can redistribute it and/or modify it under the
|
9
|
-
# terms of the GNU General Public License as published by the Free Software
|
10
|
-
# Foundation, either version 3 of the License, or (at your option) any later
|
11
|
-
# version.
|
12
|
-
#
|
13
|
-
# SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
|
14
|
-
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
15
|
-
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
16
|
-
#
|
17
|
-
# You can find a copy of the GNU General Public License in /doc/gpl.txt
|
18
|
-
#
|
19
|
-
|
20
|
-
require 'spec_helper'
|
21
|
-
|
22
|
-
describe Sapor::EuropeanUnion27Estonia, '#area_code' do
|
23
|
-
it 'returns EU27[EE] as the area code' do
|
24
|
-
expect(Sapor::EuropeanUnion27Estonia.instance.area_code).to \
|
25
|
-
eq('EU27[EE]')
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
describe Sapor::EuropeanUnion27Estonia, '#no_of_seats' do
|
30
|
-
it 'returns 7 as the number of seats' do
|
31
|
-
expect(Sapor::EuropeanUnion27Estonia.instance.no_of_seats).to eq(7)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
describe Sapor::EuropeanUnion27Estonia, '#population_size' do
|
36
|
-
it 'returns a population size of 332,859' do
|
37
|
-
expect(Sapor::EuropeanUnion27Estonia.instance.population_size).to \
|
38
|
-
eq(332_859)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
describe Sapor::EuropeanUnion27Estonia, '#seats' do
|
43
|
-
it 'calculates the number of seats for the election of 2014' do
|
44
|
-
results = { 'Eesti Reformierakond (ALDE)' => 79_849,
|
45
|
-
'Eesti Keskerakond (ALDE)' => 73_419,
|
46
|
-
'Isamaa ja Res Publica Liit (EPP)' => 45_765,
|
47
|
-
'Sotsiaaldemokraatlik Erakond (S&D)' => 44_550,
|
48
|
-
'INDREK TARAND (Greens/EFA)' => 43_369,
|
49
|
-
'Eesti Konservatiivne Rahvaerakond (NI)' => 13_247,
|
50
|
-
'TANEL TALVE (*)' => 10_073,
|
51
|
-
'SILVER MEIKAR (*)' => 6018,
|
52
|
-
'Eesti Iseseisvuspartei (*)' => 4158,
|
53
|
-
'KRISTIINA OJULAND (*)' => 3024,
|
54
|
-
'KRISTA MULENOK (*)' => 1266,
|
55
|
-
'Erakond Eestimaa Rohelised (Greens/EFA)' => 986,
|
56
|
-
'RENE KUULMANN (*)' => 632,
|
57
|
-
'JEVGENI KRIŠTAFOVITŠ (*)' => 594,
|
58
|
-
'IMRE MÜRK (*)' => 330,
|
59
|
-
'OLGA SÕTNIK (*)' => 328,
|
60
|
-
'Eestimaa Ühendatud Vasakpartei (*)' => 226,
|
61
|
-
'SVETLANA IVNITSKAJA (*)' => 167,
|
62
|
-
'TAIRA AASA (*)' => 126,
|
63
|
-
'ROMAN UBAKIVI (*)' => 96,
|
64
|
-
'DMITRI SILBER (*)' => 86,
|
65
|
-
'ANDRES INN (*)' => 72,
|
66
|
-
'LANCE GARETH EDWARD BOXALL (*)' => 64,
|
67
|
-
'JOERI WIERSMA (*)' => 48 }
|
68
|
-
seats = Sapor::EuropeanUnion27Estonia.instance.seats(results)
|
69
|
-
expect(seats['Eesti Reformierakond (ALDE)']).to eq(2)
|
70
|
-
expect(seats['Eesti Keskerakond (ALDE)']).to eq(1 + 1)
|
71
|
-
expect(seats['Isamaa ja Res Publica Liit (EPP)']).to eq(1)
|
72
|
-
expect(seats['Sotsiaaldemokraatlik Erakond (S&D)']).to eq(1)
|
73
|
-
expect(seats['INDREK TARAND (Greens/EFA)']).to eq(1)
|
74
|
-
expect(seats['Eesti Konservatiivne Rahvaerakond (NI)']).to eq(0)
|
75
|
-
expect(seats['TANEL TALVE (*)']).to eq(0)
|
76
|
-
expect(seats['SILVER MEIKAR (*)']).to eq(0)
|
77
|
-
expect(seats['Eesti Iseseisvuspartei (*)']).to eq(0)
|
78
|
-
expect(seats['KRISTIINA OJULAND (*)']).to eq(0)
|
79
|
-
expect(seats['KRISTA MULENOK (*)']).to eq(0)
|
80
|
-
expect(seats['Erakond Eestimaa Rohelised (Greens/EFA)']).to eq(0)
|
81
|
-
expect(seats['RENE KUULMANN (*)']).to eq(0)
|
82
|
-
expect(seats['JEVGENI KRIŠTAFOVITŠ (*)']).to eq(0)
|
83
|
-
expect(seats['IMRE MÜRK (*)']).to eq(0)
|
84
|
-
expect(seats['OLGA SÕTNIK (*)']).to eq(0)
|
85
|
-
expect(seats['Eestimaa Ühendatud Vasakpartei (*)']).to eq(0)
|
86
|
-
expect(seats['SVETLANA IVNITSKAJA (*)']).to eq(0)
|
87
|
-
expect(seats['TAIRA AASA (*)']).to eq(0)
|
88
|
-
expect(seats['ROMAN UBAKIVI (*)']).to eq(0)
|
89
|
-
expect(seats['DMITRI SILBER (*)']).to eq(0)
|
90
|
-
expect(seats['ANDRES INN (*)']).to eq(0)
|
91
|
-
expect(seats['LANCE GARETH EDWARD BOXALL (*)']).to eq(0)
|
92
|
-
expect(seats['JOERI WIERSMA (*)']).to eq(0)
|
93
|
-
end
|
94
|
-
end
|
@@ -1,75 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
#
|
3
|
-
# Statistical Analysis of Polling Results (SAPoR)
|
4
|
-
# Copyright (C) 2020 Filip van Laenen <f.a.vanlaenen@ieee.org>
|
5
|
-
#
|
6
|
-
# This file is part of SAPoR.
|
7
|
-
#
|
8
|
-
# SAPoR is free software: you can redistribute it and/or modify it under the
|
9
|
-
# terms of the GNU General Public License as published by the Free Software
|
10
|
-
# Foundation, either version 3 of the License, or (at your option) any later
|
11
|
-
# version.
|
12
|
-
#
|
13
|
-
# SAPoR is distributed in the hope that it will be useful, but WITHOUT ANY
|
14
|
-
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
15
|
-
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
16
|
-
#
|
17
|
-
# You can find a copy of the GNU General Public License in /doc/gpl.txt
|
18
|
-
#
|
19
|
-
|
20
|
-
require 'spec_helper'
|
21
|
-
|
22
|
-
describe Sapor::EuropeanUnion27Finland, '#area_code' do
|
23
|
-
it 'returns EU27[FI] as the area code' do
|
24
|
-
expect(Sapor::EuropeanUnion27Finland.instance.area_code).to eq('EU27[FI]')
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
describe Sapor::EuropeanUnion27Finland, '#no_of_seats' do
|
29
|
-
it 'returns 14 as the number of seats' do
|
30
|
-
expect(Sapor::EuropeanUnion27Finland.instance.no_of_seats).to eq(14)
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
describe Sapor::EuropeanUnion27Finland, '#population_size' do
|
35
|
-
it 'returns a population size of 1,830,045' do
|
36
|
-
expect(Sapor::EuropeanUnion27Finland.instance.population_size).to \
|
37
|
-
eq(1_830_045)
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
describe Sapor::EuropeanUnion27Finland, '#seats' do
|
42
|
-
it 'calculates the number of seats using the votes of the 2014 election' do
|
43
|
-
results = { 'Kansallinen Kokoomus (EPP)' => 390_376,
|
44
|
-
'Suomen Keskusta (ALDE)' => 339_895,
|
45
|
-
'Perussuomalaiset (EFDD)' => 222_457,
|
46
|
-
'Suomen Sosialidemokraattinen Puolue (S&D)' => 212_781,
|
47
|
-
'Vihreä liitto (Greens/EFA)' => 161_263,
|
48
|
-
'Vasemmistoliitto (GUE/NGL)' => 161_074,
|
49
|
-
'Svenska folkpartiet i Finland (ALDE)' => 116_747,
|
50
|
-
'Kristillisdemokraatit (EPP)' => 90_586,
|
51
|
-
'Piraattipuolue (Greens/EFA)' => 12_378,
|
52
|
-
'Suomen Kommunistinen Puolue (GUE/NGL)' => 5_932,
|
53
|
-
'Itsenäisyyspuolue (—)' => 5_668,
|
54
|
-
'Muutos 2011 (—)' => 4_768,
|
55
|
-
'Köyhien Asialla (—)' => 2_667,
|
56
|
-
'Sinivalkoinen Rintama (—)' => 1_176,
|
57
|
-
'Kristiina Ilmarinen (—)' => 526 }
|
58
|
-
seats = Sapor::EuropeanUnion27Finland.instance.seats(results)
|
59
|
-
expect(seats['Kansallinen Kokoomus (EPP)']).to eq(3 + 1)
|
60
|
-
expect(seats['Suomen Keskusta (ALDE)']).to eq(3)
|
61
|
-
expect(seats['Perussuomalaiset (EFDD)']).to eq(2)
|
62
|
-
expect(seats['Suomen Sosialidemokraattinen Puolue (S&D)']).to eq(2)
|
63
|
-
expect(seats['Vihreä liitto (Greens/EFA)']).to eq(1)
|
64
|
-
expect(seats['Vasemmistoliitto (GUE/NGL)']).to eq(1)
|
65
|
-
expect(seats['Svenska folkpartiet i Finland (ALDE)']).to eq(1)
|
66
|
-
expect(seats['Kristillisdemokraatit (EPP)']).to eq(0)
|
67
|
-
expect(seats['Piraattipuolue (Greens/EFA)']).to eq(0)
|
68
|
-
expect(seats['Suomen Kommunistinen Puolue (GUE/NGL)']).to eq(0)
|
69
|
-
expect(seats['Itsenäisyyspuolue (—)']).to eq(0)
|
70
|
-
expect(seats['Muutos 2011 (—)']).to eq(0)
|
71
|
-
expect(seats['Köyhien Asialla (—)']).to eq(0)
|
72
|
-
expect(seats['Sinivalkoinen Rintama (—)']).to eq(0)
|
73
|
-
expect(seats['Kristiina Ilmarinen (—)']).to eq(0)
|
74
|
-
end
|
75
|
-
end
|