fechell 0.1.9

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 (76) hide show
  1. data/Manifest +75 -0
  2. data/README.rdoc +130 -0
  3. data/Rakefile +16 -0
  4. data/fechell.gemspec +33 -0
  5. data/lib/defs/3.00.csv +1 -0
  6. data/lib/defs/5.00.csv +1 -0
  7. data/lib/defs/5.1.csv +1 -0
  8. data/lib/defs/5.2.csv +1 -0
  9. data/lib/defs/5.3.csv +1 -0
  10. data/lib/defs/6.1.csv +1 -0
  11. data/lib/defs/6.2.csv +1 -0
  12. data/lib/defs/6.3.csv +1 -0
  13. data/lib/defs/6.4.csv +1 -0
  14. data/lib/fechell/forms.rb +1285 -0
  15. data/lib/fechell.rb +353 -0
  16. data/lib/tests/f3test.rb +1035 -0
  17. data/lib/tests/satest.rb +346 -0
  18. data/lib/tests/sbtest.rb +390 -0
  19. data/lib/tests/sc1test.rb +616 -0
  20. data/lib/tests/sctest.rb +387 -0
  21. data/lib/tests/testdata/F3-3.00-32564-SC1.fec +3 -0
  22. data/lib/tests/testdata/F3-3.00-32777.fec +17 -0
  23. data/lib/tests/testdata/F3-3.00-32909-SC.fec +3 -0
  24. data/lib/tests/testdata/F3-3.00-32933-SB.fec +3 -0
  25. data/lib/tests/testdata/F3-3.00-32933.fec +658 -0
  26. data/lib/tests/testdata/F3-5.00-97348.fec +410 -0
  27. data/lib/tests/testdata/F3-5.00-97424-SB.fec +3 -0
  28. data/lib/tests/testdata/F3-5.00-97424-SC.fec +3 -0
  29. data/lib/tests/testdata/F3-5.00-97424.fec +12 -0
  30. data/lib/tests/testdata/F3-5.00-97986-SC1.fec +3 -0
  31. data/lib/tests/testdata/F3-5.1-116177-SC1.fec +3 -0
  32. data/lib/tests/testdata/F3-5.1-116437-SC2.fec +370 -0
  33. data/lib/tests/testdata/F3-5.1-126642.fec +448 -0
  34. data/lib/tests/testdata/F3-5.1-126655-SB.fec +3 -0
  35. data/lib/tests/testdata/F3-5.1-126655-SC.fec +3 -0
  36. data/lib/tests/testdata/F3-5.1-126655.fec +70 -0
  37. data/lib/tests/testdata/F3-5.2-170434.fec +298 -0
  38. data/lib/tests/testdata/F3-5.2-170443.fec +5 -0
  39. data/lib/tests/testdata/F3-5.2-170775-SC.fec +3 -0
  40. data/lib/tests/testdata/F3-5.2-170890-SC.fec +3 -0
  41. data/lib/tests/testdata/F3-5.2-170890.fec +21 -0
  42. data/lib/tests/testdata/F3-5.2-171146-SC1.fec +3 -0
  43. data/lib/tests/testdata/F3-5.2-171146.fec +490 -0
  44. data/lib/tests/testdata/F3-5.3-210119-SB.fec +8 -0
  45. data/lib/tests/testdata/F3-5.3-210119.fec +86 -0
  46. data/lib/tests/testdata/F3-5.3-210142-SC1.fec +3 -0
  47. data/lib/tests/testdata/F3-5.3-210142.fec +414 -0
  48. data/lib/tests/testdata/F3-5.3-210250.fec +584 -0
  49. data/lib/tests/testdata/F3-5.3-212438-SC.fec +3 -0
  50. data/lib/tests/testdata/F3-6.1-331453-SB.fec +3 -0
  51. data/lib/tests/testdata/F3-6.1-331453.fec +414 -0
  52. data/lib/tests/testdata/F3-6.1-332530-SC.fec +4 -0
  53. data/lib/tests/testdata/F3-6.1-332675.fec +1140 -0
  54. data/lib/tests/testdata/F3-6.1-333405-SC1.fec +3 -0
  55. data/lib/tests/testdata/F3-6.1-333405.fec +199 -0
  56. data/lib/tests/testdata/F3-6.2-350353-SC.fec +4 -0
  57. data/lib/tests/testdata/F3-6.2-350353.fec +882 -0
  58. data/lib/tests/testdata/F3-6.2-350775-SB.fec +3 -0
  59. data/lib/tests/testdata/F3-6.2-350775.fec +406 -0
  60. data/lib/tests/testdata/F3-6.2-350844-SC1.fec +3 -0
  61. data/lib/tests/testdata/F3-6.2-350844.fec +139 -0
  62. data/lib/tests/testdata/F3-6.3-413014.fec +624 -0
  63. data/lib/tests/testdata/F3-6.3-413060-SC.fec +3 -0
  64. data/lib/tests/testdata/F3-6.3-413226-SB.fec +3 -0
  65. data/lib/tests/testdata/F3-6.3-413226.fec +219 -0
  66. data/lib/tests/testdata/F3-6.3-413284-SC1.fec +3 -0
  67. data/lib/tests/testdata/F3-6.4-420048-SC.fec +3 -0
  68. data/lib/tests/testdata/F3-6.4-420048.fec +325 -0
  69. data/lib/tests/testdata/F3-6.4-420106.fec +3 -0
  70. data/lib/tests/testdata/F3-6.4-423088-SC1.fec +3 -0
  71. data/lib/tests/testdata/F3-6.4-423088.fec +59 -0
  72. data/lib/tests/testdata/F3-6.4-424094.fec +969 -0
  73. data/lib/tests/testdata/F3-6.4-424586-SB.fec +4 -0
  74. data/lib/tests/testdata/F3-6.4-424586.fec +131 -0
  75. data/lib/tests.rb +6 -0
  76. metadata +153 -0
