red-datasets 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -0
  3. data/Rakefile +10 -0
  4. data/doc/text/news.md +29 -0
  5. data/lib/datasets/california-housing.rb +1 -1
  6. data/lib/datasets/dataset.rb +2 -2
  7. data/lib/datasets/downloader.rb +34 -16
  8. data/lib/datasets/fashion-mnist.rb +6 -2
  9. data/lib/datasets/ggplot2-dataset.rb +3 -3
  10. data/lib/datasets/house-of-councillor.rb +169 -0
  11. data/lib/datasets/house-of-representative.rb +107 -0
  12. data/lib/datasets/japanese-date-parser.rb +38 -0
  13. data/lib/datasets/kuzushiji-mnist.rb +6 -2
  14. data/lib/datasets/lazy.rb +2 -0
  15. data/lib/datasets/libsvm-dataset-list.rb +1 -1
  16. data/lib/datasets/mnist.rb +12 -6
  17. data/lib/datasets/nagoya-university-conversation-corpus.rb +2 -2
  18. data/lib/datasets/postal-code-japan.rb +3 -3
  19. data/lib/datasets/quora-duplicate-question-pair.rb +1 -1
  20. data/lib/datasets/version.rb +1 -1
  21. data/lib/datasets/wikipedia-kyoto-japanese-english.rb +2 -2
  22. data/lib/datasets/wikipedia.rb +2 -2
  23. data/test/japanese-date-parser-test.rb +27 -0
  24. data/test/test-adult.rb +36 -86
  25. data/test/test-aozora-bunko.rb +5 -5
  26. data/test/test-california-housing.rb +12 -31
  27. data/test/test-cldr-plurals.rb +1 -1
  28. data/test/test-diamonds.rb +13 -33
  29. data/test/test-downloader.rb +1 -1
  30. data/test/test-geolonia.rb +17 -41
  31. data/test/test-house-of-councillor.rb +223 -0
  32. data/test/test-house-of-representative.rb +54 -0
  33. data/test/test-nagoya-university-conversation-corpus.rb +17 -69
  34. data/test/test-postal-code-japan.rb +7 -0
  35. data/test/test-quora-duplicate-question-pair.rb +7 -21
  36. data/test/test-rdataset.rb +24 -22
  37. data/test/test-sudachi-synonym-dictionary.rb +12 -31
  38. data/test/test-wikipedia.rb +5 -5
  39. metadata +12 -6
@@ -43,7 +43,7 @@ module Datasets
43
43
  data_path = cache_dir_path + "quora_duplicate_questions.tsv"
44
44
  data_url = "https://qim.fs.quoracdn.net/quora_duplicate_questions.tsv"
45
45
  download(data_path, data_url)
46
- CSV.open(data_path, col_sep: "\t", headers: true, converters: :all) do |csv|
46
+ CSV.open(data_path, col_sep: "\t", headers: true, converters: :integer) do |csv|
47
47
  yield(csv)
48
48
  end
49
49
  end
@@ -1,3 +1,3 @@
1
1
  module Datasets
2
- VERSION = "0.1.7"
2
+ VERSION = "0.1.8"
3
3
  end
@@ -126,7 +126,7 @@ articles (related to Kyoto) into English.
126
126
  @sentence = nil
127
127
  @text_container_stack = []
128
128
  @element_stack = []
129
- @text_stack = [""]
129
+ @text_stack = [+""]
130
130
  end
131
131
 
132
132
  def tag_start(name, attributes)
@@ -207,7 +207,7 @@ articles (related to Kyoto) into English.
207
207
  private
208
208
  def push_stacks(name, attributes)
209
209
  @element_stack.push({name: name, attributes: attributes})
210
- @text_stack.push("")
210
+ @text_stack.push(+"")
211
211
  end
212
212
 
213
213
  def pop_stacks
@@ -90,7 +90,7 @@ module Datasets
90
90
  @contributor = nil
91
91
  @current_tag = nil
92
92
  @tag_stack = []
93
- @text_stack = [""]
93
+ @text_stack = [+""]
94
94
  @first_page = true
95
95
  end
96
96
 
@@ -172,7 +172,7 @@ module Datasets
172
172
 
173
173
  def push_stacks(tag)
174
174
  @tag_stack << tag
175
- @text_stack << ""
175
+ @text_stack << +""
176
176
  end
177
177
 
178
178
  def pop_stacks
@@ -0,0 +1,27 @@
1
+ class JapaneseDateParserTest < Test::Unit::TestCase
2
+ def setup
3
+ @parser = Datasets::JapaneseDateParser.new
4
+ end
5
+
6
+ data("month and day with leading a space in Heisei", ["H10.01.01", "平成10年 1月 1日"])
7
+ data("month with leading a space in Heisei", ["H10.01.10", "平成10年 1月10日"])
8
+ data(" day with leading a space in Heisei", ["H10.10.01", "平成10年10月 1日"])
9
+ data(" without leading a space in Heisei", ["H10.10.10", "平成10年10月10日"])
10
+ data("year, month and day with leading a space in Reiwa", ["R02.01.01", "令和 2年 1月 1日"])
11
+ data("year, month with leading a space in Reiwa", ["R02.01.10", "令和 2年 1月10日"])
12
+ data("year, day with leading a space in Reiwa", ["R02.10.01", "令和 2年10月 1日"])
13
+ data("year, without leading a space in Reiwa", ["R02.10.10", "令和 2年10月10日"])
14
+ data("boundary within Heisei", ["H31.04.30", "平成31年 4月30日"])
15
+ data("boundary within Reiwa", ["R01.05.01", "令和元年 5月 1日"])
16
+ test("#parse") do
17
+ expected_jisx0301, japanese_date_string = data
18
+ assert_equal(expected_jisx0301, @parser.parse(japanese_date_string).jisx0301)
19
+ end
20
+
21
+ test("unsupported era initial range") do
22
+ expected_message = "era must be one of [平成, 令和]: 昭和"
23
+ assert_raise(Datasets::JapaneseDateParser::UnsupportedEraInitialRange.new(expected_message)) do
24
+ @parser.parse("昭和元年 1月 1日")
25
+ end
26
+ end
27
+ end
data/test/test-adult.rb CHANGED
@@ -9,49 +9,24 @@ class AdultTest < Test::Unit::TestCase
9
9
  end
10
10
 
11
11
  test("#each") do
12
- records = @dataset.each.to_a
13
- assert_equal([
14
- 32561,
15
- {
16
- :age => 39,
17
- :work_class => "State-gov",
18
- :final_weight => 77516,
19
- :education => "Bachelors",
20
- :n_education_years => 13,
21
- :marital_status => "Never-married",
22
- :occupation => "Adm-clerical",
23
- :relationship => "Not-in-family",
24
- :race => "White",
25
- :sex => "Male",
26
- :capital_gain => 2174,
27
- :capital_loss => 0,
28
- :hours_per_week => 40,
29
- :native_country => "United-States",
30
- :label => "<=50K"
31
- },
32
- {
33
- :age => 52,
34
- :work_class => "Self-emp-inc",
35
- :final_weight => 287927,
36
- :education => "HS-grad",
37
- :n_education_years => 9,
38
- :marital_status => "Married-civ-spouse",
39
- :occupation => "Exec-managerial",
40
- :relationship => "Wife",
41
- :race => "White",
42
- :sex => "Female",
43
- :capital_gain => 15024,
44
- :capital_loss => 0,
45
- :hours_per_week => 40,
46
- :native_country => "United-States",
47
- :label => ">50K"
48
- }
49
- ],
50
- [
51
- records.size,
52
- records[0].to_h,
53
- records[-1].to_h
54
- ])
12
+ assert_equal({
13
+ :age => 39,
14
+ :work_class => "State-gov",
15
+ :final_weight => 77516,
16
+ :education => "Bachelors",
17
+ :n_education_years => 13,
18
+ :marital_status => "Never-married",
19
+ :occupation => "Adm-clerical",
20
+ :relationship => "Not-in-family",
21
+ :race => "White",
22
+ :sex => "Male",
23
+ :capital_gain => 2174,
24
+ :capital_loss => 0,
25
+ :hours_per_week => 40,
26
+ :native_country => "United-States",
27
+ :label => "<=50K"
28
+ },
29
+ @dataset.each.next.to_h)
55
30
  end