@@ -0,0 +1,1035 @@
1
+ require "rubygems"
2
+ require "fechell"
3
+
4
+ require "fechell/forms"
5
+
6
+ require 'test/unit'
7
+
8
+
9
+ require 'test/unit/ui/console/testrunner'
10
+
11
+ class TC_FECTestForm3 < Test::Unit::TestCase
12
+ def setup
13
+ @testfiles = {}
14
+ @testfiles["3.00"] = "tests/testdata/F3-3.00-32933.fec"
15
+ @testfiles["5.00"] = "tests/testdata/F3-5.00-97348.fec"
16
+ @testfiles["5.1"] = "tests/testdata/F3-5.1-126642.fec"
17
+ @testfiles["5.2"] = "tests/testdata/F3-5.2-170434.fec"
18
+ @testfiles["5.3"] = "tests/testdata/F3-5.3-210119.fec"
19
+ @testfiles["6.1"] = "tests/testdata/F3-6.1-332675.fec"
20
+ @testfiles["6.2"] = "tests/testdata/F3-6.2-350353.fec"
21
+ @testfiles["6.3"] = "tests/testdata/F3-6.3-413014.fec"
22
+ @testfiles["6.4"] = "tests/testdata/F3-6.4-424094.fec"
23
+
24
+ end
25
+
26
+ def test_v300
27
+ h = FECHell.new
28
+
29
+ fec_version,original_form_type, form_type, values = h.header_lines(@testfiles["3.00"])
30
+
31
+ h.process(@testfiles["3.00"]) do |line|
32
+ schedule = line[0]
33
+ values = line[1]
34
+
35
+ f = FECForm.schedule_for(schedule, fec_version, values)
36
+
37
+ if schedule == "F3"
38
+ assert_equal("C00256131", f.committee_fecid)
39
+ assert_equal("", f.change_of_address)
40
+ assert_equal("Friends of Jennifer Dunn", f.committee_name)
41
+
42
+ assert_equal("P.O. Box 40110", f.street_1)
43
+ assert_equal("", f.street_2)
44
+ assert_equal("Bellevue", f.city)
45
+ assert_equal("WA", f.state)
46
+ assert_equal("98015", f.zip)
47
+
48
+ assert_equal("WA", f.election_state)
49
+ assert_equal("08", f.election_district)
50
+
51
+ assert_equal("Q1", f.report_code)
52
+
53
+ assert_equal("P2002", f.election_code)
54
+
55
+ assert_equal("", f.date_of_election)
56
+ assert_equal("", f.state_of_election)
57
+ assert_equal("20020101", f.date_from_coverage)
58
+ assert_equal("20020331", f.date_through_coverage)
59
+ assert_equal("20020415", f.date_signed)
60
+
61
+ assert_equal('295949.72', f.col_A_line_6a)
62
+ assert_equal('1500.00', f.col_A_line_6b)
63
+ assert_equal('294449.72', f.col_A_line_6c)
64
+ assert_equal('111042.79', f.col_A_line_7a)
65
+ assert_equal('910.40', f.col_A_line_7b)
66
+ assert_equal('110132.39', f.col_A_line_7c)
67
+ assert_equal('707058.54', f.col_A_line_8)
68
+ assert_equal('0.00', f.col_A_line_9)
69
+ assert_equal('', f.col_A_line_10)
70
+ assert_equal('152281.11', f.col_A_line_11ai)
71
+ assert_equal('102346.00', f.col_A_line_11aii)
72
+ assert_equal('254627.11', f.col_A_line_11aiii)
73
+ assert_equal('877.61', f.col_A_line_11b)
74
+ assert_equal('40445.00', f.col_A_line_11c)
75
+ assert_equal('', f.col_A_line_11d)
76
+ assert_equal('295949.72', f.col_A_line_11e)
77
+ assert_equal('0.00', f.col_A_line_12)
78
+ assert_equal('0.00', f.col_A_line_13a)
79
+ assert_equal('0.00', f.col_A_line_13b)
80
+ assert_equal('', f.col_A_line_13c)
81
+ assert_equal('910.40', f.col_A_line_14)
82
+ assert_equal('1758.77', f.col_A_line_15)
83
+ assert_equal('298618.89', f.col_A_line_16)
84
+ assert_equal('111042.79', f.col_A_line_17)
85
+ assert_equal('0.00', f.col_A_line_18)
86
+ assert_equal('0.00', f.col_A_line_19a)
87
+ assert_equal('0.00', f.col_A_line_19b)
88
+ assert_equal('', f.col_A_line_19c)
89
+ assert_equal('1500.00', f.col_A_line_20a)
90
+ assert_equal('0.00', f.col_A_line_20b)
91
+ assert_equal('0.00', f.col_A_line_20c)
92
+ assert_equal('1500.00', f.col_A_line_20d)
93
+ assert_equal('0.00', f.col_A_line_21)
94
+ assert_equal('112542.79', f.col_A_line_22)
95
+ assert_equal('520982.44', f.col_A_line_23)
96
+ assert_equal('298618.89', f.col_A_line_24)
97
+ assert_equal('819601.33', f.col_A_line_25)
98
+ assert_equal('112542.79', f.col_A_line_26)
99
+ assert_equal('707058.54', f.col_A_line_27)
100
+ assert_equal('1132354.30', f.col_B_line_6a)
101
+ assert_equal('1500.00', f.col_B_line_6b)
102
+ assert_equal('1130854.30', f.col_B_line_6c)
103
+ assert_equal('592608.34', f.col_B_line_7a)
104
+ assert_equal('3935.77', f.col_B_line_7b)
105
+ assert_equal('588672.57', f.col_B_line_7c)
106
+ assert_equal('0.00', f.col_B_line_11ai)
107
+ assert_equal('0.00', f.col_B_line_11aii)
108
+ assert_equal('740930.78', f.col_B_line_11aiii)
109
+ assert_equal('1282.09', f.col_B_line_11b)
110
+ assert_equal('390141.43', f.col_B_line_11c)
111
+ assert_equal('', f.col_B_line_11d)
112
+ assert_equal('1132354.30', f.col_B_line_11e)
113
+ assert_equal('0.00', f.col_B_line_12)
114
+ assert_equal('0.00', f.col_B_line_13a)
115
+ assert_equal('', f.col_B_line_13b)
116
+ assert_equal('0.00', f.col_B_line_13c)
117
+ assert_equal('3935.77', f.col_B_line_14)
118
+ assert_equal('4573.80', f.col_B_line_15)
119
+ assert_equal('1140863.87', f.col_B_line_16)
120
+ assert_equal('592608.34', f.col_B_line_17)
121
+ assert_equal('0.00', f.col_B_line_18)
122
+ assert_equal('0.00', f.col_B_line_19a)
123
+ assert_equal('', f.col_B_line_19b)
124
+ assert_equal('', f.col_B_line_19c)
125
+ assert_equal('1500.00', f.col_B_line_20a)
126
+ assert_equal('0.00', f.col_B_line_20b)
127
+ assert_equal('0.00', f.col_B_line_20c)
128
+ assert_equal('1500.00', f.col_B_line_20d)
129
+ assert_equal('0.00', f.col_B_line_21)
130
+ assert_equal('594108.34', f.col_B_line_22)
131
+ break
132
+ end
133
+ end
134
+
135
+ end
136
+
137
+ def test_v500
138
+ h = FECHell.new
139
+
140
+ fec_version,original_form_type, form_type, values = h.header_lines(@testfiles["5.00"])
141
+
142
+ h.process(@testfiles["5.00"]) do |line|
143
+ schedule = line[0]
144
+ values = line[1]
145
+
146
+ f = FECForm.schedule_for(schedule, fec_version, values)
147
+
148
+ if schedule == "F3"
149
+ assert_equal("C00256131", f.committee_fecid)
150
+ assert_equal("", f.change_of_address)
151
+ assert_equal("Friends of Jennifer Dunn", f.committee_name)
152
+
153
+ assert_equal("P.O. Box 40110", f.street_1)
154
+ assert_equal("", f.street_2)
155
+ assert_equal("Bellevue", f.city)
156
+ assert_equal("WA", f.state)
157
+ assert_equal("98015", f.zip)
158
+
159
+ assert_equal("WA", f.election_state)
160
+ assert_equal("08", f.election_district)
161
+
162
+ assert_equal("Q3", f.report_code)
163
+
164
+ assert_equal("P2004", f.election_code)
165
+
166
+ assert_equal("", f.date_of_election)
167
+ assert_equal("", f.state_of_election)
168
+ assert_equal("20030701", f.date_from_coverage)
169
+ assert_equal("20030930", f.date_through_coverage)
170
+ assert_equal("20031014", f.date_signed)
171
+
172
+ assert_equal('222488.60', f.col_A_line_6a)
173
+ assert_equal('0.00', f.col_A_line_6b)
174
+ assert_equal('222488.60', f.col_A_line_6c)
175
+ assert_equal('135359.71', f.col_A_line_7a)
176
+ assert_equal('45.21', f.col_A_line_7b)
177
+ assert_equal('135314.50', f.col_A_line_7c)
178
+ assert_equal('1153150.31', f.col_A_line_8)
179
+ assert_equal('0.00', f.col_A_line_9)
180
+ assert_equal('', f.col_A_line_10)
181
+ assert_equal('127005.00', f.col_A_line_11ai)
182
+ assert_equal('25466.00', f.col_A_line_11aii)
183
+ assert_equal('152471.00', f.col_A_line_11aiii)
184
+ assert_equal('0.00', f.col_A_line_11b)
185
+ assert_equal('70017.60', f.col_A_line_11c)
186
+ assert_equal('0.00', f.col_A_line_11d)
187
+ assert_equal('222488.60', f.col_A_line_11e)
188
+ assert_equal('', f.col_A_line_12)
189
+ assert_equal('0.00', f.col_A_line_13a)
190
+ assert_equal('0.00', f.col_A_line_13b)
191
+ assert_equal('0.00', f.col_A_line_13c)
192
+ assert_equal('45.21', f.col_A_line_14)
193
+ assert_equal('2133.30', f.col_A_line_15)
194
+ assert_equal('224667.11', f.col_A_line_16)
195
+ assert_equal('135359.71', f.col_A_line_17)
196
+ assert_equal('0.00', f.col_A_line_18)
197
+ assert_equal('0.00', f.col_A_line_19a)
198
+ assert_equal('0.00', f.col_A_line_19b)
199
+ assert_equal('0.00', f.col_A_line_19c)
200
+ assert_equal('0.00', f.col_A_line_20a)
201
+ assert_equal('0.00', f.col_A_line_20b)
202
+ assert_equal('0.00', f.col_A_line_20c)
203
+ assert_equal('0.00', f.col_A_line_20d)
204
+ assert_equal('17000.00', f.col_A_line_21)
205
+ assert_equal('152359.71', f.col_A_line_22)
206
+ assert_equal('1080842.91', f.col_A_line_23)
207
+ assert_equal('224667.11', f.col_A_line_24)
208
+ assert_equal('1305510.02', f.col_A_line_25)
209
+ assert_equal('152359.71', f.col_A_line_26)
210
+ assert_equal('1153150.31', f.col_A_line_27)
211
+ assert_equal('637320.86', f.col_B_line_6a)
212
+ assert_equal('4000.00', f.col_B_line_6b)
213
+ assert_equal('633320.86', f.col_B_line_6c)
214
+ assert_equal('354283.99', f.col_B_line_7a)
215
+ assert_equal('640.64', f.col_B_line_7b)
216
+ assert_equal('353643.35', f.col_B_line_7c)
217
+ assert_equal('0.00', f.col_B_line_11ai)
218
+ assert_equal('0.00', f.col_B_line_11aii)
219
+ assert_equal('389116.83', f.col_B_line_11aiii)
220
+ assert_equal('98.00', f.col_B_line_11b)
221
+ assert_equal('248106.03', f.col_B_line_11c)
222
+ assert_equal('0.00', f.col_B_line_11d)
223
+ assert_equal('637320.86', f.col_B_line_11e)
224
+ assert_equal('0.00', f.col_B_line_12)
225
+ assert_equal('0.00', f.col_B_line_13a)
226
+ assert_equal('0.00', f.col_B_line_13b)
227
+ assert_equal('0.00', f.col_B_line_13c)
228
+ assert_equal('640.64', f.col_B_line_14)
229
+ assert_equal('6990.93', f.col_B_line_15)
230
+ assert_equal('644952.43', f.col_B_line_16)
231
+ assert_equal('354283.99', f.col_B_line_17)
232
+ assert_equal('0.00', f.col_B_line_18)
233
+ assert_equal('0.00', f.col_B_line_19a)
234
+ assert_equal('', f.col_B_line_19b)
235
+ assert_equal('0.00', f.col_B_line_19c)
236
+ assert_equal('0.00', f.col_B_line_20a)
237
+ assert_equal('0.00', f.col_B_line_20b)
238
+ assert_equal('4000.00', f.col_B_line_20c)
239
+ assert_equal('4000.00', f.col_B_line_20d)
240
+ assert_equal('57150.00', f.col_B_line_21)
241
+ assert_equal('415433.99', f.col_B_line_22)
242
+ break
243
+ end
244
+ end
245
+
246
+ end
247
+
248
+ def test_v51
249
+ h = FECHell.new
250
+
251
+ fec_version,original_form_type, form_type, values = h.header_lines(@testfiles["5.1"])
252
+
253
+ h.process(@testfiles["5.1"]) do |line|
254
+ schedule = line[0]
255
+ values = line[1]
256
+
257
+ f = FECForm.schedule_for(schedule, fec_version, values)
258
+
259
+ if schedule == "F3"
260
+ assert_equal("C00372102", f.committee_fecid)
261
+ assert_equal("", f.change_of_address)
262
+ assert_equal("Jim Gerlach for Congress Committee", f.committee_name)
263
+
264
+ assert_equal("911 Welsh Ayres Way", f.street_1)
265
+ assert_equal("", f.street_2)
266
+ assert_equal("Downingtown", f.city)
267
+ assert_equal("PA", f.state)
268
+ assert_equal("193351689", f.zip)
269
+
270
+ assert_equal("PA", f.election_state)
271
+ assert_equal("", f.election_district)
272
+
273
+ assert_equal("Q2", f.report_code)
274
+
275
+ assert_equal("", f.election_code)
276
+
277
+ assert_equal("20041102", f.date_of_election)
278
+ assert_equal("PA", f.state_of_election)
279
+ assert_equal("20040408", f.date_from_coverage)
280
+ assert_equal("20040630", f.date_through_coverage)
281
+ assert_equal("20040714", f.date_signed)
282
+
283
+ assert_equal('353302.67', f.col_A_line_6a)
284
+ assert_equal('0', f.col_A_line_6b)
285
+ assert_equal('353302.67', f.col_A_line_6c)
286
+ assert_equal('108203.77', f.col_A_line_7a)
287
+ assert_equal('0', f.col_A_line_7b)
288
+ assert_equal('108203.77', f.col_A_line_7c)
289
+ assert_equal('873350.1', f.col_A_line_8)
290
+ assert_equal('0', f.col_A_line_9)
291
+ assert_equal('0', f.col_A_line_10)
292
+ assert_equal('115700.05', f.col_A_line_11ai)
293
+ assert_equal('12494.86', f.col_A_line_11aii)
294
+ assert_equal('128194.91', f.col_A_line_11aiii)
295
+ assert_equal('300', f.col_A_line_11b)
296
+ assert_equal('224807.76', f.col_A_line_11c)
297
+ assert_equal('0', f.col_A_line_11d)
298
+ assert_equal('353302.67', f.col_A_line_11e)
299
+ assert_equal('0', f.col_A_line_12)
300
+ assert_equal('0', f.col_A_line_13a)
301
+ assert_equal('0', f.col_A_line_13b)
302
+ assert_equal('0', f.col_A_line_13c)
303
+ assert_equal('0', f.col_A_line_14)
304
+ assert_equal('579.92', f.col_A_line_15)
305
+ assert_equal('353882.59', f.col_A_line_16)
306
+ assert_equal('108203.77', f.col_A_line_17)
307
+ assert_equal('0', f.col_A_line_18)
308
+ assert_equal('0', f.col_A_line_19a)
309
+ assert_equal('0', f.col_A_line_19b)
310
+ assert_equal('0', f.col_A_line_19c)
311
+ assert_equal('0', f.col_A_line_20a)
312
+ assert_equal('0', f.col_A_line_20b)
313
+ assert_equal('0', f.col_A_line_20c)
314
+ assert_equal('0', f.col_A_line_20d)
315
+ assert_equal('0', f.col_A_line_21)
316
+ assert_equal('108203.77', f.col_A_line_22)
317
+ assert_equal('627671.28', f.col_A_line_23)
318
+ assert_equal('353882.59', f.col_A_line_24)
319
+ assert_equal('981553.87', f.col_A_line_25)
320
+ assert_equal('108203.77', f.col_A_line_26)
321
+ assert_equal('873350.1', f.col_A_line_27)
322
+ assert_equal('1393390.91', f.col_B_line_6a)
323
+ assert_equal('600', f.col_B_line_6b)
324
+ assert_equal('1392790.91', f.col_B_line_6c)
325
+ assert_equal('551046.46', f.col_B_line_7a)
326
+ assert_equal('0', f.col_B_line_7b)
327
+ assert_equal('551046.46', f.col_B_line_7c)
328
+ assert_equal('', f.col_B_line_11ai)
329
+ assert_equal('', f.col_B_line_11aii)
330
+ assert_equal('683707.15', f.col_B_line_11aiii)
331
+ assert_equal('1600', f.col_B_line_11b)
332
+ assert_equal('708083.76', f.col_B_line_11c)
333
+ assert_equal('0', f.col_B_line_11d)
334
+ assert_equal('1393390.91', f.col_B_line_11e)
335
+ assert_equal('0', f.col_B_line_12)
336
+ assert_equal('0', f.col_B_line_13a)
337
+ assert_equal('0', f.col_B_line_13b)
338
+ assert_equal('0', f.col_B_line_13c)
339
+ assert_equal('0', f.col_B_line_14)
340
+ assert_equal('6201.23', f.col_B_line_15)
341
+ assert_equal('1399592.14', f.col_B_line_16)
342
+ assert_equal('551046.46', f.col_B_line_17)
343
+ assert_equal('0', f.col_B_line_18)
344
+ assert_equal('0', f.col_B_line_19a)
345
+ assert_equal('0', f.col_B_line_19b)
346
+ assert_equal('0', f.col_B_line_19c)
347
+ assert_equal('600', f.col_B_line_20a)
348
+ assert_equal('0', f.col_B_line_20b)
349
+ assert_equal('0', f.col_B_line_20c)
350
+ assert_equal('600', f.col_B_line_20d)
351
+ assert_equal('0', f.col_B_line_21)
352
+ assert_equal('551646.46', f.col_B_line_22)
353
+ break
354
+ end
355
+ end
356
+
357
+ end
358
+
359
+ def test_v52
360
+ h = FECHell.new
361
+
362
+ fec_version,original_form_type, form_type, values = h.header_lines(@testfiles["5.2"])
363
+
364
+ h.process(@testfiles["5.2"]) do |line|
365
+ schedule = line[0]
366
+ values = line[1]
367
+
368
+ f = FECForm.schedule_for(schedule, fec_version, values)
369
+
370
+ if schedule == "F3"
371
+ assert_equal("C00346114", f.committee_fecid)
372
+ assert_equal(" ", f.change_of_address)
373
+ assert_equal("People With Hart", f.committee_name)
374
+
375
+ assert_equal("P.O. Box 435", f.street_1)
376
+ assert_equal("", f.street_2)
377
+ assert_equal("Pittsburgh", f.city)
378
+ assert_equal("PA", f.state)
379
+ assert_equal("15090 ", f.zip)
380
+
381
+ assert_equal("PA", f.election_state)
382
+ assert_equal("4", f.election_district)
383
+
384
+ assert_equal("Q1", f.report_code)
385
+
386
+ assert_equal("P2006", f.election_code)
387
+
388
+ assert_equal("20061107", f.date_of_election)
389
+ assert_equal("", f.state_of_election)
390
+ assert_equal("20050101", f.date_from_coverage)
391
+ assert_equal("20050331", f.date_through_coverage)
392
+ assert_equal("20050413", f.date_signed)
393
+
394
+ assert_equal('118388.82', f.col_A_line_6a)
395
+ assert_equal('0.00', f.col_A_line_6b)
396
+ assert_equal('118388.82', f.col_A_line_6c)
397
+ assert_equal('70471.56', f.col_A_line_7a)
398
+ assert_equal('0.00', f.col_A_line_7b)
399
+ assert_equal('70471.56', f.col_A_line_7c)
400
+ assert_equal('158205.41', f.col_A_line_8)
401
+ assert_equal('0.00', f.col_A_line_9)
402
+ assert_equal('0.00', f.col_A_line_10)
403
+ assert_equal('54133.97', f.col_A_line_11ai)
404
+ assert_equal('2762.00', f.col_A_line_11aii)
405
+ assert_equal('56895.97', f.col_A_line_11aiii)
406
+ assert_equal('0.00', f.col_A_line_11b)
407
+ assert_equal('61492.85', f.col_A_line_11c)
408
+ assert_equal('0.00', f.col_A_line_11d)
409
+ assert_equal('118388.82', f.col_A_line_11e)
410
+ assert_equal('0.00', f.col_A_line_12)
411
+ assert_equal('0.00', f.col_A_line_13a)
412
+ assert_equal('0.00', f.col_A_line_13b)
413
+ assert_equal('0.00', f.col_A_line_13c)
414
+ assert_equal('0.00', f.col_A_line_14)
415
+ assert_equal('55.10', f.col_A_line_15)
416
+ assert_equal('118443.92', f.col_A_line_16)
417
+ assert_equal('70471.56', f.col_A_line_17)
418
+ assert_equal('0.00', f.col_A_line_18)
419
+ assert_equal('0.00', f.col_A_line_19a)
420
+ assert_equal('0.00', f.col_A_line_19b)
421
+ assert_equal('0.00', f.col_A_line_19c)
422
+ assert_equal('0.00', f.col_A_line_20a)
423
+ assert_equal('0.00', f.col_A_line_20b)
424
+ assert_equal('0.00', f.col_A_line_20c)
425
+ assert_equal('0.00', f.col_A_line_20d)
426
+ assert_equal('9196.00', f.col_A_line_21)
427
+ assert_equal('79667.56', f.col_A_line_22)
428
+ assert_equal('119429.05', f.col_A_line_23)
429
+ assert_equal('118443.92', f.col_A_line_24)
430
+ assert_equal('237872.97', f.col_A_line_25)
431
+ assert_equal('79667.56', f.col_A_line_26)
432
+ assert_equal('158205.41', f.col_A_line_27)
433
+
434
+ assert_equal('124890.12', f.col_B_line_6a)
435
+ assert_equal('0.00', f.col_B_line_6b)
436
+ assert_equal('124890.12', f.col_B_line_6c)
437
+ assert_equal('142967.22', f.col_B_line_7a)
438
+ assert_equal('438.95', f.col_B_line_7b)
439
+ assert_equal('142528.27', f.col_B_line_7c)
440
+ #assert_equal(' ', f.col_B_line_11ai)
441
+ #assert_equal(' ', f.col_B_line_11aii)
442
+ assert_equal('59546.77', f.col_B_line_11aiii)
443
+ assert_equal('0.00', f.col_B_line_11b)
444
+ assert_equal('65343.35', f.col_B_line_11c)
445
+ assert_equal('0.00', f.col_B_line_11d)
446
+ assert_equal('124890.12', f.col_B_line_11e)
447
+ assert_equal('0.00', f.col_B_line_12)
448
+ assert_equal('0.00', f.col_B_line_13a)
449
+ assert_equal('0.00', f.col_B_line_13b)
450
+ assert_equal('0.00', f.col_B_line_13c)
451
+ assert_equal('438.95', f.col_B_line_14)
452
+ assert_equal('106.20', f.col_B_line_15)
453
+ assert_equal('125435.27', f.col_B_line_16)
454
+ assert_equal('142967.22', f.col_B_line_17)
455
+ assert_equal('0.00', f.col_B_line_18)
456
+ assert_equal('0.00', f.col_B_line_19a)
457
+ assert_equal('', f.col_B_line_19b)
458
+ assert_equal('0.00', f.col_B_line_19c)
459
+ assert_equal('0.00', f.col_B_line_20a)
460
+ assert_equal('0.00', f.col_B_line_20b)
461
+ assert_equal('0.00', f.col_B_line_20c)
462
+ assert_equal('0.00', f.col_B_line_20d)
463
+ assert_equal('11196.00', f.col_B_line_21)
464
+ assert_equal('154163.22', f.col_B_line_22)
465
+ break
466
+ end
467
+ end
468
+
469
+ end
470
+
471
+ def test_v53
472
+ h = FECHell.new
473
+
474
+ fec_version,original_form_type, form_type, values = h.header_lines(@testfiles["5.3"])
475
+
476
+ h.process(@testfiles["5.3"]) do |line|
477
+ schedule = line[0]
478
+ values = line[1]
479
+
480
+ f = FECForm.schedule_for(schedule, fec_version, values)
481
+
482
+ if schedule == "F3"
483
+ assert_equal("C00414391", f.committee_fecid)
484
+ assert_equal("", f.change_of_address)
485
+ assert_equal("Carney for Congress", f.committee_name)
486
+
487
+ assert_equal("PO Box 38", f.street_1)
488
+ assert_equal("", f.street_2)
489
+ assert_equal("Dimock", f.city)
490
+ assert_equal("PA", f.state)
491
+ assert_equal("18816", f.zip)
492
+
493
+ assert_equal("PA", f.election_state)
494
+ assert_equal("10", f.election_district)
495
+
496
+ assert_equal("YE", f.report_code)
497
+
498
+ assert_equal("", f.election_code)
499
+
500
+ assert_equal("", f.date_of_election)
501
+ assert_equal("", f.state_of_election)
502
+ assert_equal("20051001", f.date_from_coverage)
503
+ assert_equal("20051231", f.date_through_coverage)
504
+ assert_equal("20050412", f.date_signed)
505
+
506
+ assert_equal('65976.81', f.col_A_line_6a)
507
+ assert_equal('0.00', f.col_A_line_6b)
508
+ assert_equal('65976.81', f.col_A_line_6c)
509
+ assert_equal('4180.99', f.col_A_line_7a)
510
+ assert_equal('0.00', f.col_A_line_7b)
511
+ assert_equal('4180.99', f.col_A_line_7c)
512
+ assert_equal('71926.13', f.col_A_line_8)
513
+ assert_equal('0.00', f.col_A_line_9)
514
+ assert_equal('2222.00', f.col_A_line_10)
515
+ assert_equal('50215.49', f.col_A_line_11ai)
516
+ assert_equal('13632.50', f.col_A_line_11aii)
517
+ assert_equal('63847.99', f.col_A_line_11aiii)
518
+ assert_equal('1550.00', f.col_A_line_11b)
519
+ assert_equal('578.82', f.col_A_line_11c)
520
+ assert_equal('0.00', f.col_A_line_11d)
521
+ assert_equal('65976.81', f.col_A_line_11e)
522
+ assert_equal('0.00', f.col_A_line_12)
523
+ assert_equal('0.00', f.col_A_line_13a)
524
+ assert_equal('0.00', f.col_A_line_13b)
525
+ assert_equal('0.00', f.col_A_line_13c)
526
+ assert_equal('0.00', f.col_A_line_14)
527
+ assert_equal('0.00', f.col_A_line_15)
528
+ assert_equal('65976.81', f.col_A_line_16)
529
+ assert_equal('4180.99', f.col_A_line_17)
530
+ assert_equal('0.00', f.col_A_line_18)
531
+ assert_equal('0.00', f.col_A_line_19a)
532
+ assert_equal('0.00', f.col_A_line_19b)
533
+ assert_equal('0.00', f.col_A_line_19c)
534
+ assert_equal('0.00', f.col_A_line_20a)
535
+ assert_equal('0.00', f.col_A_line_20b)
536
+ assert_equal('0.00', f.col_A_line_20c)
537
+ assert_equal('0.00', f.col_A_line_20d)
538
+ assert_equal('5857.33', f.col_A_line_21)
539
+ assert_equal('10038.32', f.col_A_line_22)
540
+ assert_equal('15987.64', f.col_A_line_23)
541
+ assert_equal('65976.81', f.col_A_line_24)
542
+ assert_equal('81964.45', f.col_A_line_25)
543
+ assert_equal('10038.32', f.col_A_line_26)
544
+ assert_equal('71926.13', f.col_A_line_27)
545
+
546
+ assert_equal('87501.50', f.col_B_line_6a)
547
+ assert_equal('0.00', f.col_B_line_6b)
548
+ assert_equal('87501.50', f.col_B_line_6c)
549
+ assert_equal('9718.04', f.col_B_line_7a)
550
+ assert_equal('0.00', f.col_B_line_7b)
551
+ assert_equal('9718.04', f.col_B_line_7c)
552
+ #assert_equal(' ', f.col_B_line_11ai)
553
+ #assert_equal(' ', f.col_B_line_11aii)
554
+ assert_equal('85372.68', f.col_B_line_11aiii)
555
+ assert_equal('1550.00', f.col_B_line_11b)
556
+ assert_equal('578.82', f.col_B_line_11c)
557
+ assert_equal('0.00', f.col_B_line_11d)
558
+ assert_equal('87501.50', f.col_B_line_11e)
559
+ assert_equal('0.00', f.col_B_line_12)
560
+ assert_equal('0.00', f.col_B_line_13a)
561
+ assert_equal('0.00', f.col_B_line_13b)
562
+ assert_equal('0.00', f.col_B_line_13c)
563
+ assert_equal('0.00', f.col_B_line_14)
564
+ assert_equal('0.00', f.col_B_line_15)
565
+ assert_equal('87501.50', f.col_B_line_16)
566
+ assert_equal('9718.04', f.col_B_line_17)
567
+ assert_equal('0.00', f.col_B_line_18)
568
+ assert_equal('0.00', f.col_B_line_19a)
569
+ assert_equal('0.00', f.col_B_line_19b)
570
+ assert_equal('0.00', f.col_B_line_19c)
571
+ assert_equal('0.00', f.col_B_line_20a)
572
+ assert_equal('0.00', f.col_B_line_20b)
573
+ assert_equal('0.00', f.col_B_line_20c)
574
+ assert_equal('0.00', f.col_B_line_20d)
575
+ assert_equal('5857.33', f.col_B_line_21)
576
+ assert_equal('15575.37', f.col_B_line_22)
577
+ break
578
+ end
579
+ end
580
+
581
+ end
582
+
583
+ def test_v61
584
+ h = FECHell.new
585
+
586
+ fec_version,original_form_type, form_type, values = h.header_lines(@testfiles["6.1"])
587
+
588
+ h.process(@testfiles["6.1"]) do |line|
589
+ schedule = line[0]
590
+ values = line[1]
591
+
592
+ f = FECForm.schedule_for(schedule, fec_version, values)
593
+
594
+ if schedule == "F3"
595
+ assert_equal("C00417501", f.committee_fecid)
596
+ assert_equal("", f.change_of_address)
597
+ assert_equal("Dan Seals for Congress", f.committee_name)
598
+
599
+ assert_equal("P.O. Box 584", f.street_1)
600
+ assert_equal("", f.street_2)
601
+ assert_equal("Wilmette", f.city)
602
+ assert_equal("IL", f.state)
603
+ assert_equal("60091", f.zip)
604
+
605
+ assert_equal("IL", f.election_state)
606
+ assert_equal("10", f.election_district)
607
+
608
+ assert_equal("Q1", f.report_code)
609
+
610
+ assert_equal("", f.election_code)
611
+
612
+ assert_equal("", f.date_of_election)
613
+ assert_equal("", f.state_of_election)
614
+ assert_equal("20080117", f.date_from_coverage)
615
+ assert_equal("20080331", f.date_through_coverage)
616
+ assert_equal("20080415", f.date_signed)
617
+
618
+ assert_equal('513641.11', f.col_A_line_6a)
619
+ assert_equal('150.00', f.col_A_line_6b)
620
+ assert_equal('513491.11', f.col_A_line_6c)
621
+ assert_equal('398842.37', f.col_A_line_7a)
622
+ assert_equal('0.00', f.col_A_line_7b)
623
+ assert_equal('398842.37', f.col_A_line_7c)
624
+ assert_equal('745275.11', f.col_A_line_8)
625
+ assert_equal('0.00', f.col_A_line_9)
626
+ assert_equal('0.00', f.col_A_line_10)
627
+ assert_equal('384661.25', f.col_A_line_11ai)
628
+ assert_equal('42954.86', f.col_A_line_11aii)
629
+ assert_equal('427616.11', f.col_A_line_11aiii)
630
+ assert_equal('0.00', f.col_A_line_11b)
631
+ assert_equal('86025.00', f.col_A_line_11c)
632
+ assert_equal('0.00', f.col_A_line_11d)
633
+ assert_equal('513641.11', f.col_A_line_11e)
634
+ assert_equal('0.00', f.col_A_line_12)
635
+ assert_equal('0.00', f.col_A_line_13a)
636
+ assert_equal('0.00', f.col_A_line_13b)
637
+ assert_equal('0.00', f.col_A_line_13c)
638
+ assert_equal('0.00', f.col_A_line_14)
639
+ assert_equal('3458.79', f.col_A_line_15)
640
+ assert_equal('517099.90', f.col_A_line_16)
641
+ assert_equal('398842.37', f.col_A_line_17)
642
+ assert_equal('0.00', f.col_A_line_18)
643
+ assert_equal('0.00', f.col_A_line_19a)
644
+ assert_equal('0.00', f.col_A_line_19b)
645
+ assert_equal('0.00', f.col_A_line_19c)
646
+ assert_equal('150.00', f.col_A_line_20a)
647
+ assert_equal('0.00', f.col_A_line_20b)
648
+ assert_equal('0.00', f.col_A_line_20c)
649
+ assert_equal('150.00', f.col_A_line_20d)
650
+ assert_equal('0.00', f.col_A_line_21)
651
+ assert_equal('398992.37', f.col_A_line_22)
652
+ assert_equal('627167.58', f.col_A_line_23)
653
+ assert_equal('517099.90', f.col_A_line_24)
654
+ assert_equal('1144267.48', f.col_A_line_25)
655
+ assert_equal('398992.37', f.col_A_line_26)
656
+ assert_equal('745275.11', f.col_A_line_27)
657
+
658
+ assert_equal('1418403.38', f.col_B_line_6a)
659
+ assert_equal('7250.00', f.col_B_line_6b)
660
+ assert_equal('1411153.38', f.col_B_line_6c)
661
+ assert_equal('782026.14', f.col_B_line_7a)
662
+ assert_equal('3082.41', f.col_B_line_7b)
663
+ assert_equal('778943.73', f.col_B_line_7c)
664
+ #assert_equal(' ', f.col_B_line_11ai)
665
+ #assert_equal(' ', f.col_B_line_11aii)
666
+ assert_equal('1272678.38', f.col_B_line_11aiii)
667
+ assert_equal('0.00', f.col_B_line_11b)
668
+ assert_equal('145725.00', f.col_B_line_11c)
669
+ assert_equal('0.00', f.col_B_line_11d)
670
+ assert_equal('1418403.38', f.col_B_line_11e)
671
+ assert_equal('0.00', f.col_B_line_12)
672
+ assert_equal('0.00', f.col_B_line_13a)
673
+ assert_equal('0.00', f.col_B_line_13b)
674
+ assert_equal('0.00', f.col_B_line_13c)
675
+ assert_equal('3082.41', f.col_B_line_14)
676
+ assert_equal('8825.04', f.col_B_line_15)
677
+ assert_equal('1430310.83', f.col_B_line_16)
678
+ assert_equal('782026.14', f.col_B_line_17)
679
+ assert_equal('0.00', f.col_B_line_18)
680
+ assert_equal('0.00', f.col_B_line_19a)
681
+ assert_equal('0.00', f.col_B_line_19b)
682
+ assert_equal('0.00', f.col_B_line_19c)
683
+ assert_equal('7250.00', f.col_B_line_20a)
684
+ assert_equal('0.00', f.col_B_line_20b)
685
+ assert_equal('0.00', f.col_B_line_20c)
686
+ assert_equal('7250.00', f.col_B_line_20d)
687
+ assert_equal('800.00', f.col_B_line_21)
688
+ assert_equal('790076.14', f.col_B_line_22)
689
+ break
690
+ end
691
+ end
692
+
693
+ end
694
+
695
+ def test_v62
696
+ h = FECHell.new
697
+
698
+ fec_version,original_form_type, form_type, values = h.header_lines(@testfiles["6.2"])
699
+
700
+ h.process(@testfiles["6.2"]) do |line|
701
+ schedule = line[0]
702
+ values = line[1]
703
+
704
+ f = FECForm.schedule_for(schedule, fec_version, values)
705
+
706
+ if schedule == "F3"
707
+ assert_equal("C00435974", f.committee_fecid)
708
+ assert_equal("", f.change_of_address)
709
+ assert_equal("Andy Harris for Congress", f.committee_name)
710
+
711
+ assert_equal("PO Box 1527", f.street_1)
712
+ assert_equal("", f.street_2)
713
+ assert_equal("Annapolis", f.city)
714
+ assert_equal("MD", f.state)
715
+ assert_equal("21404", f.zip)
716
+
717
+ assert_equal("MD", f.election_state)
718
+ assert_equal("01", f.election_district)
719
+
720
+ assert_equal("Q2", f.report_code)
721
+
722
+ assert_equal("", f.election_code)
723
+
724
+ assert_equal("", f.date_of_election)
725
+ assert_equal("", f.state_of_election)
726
+ assert_equal("20080401", f.date_from_coverage)
727
+ assert_equal("20080630", f.date_through_coverage)
728
+ assert_equal("20080715", f.date_signed)
729
+
730
+ assert_equal('431550.58', f.col_A_line_6a)
731
+ assert_equal('0.00', f.col_A_line_6b)
732
+ assert_equal('431550.58', f.col_A_line_6c)
733
+ assert_equal('112171.06', f.col_A_line_7a)
734
+ assert_equal('0.00', f.col_A_line_7b)
735
+ assert_equal('112171.06', f.col_A_line_7c)
736
+ assert_equal('609482.95', f.col_A_line_8)
737
+ assert_equal('0.00', f.col_A_line_9)
738
+ assert_equal('103500.00', f.col_A_line_10)
739
+ assert_equal('221975.17', f.col_A_line_11ai)
740
+ assert_equal('54421.94', f.col_A_line_11aii)
741
+ assert_equal('276397.11', f.col_A_line_11aiii)
742
+ assert_equal('5000.00', f.col_A_line_11b)
743
+ assert_equal('150153.47', f.col_A_line_11c)
744
+ assert_equal('0.00', f.col_A_line_11d)
745
+ assert_equal('431550.58', f.col_A_line_11e)
746
+ assert_equal('0.00', f.col_A_line_12)
747
+ assert_equal('100000.00', f.col_A_line_13a)
748
+ assert_equal('0.00', f.col_A_line_13b)
749
+ assert_equal('100000.00', f.col_A_line_13c)
750
+ assert_equal('0.00', f.col_A_line_14)
751
+ assert_equal('915.23', f.col_A_line_15)
752
+ assert_equal('532465.81', f.col_A_line_16)
753
+ assert_equal('112171.06', f.col_A_line_17)
754
+ assert_equal('0.00', f.col_A_line_18)
755
+ assert_equal('16500.00', f.col_A_line_19a)
756
+ assert_equal('0.00', f.col_A_line_19b)
757
+ assert_equal('16500.00', f.col_A_line_19c)
758
+ assert_equal('0.00', f.col_A_line_20a)
759
+ assert_equal('0.00', f.col_A_line_20b)
760
+ assert_equal('0.00', f.col_A_line_20c)
761
+ assert_equal('0.00', f.col_A_line_20d)
762
+ assert_equal('0.00', f.col_A_line_21)
763
+ assert_equal('128671.06', f.col_A_line_22)
764
+ assert_equal('205688.20', f.col_A_line_23)
765
+ assert_equal('532465.81', f.col_A_line_24)
766
+ assert_equal('738154.01', f.col_A_line_25)
767
+ assert_equal('128671.06', f.col_A_line_26)
768
+ assert_equal('609482.95', f.col_A_line_27)
769
+
770
+ assert_equal('1905305.42', f.col_B_line_6a)
771
+ assert_equal('2010.00', f.col_B_line_6b)
772
+ assert_equal('1903295.42', f.col_B_line_6c)
773
+ assert_equal('1401715.88', f.col_B_line_7a)
774
+ assert_equal('0.00', f.col_B_line_7b)
775
+ assert_equal('1401715.88', f.col_B_line_7c)
776
+ #assert_equal(' ', f.col_B_line_11ai)
777
+ #assert_equal(' ', f.col_B_line_11aii)
778
+ assert_equal('1543847.95', f.col_B_line_11aiii)
779
+ assert_equal('5350.00', f.col_B_line_11b)
780
+ assert_equal('356107.47', f.col_B_line_11c)
781
+ assert_equal('0.00', f.col_B_line_11d)
782
+ assert_equal('1905305.42', f.col_B_line_11e)
783
+ assert_equal('0.00', f.col_B_line_12)
784
+ assert_equal('122000.00', f.col_B_line_13a)
785
+ assert_equal('0.00', f.col_B_line_13b)
786
+ assert_equal('122000.00', f.col_B_line_13c)
787
+ assert_equal('0.00', f.col_B_line_14)
788
+ assert_equal('4403.41', f.col_B_line_15)
789
+ assert_equal('2031708.83', f.col_B_line_16)
790
+ assert_equal('1401715.88', f.col_B_line_17)
791
+ assert_equal('0.00', f.col_B_line_18)
792
+ assert_equal('18500.00', f.col_B_line_19a)
793
+ assert_equal('0.00', f.col_B_line_19b)
794
+ assert_equal('18500.00', f.col_B_line_19c)
795
+ assert_equal('2010.00', f.col_B_line_20a)
796
+ assert_equal('0.00', f.col_B_line_20b)
797
+ assert_equal('0.00', f.col_B_line_20c)
798
+ assert_equal('2010.00', f.col_B_line_20d)
799
+ assert_equal('0.00', f.col_B_line_21)
800
+ assert_equal('1422225.88', f.col_B_line_22)
801
+ break
802
+ end
803
+ end
804
+
805
+ end
806
+
807
+
808
+ def test_v64
809
+ h = FECHell.new
810
+
811
+ fec_version,original_form_type, form_type, values = h.header_lines(@testfiles["6.4"])
812
+
813
+ h.process(@testfiles["6.4"]) do |line|
814
+ schedule = line[0]
815
+ values = line[1]
816
+
817
+ f = FECForm.schedule_for(schedule, fec_version, values)
818
+
819
+ if schedule == "F3"
820
+ assert_equal("C00128868", f.committee_fecid)
821
+ assert_equal("", f.change_of_address)
822
+ assert_equal("Barney Frank for Congress Committee", f.committee_name)
823
+
824
+ assert_equal("PO Box 260", f.street_1)
825
+ assert_equal("", f.street_2)
826
+ assert_equal("Newtonville", f.city)
827
+ assert_equal("MA", f.state)
828
+ assert_equal("024600003", f.zip)
829
+
830
+ assert_equal("MA", f.election_state)
831
+ assert_equal("04", f.election_district)
832
+
833
+ assert_equal("Q2", f.report_code)
834
+
835
+ assert_equal("", f.election_code)
836
+
837
+ assert_equal("", f.date_of_election)
838
+ assert_equal("", f.state_of_election)
839
+ assert_equal("20090401", f.date_from_coverage)
840
+ assert_equal("20090630", f.date_through_coverage)
841
+ assert_equal("20090715", f.date_signed)
842
+
843
+
844
+ assert_equal('620622.78', f.col_A_line_6a)
845
+ assert_equal('4800.00', f.col_A_line_6b)
846
+ assert_equal('615822.78', f.col_A_line_6c)
847
+ assert_equal('219177.41', f.col_A_line_7a)
848
+ assert_equal('353.35', f.col_A_line_7b)
849
+ assert_equal('218824.06', f.col_A_line_7c)
850
+ assert_equal('403878.66', f.col_A_line_8)
851
+ assert_equal('0.00', f.col_A_line_9)
852
+ assert_equal('0.00', f.col_A_line_10)
853
+ assert_equal('353490.00', f.col_A_line_11ai)
854
+ assert_equal('71557.78', f.col_A_line_11aii)
855
+ assert_equal('425047.78', f.col_A_line_11aiii)
856
+ assert_equal('0.00', f.col_A_line_11b)
857
+ assert_equal('195575.00', f.col_A_line_11c)
858
+ assert_equal('0.00', f.col_A_line_11d)
859
+ assert_equal('620622.78', f.col_A_line_11e)
860
+ assert_equal('0.00', f.col_A_line_12)
861
+ assert_equal('0.00', f.col_A_line_13a)
862
+ assert_equal('0.00', f.col_A_line_13b)
863
+ assert_equal('0.00', f.col_A_line_13c)
864
+ assert_equal('353.35', f.col_A_line_14)
865
+ assert_equal('0.00', f.col_A_line_15)
866
+ assert_equal('620976.13', f.col_A_line_16)
867
+ assert_equal('219177.41', f.col_A_line_17)
868
+ assert_equal('0.00', f.col_A_line_18)
869
+ assert_equal('0.00', f.col_A_line_19a)
870
+ assert_equal('0.00', f.col_A_line_19b)
871
+ assert_equal('0.00', f.col_A_line_19c)
872
+ assert_equal('4800.00', f.col_A_line_20a)
873
+ assert_equal('0.00', f.col_A_line_20b)
874
+ assert_equal('0.00', f.col_A_line_20c)
875
+ assert_equal('4800.00', f.col_A_line_20d)
876
+ assert_equal('150000.00', f.col_A_line_21)
877
+ assert_equal('373977.41', f.col_A_line_22)
878
+ assert_equal('156879.94', f.col_A_line_23)
879
+ assert_equal('620976.13', f.col_A_line_24)
880
+ assert_equal('777856.07', f.col_A_line_25)
881
+ assert_equal('373977.41', f.col_A_line_26)
882
+ assert_equal('403878.66', f.col_A_line_27)
883
+
884
+ assert_equal('827763.35', f.col_B_line_6a)
885
+ assert_equal('20400.00', f.col_B_line_6b)
886
+ assert_equal('807363.35', f.col_B_line_6c)
887
+ assert_equal('401685.46', f.col_B_line_7a)
888
+ assert_equal('1825.85', f.col_B_line_7b)
889
+ assert_equal('399859.61', f.col_B_line_7c)
890
+ #assert_equal(' ', f.col_B_line_11ai)
891
+ #assert_equal(' ', f.col_B_line_11aii)
892
+ assert_equal('573613.97', f.col_B_line_11aiii)
893
+ assert_equal('0.00', f.col_B_line_11b)
894
+ assert_equal('254149.38', f.col_B_line_11c)
895
+ assert_equal('0.00', f.col_B_line_11d)
896
+ assert_equal('827763.35', f.col_B_line_11e)
897
+ assert_equal('0.00', f.col_B_line_12)
898
+ assert_equal('0.00', f.col_B_line_13a)
899
+ assert_equal('0.00', f.col_B_line_13b)
900
+ assert_equal('0.00', f.col_B_line_13c)
901
+ assert_equal('1825.85', f.col_B_line_14)
902
+ assert_equal('0.00', f.col_B_line_15)
903
+ assert_equal('829589.20', f.col_B_line_16)
904
+ assert_equal('401685.46', f.col_B_line_17)
905
+ assert_equal('0.00', f.col_B_line_18)
906
+ assert_equal('95000.00', f.col_B_line_19a)
907
+ assert_equal('0.00', f.col_B_line_19b)
908
+ assert_equal('95000.00', f.col_B_line_19c)
909
+ assert_equal('9400.00', f.col_B_line_20a)
910
+ assert_equal('0.00', f.col_B_line_20b)
911
+ assert_equal('11000.00', f.col_B_line_20c)
912
+ assert_equal('20400.00', f.col_B_line_20d)
913
+ assert_equal('204000.00', f.col_B_line_21)
914
+ assert_equal('721085.46', f.col_B_line_22)
915
+ break
916
+ end
917
+ end
918
+
919
+ end
920
+
921
+ def test_v63
922
+ h = FECHell.new
923
+
924
+ fec_version,original_form_type, form_type, values = h.header_lines(@testfiles["6.3"])
925
+
926
+ h.process(@testfiles["6.3"]) do |line|
927
+ schedule = line[0]
928
+ values = line[1]
929
+
930
+ f = FECForm.schedule_for(schedule, fec_version, values)
931
+
932
+ if schedule == "F3"
933
+ assert_equal("C00458190", f.committee_fecid)
934
+ assert_equal("", f.change_of_address)
935
+ assert_equal("Fritchey for Us", f.committee_name)
936
+
937
+ assert_equal("2539 N Southport Ave", f.street_1)
938
+ assert_equal("", f.street_2)
939
+ assert_equal("Chicago", f.city)
940
+ assert_equal("IL", f.state)
941
+ assert_equal("60614", f.zip)
942
+
943
+ assert_equal("IL", f.election_state)
944
+ assert_equal("05", f.election_district)
945
+
946
+ assert_equal("Q1", f.report_code)
947
+
948
+ assert_equal("", f.election_code)
949
+
950
+ assert_equal("", f.date_of_election)
951
+ assert_equal("", f.state_of_election)
952
+ assert_equal("20090212", f.date_from_coverage)
953
+ assert_equal("20090331", f.date_through_coverage)
954
+ assert_equal("20090415", f.date_signed)
955
+
956
+
957
+ assert_equal('304142.66', f.col_A_line_6a)
958
+ assert_equal('27500.00', f.col_A_line_6b)
959
+ assert_equal('276642.66', f.col_A_line_6c)
960
+ assert_equal('665545.36', f.col_A_line_7a)
961
+ assert_equal('2930.50', f.col_A_line_7b)
962
+ assert_equal('662614.86', f.col_A_line_7c)
963
+ assert_equal('11060.00', f.col_A_line_8)
964
+ assert_equal('0.00', f.col_A_line_9)
965
+ assert_equal('15962.48', f.col_A_line_10)
966
+ assert_equal('214780.00', f.col_A_line_11ai)
967
+ assert_equal('17618.00', f.col_A_line_11aii)
968
+ assert_equal('232398.00', f.col_A_line_11aiii)
969
+ assert_equal('0.00', f.col_A_line_11b)
970
+ assert_equal('66944.66', f.col_A_line_11c)
971
+ assert_equal('4800.00', f.col_A_line_11d)
972
+ assert_equal('304142.66', f.col_A_line_11e)
973
+ assert_equal('0.00', f.col_A_line_12)
974
+ assert_equal('0.00', f.col_A_line_13a)
975
+ assert_equal('0.00', f.col_A_line_13b)
976
+ assert_equal('0.00', f.col_A_line_13c)
977
+ assert_equal('2930.50', f.col_A_line_14)
978
+ assert_equal('8.68', f.col_A_line_15)
979
+ assert_equal('307081.84', f.col_A_line_16)
980
+ assert_equal('665545.36', f.col_A_line_17)
981
+ assert_equal('0.00', f.col_A_line_18)
982
+ assert_equal('0.00', f.col_A_line_19a)
983
+ assert_equal('0.00', f.col_A_line_19b)
984
+ assert_equal('0.00', f.col_A_line_19c)
985
+ assert_equal('24500.00', f.col_A_line_20a)
986
+ assert_equal('0.00', f.col_A_line_20b)
987
+ assert_equal('3000.00', f.col_A_line_20c)
988
+ assert_equal('27500.00', f.col_A_line_20d)
989
+ assert_equal('0.00', f.col_A_line_21)
990
+ assert_equal('693045.36', f.col_A_line_22)
991
+ assert_equal('397023.52', f.col_A_line_23)
992
+ assert_equal('307081.84', f.col_A_line_24)
993
+ assert_equal('704105.36', f.col_A_line_25)
994
+ assert_equal('693045.36', f.col_A_line_26)
995
+ assert_equal('11060.00', f.col_A_line_27)
996
+
997
+ assert_equal('758452.66', f.col_B_line_6a)
998
+ assert_equal('34000.00', f.col_B_line_6b)
999
+ assert_equal('724452.66', f.col_B_line_6c)
1000
+ assert_equal('716269.90', f.col_B_line_7a)
1001
+ assert_equal('2930.50', f.col_B_line_7b)
1002
+ assert_equal('713339.40', f.col_B_line_7c)
1003
+ #assert_equal(' ', f.col_B_line_11ai)
1004
+ #assert_equal(' ', f.col_B_line_11aii)
1005
+ assert_equal('634958.00', f.col_B_line_11aiii)
1006
+ assert_equal('0.00', f.col_B_line_11b)
1007
+ assert_equal('118694.66', f.col_B_line_11c)
1008
+ assert_equal('4800.00', f.col_B_line_11d)
1009
+ assert_equal('758452.66', f.col_B_line_11e)
1010
+ assert_equal('0.00', f.col_B_line_12)
1011
+ assert_equal('0.00', f.col_B_line_13a)
1012
+ assert_equal('0.00', f.col_B_line_13b)
1013
+ assert_equal('0.00', f.col_B_line_13c)
1014
+ assert_equal('2930.50', f.col_B_line_14)
1015
+ assert_equal('11.74', f.col_B_line_15)
1016
+ assert_equal('761394.90', f.col_B_line_16)
1017
+ assert_equal('716269.90', f.col_B_line_17)
1018
+ assert_equal('0.00', f.col_B_line_18)
1019
+ assert_equal('0.00', f.col_B_line_19a)
1020
+ assert_equal('0.00', f.col_B_line_19b)
1021
+ assert_equal('0.00', f.col_B_line_19c)
1022
+ assert_equal('26900.00', f.col_B_line_20a)
1023
+ assert_equal('0.00', f.col_B_line_20b)
1024
+ assert_equal('7100.00', f.col_B_line_20c)
1025
+ assert_equal('34000.00', f.col_B_line_20d)
1026
+ assert_equal('65.00', f.col_B_line_21)
1027
+ assert_equal('750334.90', f.col_B_line_22)
1028
+ break
1029
+ end
1030
+ end
1031
+
1032
+ end
1033
+ end
1034
+
1035
+ Test::Unit::UI::Console::TestRunner.run(TC_FECTestForm3)