56
31
  end
57
32
 
@@ -65,49 +40,24 @@ class AdultTest < Test::Unit::TestCase
65
40
  end
66
41
 
67
42
  test("#each") do
68
- records = @dataset.each.to_a
69
- assert_equal([
70
- 16281,
71
- {
72
- :age => 25,
73
- :work_class => "Private",
74
- :final_weight => 226802,
75
- :education => "11th",
76
- :n_education_years => 7,
77
- :marital_status => "Never-married",
78
- :occupation => "Machine-op-inspct",
79
- :relationship => "Own-child",
80
- :race => "Black",
81
- :sex => "Male",
82
- :capital_gain => 0,
83
- :capital_loss => 0,
84
- :hours_per_week => 40,
85
- :native_country => "United-States",
86
- :label => "<=50K."
87
- },
88
- {
89
- :age => 35,
90
- :work_class => "Self-emp-inc",
91
- :final_weight => 182148,
92
- :education => "Bachelors",
93
- :n_education_years => 13,
94
- :marital_status => "Married-civ-spouse",
95
- :occupation => "Exec-managerial",
96
- :relationship => "Husband",
97
- :race => "White",
98
- :sex => "Male",
99
- :capital_gain => 0,
100
- :capital_loss => 0,
101
- :hours_per_week => 60,
102
- :native_country => "United-States",
103
- :label => ">50K."
104
- }
105
- ],
106
- [
107
- records.size,
108
- records[0].to_h,
109
- records[-1].to_h
110
- ])
43
+ assert_equal({
44
+ :age => 25,
45
+ :work_class => "Private",
46
+ :final_weight => 226802,
47
+ :education => "11th",
48
+ :n_education_years => 7,
49
+ :marital_status => "Never-married",
50
+ :occupation => "Machine-op-inspct",
51
+ :relationship => "Own-child",
52
+ :race => "Black",
53
+ :sex => "Male",
54
+ :capital_gain => 0,
55
+ :capital_loss => 0,
56
+ :hours_per_week => 40,
57
+ :native_country => "United-States",
58
+ :label => "<=50K.",
59
+ },
60
+ @dataset.each.next.to_h)
111
61
  end
112
62
  end
113
63
 
@@ -114,13 +114,13 @@ class AozoraBunkoTest < Test::Unit::TestCase
114
114
  book = Datasets::AozoraBunko::Book.new
115
115
  book.cache_path = @cache_path
116
116
 
117
- book.title_id = '000750'
118
- book.person_id = '000146'
119
- book.html_file_url = 'http://www.lcv.ne.jp/~ibs52086/fire/'
117
+ book.title_id = '061551'
118
+ book.person_id = '002225'
119
+ book.html_file_url = 'http://minken.party/2019/03/09/yakunin/'
120
120
  book.html_file_character_encoding = 'UTF-8'
121
121
 
122
- assert_equal('<title>種田山頭火句集 | 『草木塔抄』他 FIRE ON THE MOUNTAIN</title>',
123
- book.html.split("\n")[7])
122
+ assert_equal('<title>自由民権現代研究会</title>',
123
+ book.html[/<title>.*?<\/title>/])
124
124
  end
125
125
  end
126
126
 
@@ -8,37 +8,18 @@ class CaliforniaHousingTest < Test::Unit::TestCase
8
8
  end
9
9
 
10
10
  test("#each") do
11
- records = @dataset.each.to_a
12
- assert_equal([
13
- 20640,
14
- {
15
- median_house_value: 452600.000000,
16
- median_income: 8.325200,
17
- housing_median_age: 41.000000,
18
- total_rooms: 880.000000,
19
- total_bedrooms: 129.000000,
20
- population: 322.000000,
21
- households: 126.000000,
22
- latitude: 37.880000,
23
- longitude: -122.230000
24
- },
25
- {
26
- median_house_value: 89400.000000,
27
- median_income: 2.388600,
28
- housing_median_age: 16.000000,
29
- total_rooms: 2785.000000,
30
- total_bedrooms: 616.000000,
31
- population: 1387.000000,
32
- households: 530.000000,
33
- latitude: 39.370000,
34
- longitude: -121.240000
35
- },
36
- ],
37
- [
38
- records.size,
39
- records[0].to_h,
40
- records[-1].to_h
41
- ])
11
+ assert_equal({
12
+ median_house_value: 452600.000000,
13
+ median_income: 8.325200,
14
+ housing_median_age: 41.000000,
15
+ total_rooms: 880.000000,
16
+ total_bedrooms: 129.000000,
17
+ population: 322.000000,
18
+ households: 126.000000,
19
+ latitude: 37.880000,
20
+ longitude: -122.230000,
21
+ },
22
+ @dataset.each.next.to_h)
42
23
  end
43
24
 
44
25
  sub_test_case("#metadata") do
@@ -14,7 +14,7 @@ class CLDRPluralsTest < Test::Unit::TestCase
14
14
  test("#each") do
15
15
  locales = @dataset.each.to_a
16
16
  assert_equal([
17
- 219,
17
+ 222,
18
18
  locale("bm",
19
19
  [
20
20
  rule("other",
@@ -8,39 +8,19 @@ class DiamondsTest < Test::Unit::TestCase
8
8
  end
9
9
 
10
10
  test("#each") do
11
- records = @dataset.each.to_a
12
- assert_equal([
13
- 53940,
14
- {
15
- carat: 0.23,
16
- clarity: "SI2",
17
- color: "E",
18
- cut: "Ideal",
19
- depth: 61.5,
20
- price: 326,
21
- table: 55.0,
22
- x: 3.95,
23
- y: 3.98,
24
- z: 2.43,
25
- },
26
- {
27
- carat: 0.75,
28
- clarity: "SI2",
29
- color: "D",
30
- cut: "Ideal",
31
- depth: 62.2,
32
- price: 2757,
33
- table: 55.0,
34
- x: 5.83,
35
- y: 5.87,
36
- z: 3.64,
37
- },
38
- ],
39
- [
40
- records.size,
41
- records[0].to_h,
42
- records[-1].to_h
43
- ])
11
+ assert_equal({
12
+ carat: 0.23,
13
+ clarity: "SI2",
14
+ color: "E",
15
+ cut: "Ideal",
16
+ depth: 61.5,
17
+ price: 326,
18
+ table: 55.0,
19
+ x: 3.95,
20
+ y: 3.98,
21
+ z: 2.43,
22
+ },
23
+ @dataset.each.next.to_h)
44
24
  end
45
25
 
46
26
  sub_test_case("#metadata") do
@@ -17,7 +17,7 @@ class DownloaderTest < Test::Unit::TestCase
17
17
  output_path = @tmp_dir + "file"
18
18
  downloader = Datasets::Downloader.new(first_url)
19
19
 
20
- downloader.define_singleton_method(:start_http) do |url, headers|
20
+ downloader.define_singleton_method(:start_http) do |url, fallback_urls, headers|
21
21
  raise Datasets::Downloader::TooManyRedirects, "too many redirections: #{last_url}"
22
22
  end
23
23
 
@@ -4,47 +4,23 @@ class GeoloniaTest < Test::Unit::TestCase
4
4
  end
5
5
 
6
6
  test('#each') do
7
- records = @dataset.each.to_a
8
- assert_equal([
9
- 277616,
10
- {
11
- :prefecture_code => "01",
12
- :prefecture_name => "北海道",
13
- :prefecture_kana => "ホッカイドウ",
14
- :prefecture_romaji => "HOKKAIDO",
15
- :municipality_code => "01101",
16
- :municipality_name => "札幌市中央区",
17
- :municipality_kana => "サッポロシチュウオウク",
18
- :municipality_romaji => "SAPPORO SHI CHUO KU",
19
- :street_name => "旭ケ丘一丁目",
20
- :street_kana => "アサヒガオカ 1",
21
- :street_romaji => "ASAHIGAOKA 1",
22
- :alias => nil,
23
- :latitude => "43.04223",
24
- :longitude => "141.319722"
25
- },
26
- {
27
- :prefecture_code => "47",
28
- :prefecture_name => "沖縄県",
29
- :prefecture_kana => "オキナワケン",
30
- :prefecture_romaji => "OKINAWA KEN",
31
- :municipality_code => "47382",
32
- :municipality_name => "八重山郡与那国町",
33
- :municipality_kana => "ヤエヤマグンヨナグニチョウ",
34
- :municipality_romaji => "YAEYAMA GUN YONAGUNI CHO",
35
- :street_name => "字与那国",
36
- :street_kana => nil,
37
- :street_romaji => nil,
38
- :alias => nil,
39
- :latitude => "24.455925",
40
- :longitude => "122.987678",
41
- },
42
- ],
43
- [
44
- records.size,
45
- records[0].to_h,
46
- records[-1].to_h,
47
- ])
7
+ assert_equal({
8
+ :prefecture_code => "01",
9
+ :prefecture_name => "北海道",
10
+ :prefecture_kana => "ホッカイドウ",
11
+ :prefecture_romaji => "HOKKAIDO",
12
+ :municipality_code => "01101",
13
+ :municipality_name => "札幌市中央区",
14
+ :municipality_kana => "サッポロシチュウオウク",
15
+ :municipality_romaji => "SAPPORO SHI CHUO KU",
16
+ :street_name => "旭ケ丘一丁目",
17
+ :street_kana => "アサヒガオカ 1",
18
+ :street_romaji => "ASAHIGAOKA 1",
19
+ :alias => nil,
20
+ :latitude => "43.04223",
21
+ :longitude => "141.319722",
22
+ },
23
+ @dataset.each.next.to_h)
48
24
  end
49
25
 
50
26
  sub_test_case("#metadata") do
@@ -0,0 +1,223 @@
1
+ class HouseOfCouncillorTest < Test::Unit::TestCase
2
+ test("invalid") do
3
+ message = ":type must be one of [:bill, :in_house_group, :member, :question]: :invalid"
4
+ assert_raise(ArgumentError.new(message)) do
5
+ Datasets::HouseOfCouncillor.new(type: :invalid)
6
+ end
7
+ end
8
+
9
+ sub_test_case(":bill") do
10
+ def setup
11
+ @dataset = Datasets::HouseOfCouncillor.new
12
+ end
13
+
14
+ def record(*args)
15
+ Datasets::HouseOfCouncillor::Bill.new(*args)
16
+ end
17
+
18
+ test("#each") do
19
+ assert_equal(record(153,
20
+ "法律案(内閣提出)",
21
+ 153,
22
+ 1,
23
+ "司法制度改革推進法案",
24
+ "https://www.sangiin.go.jp/japanese/joho1/kousei/gian/153/meisai/m15303153001.htm",
25
+ "https://www.sangiin.go.jp/japanese/joho1/kousei/gian/153/pdf/5315310.pdf",
26
+ nil,
27
+ Date.parse("2001-09-28"),
28
+ Date.parse("2001-10-30"),
29
+ nil,
30
+ "衆先議",
31
+ nil,
32
+ nil,
33
+ nil,
34
+ nil,
35
+ Date.parse("2001-10-31"),
36
+ "法務委員会",
37
+ Date.parse("2001-11-08"),
38
+ "可決",
39
+ Date.parse("2001-11-09"),
40
+ "可決",
41
+ nil,
42
+ "多数",
43
+ "押しボタン",
44
+ "https://www.sangiin.go.jp/japanese/joho1/kousei/vote/153/153-1109-v005.htm",
45
+ Date.parse("2001-10-18"),
46
+ "法務委員会",
47
+ Date.parse("2001-10-26"),
48
+ "可決",
49
+ Date.parse("2001-10-30"),
50
+ "可決",
51
+ nil,
52
+ "多数",
53
+ "起立",
54
+ Date.parse("2001-11-16"),
55
+ 119,
56
+ nil,
57
+ nil),
58
+ @dataset.each.next)
59
+ end
60
+ end
61
+
62
+ sub_test_case(":in_house_group") do
63
+ def setup
64
+ @dataset = Datasets::HouseOfCouncillor.new(type: :in_house_group)
65
+ end
66
+
67
+ def record(*args)
68
+ Datasets::HouseOfCouncillor::InHouseGroup.new(*args)
69
+ end
70
+
71
+ test("#each") do
72
+ records = @dataset.each.to_a
73
+ assert_equal([
74
+ 10,
75
+ record(Date.parse("2024-01-26"),
76
+ "自由民主党",
77
+ "自民",
78
+ Date.parse("2024-08-30"),
79
+ 114,
80
+ 23,
81
+ Date.parse("2025-07-28"),
82
+ 19,
83
+ 5,
84
+ 33,
85
+ 6,
86
+ 52,
87
+ 11,
88
+ Date.parse("2028-07-25"),
89
+ 18,
90
+ 5,
91
+ 44,
92
+ 7,
93
+ 62,
94
+ 12),
95
+ record(Date.parse("2024-01-26"),
96
+ "各派に属しない議員",
97
+ "無所属",
98
+ Date.parse("2024-08-30"),
99
+ 12,
100
+ 4,
101
+ Date.parse("2025-07-28"),
102
+ 1,
103
+ 0,
104
+ 7,
105
+ 2,
106
+ 8,
107
+ 2,
108
+ Date.parse("2028-07-25"),
109
+ 1,
110
+ 0,
111
+ 3,
112
+ 2,
113
+ 4,
114
+ 2),
115
+ ],
116
+ [
117
+ records.size,
118
+ records.first,
119
+ records.last,
120
+ ])
121
+ end
122
+ end
123
+
124
+ sub_test_case(":member") do
125
+ def setup
126
+ @dataset = Datasets::HouseOfCouncillor.new(type: :member)
127
+ end
128
+
129
+ def record(*args)
130
+ Datasets::HouseOfCouncillor::Member.new(*args)
131
+ end
132
+
133
+ test("#each") do
134
+ records = @dataset.each.to_a
135
+ assert_equal([
136
+ 245,
137
+ record("足立 敏之",
138
+ nil,
139
+ "https://www.sangiin.go.jp/japanese/joho1/kousei/giin/profile/7016001.htm",
140
+ "あだち としゆき",
141
+ "自民",
142
+ "比例",
143
+ Date.parse("2028-07-25"),
144
+ "https://www.sangiin.go.jp/japanese/joho1/kousei/giin/photo/g7016001.jpg",
145
+ [2016, 2022],
146
+ 2,
147
+ "財政金融委員会(長)",
148
+ Date.parse("2024-08-30"),
149
+ "昭和29年5月20日兵庫県西宮市生まれ。(本籍地・京都府福知山市)昭和48年和歌山県立桐蔭高等学校卒業、昭和52年京都大学工学部土木工学科卒業、昭和54年京都大学大学院工学研究科修士課程修了、同年建設省入省後、兵庫県庁、東北及び関東地方整備局、河川局河川計画課河川事業調整官、内閣官房(安全保障・危機管理担当)等を経て、平成15年近畿地方整備局企画部長、平成18年河川局河川計画課長、平成21年四国地方整備局長、平成23年中部地方整備局長、平成24年水管理・国土保全局長、平成25年技監、平成26年国土交通省を退職。平成28年第24回参議院議員通常選挙で初当選○参議院予算委員会理事、災害対策特別委員会理事○著書「激甚化する水害」「いいね!建設産業本当の魅力」(日経BP社)",
150
+ Date.parse("2022-11-30")),
151
+ record("渡辺 猛之",
152
+ nil,
153
+ "https://www.sangiin.go.jp/japanese/joho1/kousei/giin/profile/7010055.htm",
154
+ "わたなべ たけゆき",
155
+ "自民",
156
+ "岐阜",
157
+ Date.parse("2028-07-25"),
158
+ "https://www.sangiin.go.jp/japanese/joho1/kousei/giin/photo/g7010055.jpg",
159
+ [2010, 2016, 2022],
160
+ 3,
161
+ "経済産業委員会、議院運営委員会(理)",
162
+ Date.parse("2024-08-30"),
163
+ "昭和43年4月18日生、岐阜県加茂郡八百津町出身。岐阜県立加茂高等学校、名古屋大学経済学部卒業。平成4年、財団法人松下政経塾入塾(第13期生)。平成7年、同塾卒業後、26歳で岐阜県議会議員に初当選。以後通算4期当選。在任中は、自民党岐阜県連副幹事長、岐阜県商工会青年部連合会会長、岐阜県商工政治連盟会長、県監査委員、県政自民クラブ幹事長を歴任。平成22年7月、参議院議員初当選○農林水産委員長、政治倫理の確立及び選挙制度に関する特別委員長、参議院自民党筆頭副幹事長、国土交通副大臣兼内閣府副大臣兼復興副大臣を歴任○現在議院運営委員会筆頭理事。環境委員",
164
+ Date.parse("2022-11-30")),
165
+ ],
166
+ [
167
+ records.size,
168
+ records.first,
169
+ records.last,
170
+ ])
171
+ end
172
+ end
173
+
174
+ sub_test_case(":question") do
175
+ def setup
176
+ @dataset = Datasets::HouseOfCouncillor.new(type: :question)
177
+ end
178
+
179
+ def record(*args)
180
+ Datasets::HouseOfCouncillor::Question.new(*args)
181
+ end
182
+
183
+ test("#each") do
184
+ records = @dataset.each.to_a
185
+ assert_equal([
186
+ 7833,
187
+ record(1,
188
+ 1,
189
+ "食生活安定に関する質問主意書",
190
+ "市来 乙彦",
191
+ 1,
192
+ "https://www.sangiin.go.jp/japanese/joho1/kousei/syuisyo/001/syuh/s001001.htm",
193
+ "https://www.sangiin.go.jp/japanese/joho1/kousei/syuisyo/001/touh/t001001.htm",
194
+ "https://www.sangiin.go.jp/japanese/joho1/kousei/syuisyo/001/syup/s001001.pdf",
195
+ "https://www.sangiin.go.jp/japanese/joho1/kousei/syuisyo/001/toup/t001001.pdf",
196
+ "https://www.sangiin.go.jp/japanese/joho1/kousei/syuisyo/001/meisai/m001001.htm",
197
+ Date.parse("1947-06-06"),
198
+ Date.parse("1947-06-23"),
199
+ Date.parse("1947-06-28"),
200
+ nil),
201
+ record(213,
202
+ 239,
203
+ "地方自治法第二百五十二条の二十六の五に定める各大臣の「生命等の保護の措置に関する指示」と地方自治の本旨等との関係に関する質問主意書",
204
+ "小西 洋之",
205
+ 1,
206
+ "https://www.sangiin.go.jp/japanese/joho1/kousei/syuisyo/213/syuh/s213239.htm",
207
+ "https://www.sangiin.go.jp/japanese/joho1/kousei/syuisyo/213/touh/t213239.htm",
208
+ "https://www.sangiin.go.jp/japanese/joho1/kousei/syuisyo/213/syup/s213239.pdf",
209
+ "https://www.sangiin.go.jp/japanese/joho1/kousei/syuisyo/213/toup/t213239.pdf",
210
+ "https://www.sangiin.go.jp/japanese/joho1/kousei/syuisyo/213/meisai/m213239.htm",
211
+ Date.parse("2024-06-21"),
212
+ Date.parse("2024-06-21"),
213
+ Date.parse("2024-07-02"),
214
+ "6月25日内閣から通知書受領(7月2日まで答弁延期)"),
215
+ ],
216
+ [
217
+ records.size,
218
+ records.first,
219
+ records.last,
220
+ ])
221
+ end
222
+ end
223
+ end