mesh-medical-subject-headings 2.0.1 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 246c3f1005660ea5801534254a71eea1b0c1037c
4
- data.tar.gz: 793b97acd06ab80e225f20b9d8f753b22b9fb6bb
3
+ metadata.gz: ff85c9bce1237839fe7afdc94b9026c9e6761abb
4
+ data.tar.gz: 42308e03d574784a942cff743ddd1c5be8509c03
5
5
  SHA512:
6
- metadata.gz: 7f21c94d6daa57f989777800f472fd679571c398fd535445fd8b75aabad1cfef38393cc0947b0545499211e3247b776531c9eab49a080e3d7893c0bd805ebf94
7
- data.tar.gz: ab02026193ce2ce3d46099a00c1923bc76490a873eb81410f07c209666d8e34e2ee9f92edcd15bffb42f1391772a413be689e1abd9004123b7f0ac225a778848
6
+ metadata.gz: 487fbb55afa5c0aa404d5c343d9ce334591b2d87a71388cc8a9abf0a0001092597cf65d44328598d211d315266daa060eea01068f53068da4126d16c555f6852
7
+ data.tar.gz: 7867334fc8d9634cc437c4aa22d2d6d56e9fb183034022033870228ac8cb5e1a2b1a96561b6f46f7db7a3fb0447156afb35f07d613e6019d26f42362ebabf5bd
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ #2.0.2 / 2014-06-23
2
+ * [BUGFIX] Removed duplicates in children and parents
3
+ * [BUGFIX] Added require for zlib
4
+
1
5
  #2.0.1 / 2014-04-28
2
6
  * [FEATURE] Load translations from static file to improve load times
3
7
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mesh-medical-subject-headings (2.0.1)
4
+ mesh-medical-subject-headings (2.0.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/lib/MESH.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require 'zlib'
1
2
  require 'MESH/version'
2
3
  require 'MESH/tree'
3
4
  require 'MESH/heading'
data/lib/MESH/tree.rb CHANGED
@@ -73,8 +73,8 @@ module MESH
73
73
  parts.pop
74
74
  parent_tree_number = parts.join '.'
75
75
  parent = @by_tree_number[parent_tree_number]
76
- heading.parents << parent unless parent.nil?
77
- parent.children << heading unless parent.nil?
76
+ heading.parents << parent unless parent.nil? || heading.parents.include?(parent)
77
+ parent.children << heading unless parent.nil? || parent.children.include?(heading)
78
78
  end
79
79
  end
80
80
  end
data/lib/MESH/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mesh
2
- VERSION = "2.0.1"
2
+ VERSION = "2.0.2"
3
3
  end
@@ -48,16 +48,16 @@ module MESH
48
48
  expected = {
49
49
  'I' => [1.0, {
50
50
  @mesh_tree.find('D013337') => 1.0,
51
- @mesh_tree.find('D013336') => 0.667,
52
- @mesh_tree.find('D013334') => 0.444,
53
- @mesh_tree.find('D004505') => 0.148,
54
- @mesh_tree.find('D004493') => 0.198
51
+ @mesh_tree.find('D013334') => 0.111,
52
+ @mesh_tree.find('D013336') => 0.333,
53
+ @mesh_tree.find('D004505') => 0.037,
54
+ @mesh_tree.find('D004493') => 0.049
55
55
  }],
56
56
  'M' => [1.0, {
57
57
  @mesh_tree.find('D013337') => 1.0,
58
- @mesh_tree.find('D013336') => 0.667,
59
- @mesh_tree.find('D013334') => 0.444,
60
- @mesh_tree.find('D009272') => 0.148
58
+ @mesh_tree.find('D013336') => 0.333,
59
+ @mesh_tree.find('D013334') => 0.111,
60
+ @mesh_tree.find('D009272') => 0.037
61
61
  }]
62
62
  }
63
63
  assert_classification expected, @classifier.classify([{matches: @headings[:poor_abstract], weight: 1.0}])
@@ -89,15 +89,15 @@ module MESH
89
89
  @mesh_tree.find('D008606') => 0.667,
90
90
  @mesh_tree.find('D011579') => 0.222,
91
91
  @mesh_tree.find('D035781') => 1.0,
92
- @mesh_tree.find('D009679') => 0.667,
93
- @mesh_tree.find('D005190') => 0.444,
94
- @mesh_tree.find('D011593') => 0.148,
95
- @mesh_tree.find('D001520') => 0.049,
96
- @mesh_tree.find('D011584') => 0.049,
97
- @mesh_tree.find('D001525') => 0.049,
98
- @mesh_tree.find('D004191') => 0.016,
99
- @mesh_tree.find('D012961') => 0.148,
100
- @mesh_tree.find('D012942') => 0.099
92
+ @mesh_tree.find('D009679') => 0.333,
93
+ @mesh_tree.find('D005190') => 0.111,
94
+ @mesh_tree.find('D011593') => 0.037,
95
+ @mesh_tree.find('D001520') => 0.012,
96
+ @mesh_tree.find('D011584') => 0.012,
97
+ @mesh_tree.find('D001525') => 0.008,
98
+ @mesh_tree.find('D004191') => 0.003,
99
+ @mesh_tree.find('D012961') => 0.037,
100
+ @mesh_tree.find('D012942') => 0.012
101
101
  }],
102
102
  'H' => [3.0, {
103
103
  @mesh_tree.find('D000715') => 3.0,
@@ -115,11 +115,11 @@ module MESH
115
115
  @mesh_tree.find('D003469') => 0.667,
116
116
  @mesh_tree.find('D000884') => 0.222,
117
117
  @mesh_tree.find('D000883') => 0.074,
118
- @mesh_tree.find('D012942') => 0.296,
119
- @mesh_tree.find('D012961') => 0.370,
118
+ @mesh_tree.find('D012942') => 0.111,
119
+ @mesh_tree.find('D012961') => 0.259,
120
120
  @mesh_tree.find('D035781') => 1.0,
121
- @mesh_tree.find('D009679') => 0.667,
122
- @mesh_tree.find('D005190') => 0.444
121
+ @mesh_tree.find('D009679') => 0.333,
122
+ @mesh_tree.find('D005190') => 0.111
123
123
  }],
124
124
  'K' => [2.0, {
125
125
  @mesh_tree.find('D018594') => 2.0,
@@ -139,11 +139,11 @@ module MESH
139
139
  'Z' => [3.0, {
140
140
  @mesh_tree.find('D008131') => 3.0,
141
141
  @mesh_tree.find('D002947') => 1.0,
142
- @mesh_tree.find('D005842') => 0.481,
142
+ @mesh_tree.find('D005842') => 0.407,
143
143
  @mesh_tree.find('D004739') => 1.0,
144
- @mesh_tree.find('D006113') => 0.667,
145
- @mesh_tree.find('D005060') => 0.222,
146
- @mesh_tree.find('D062312') => 0.222
144
+ @mesh_tree.find('D006113') => 0.333,
145
+ @mesh_tree.find('D005060') => 0.111,
146
+ @mesh_tree.find('D062312') => 0.111
147
147
  }]
148
148
 
149
149
  }
@@ -160,19 +160,19 @@ module MESH
160
160
  @mesh_tree.find('D027861') => 1.0, @mesh_tree.find('D027824') => 0.333, @mesh_tree.find('D019685') => 0.111, @mesh_tree.find('D019684') => 0.037, @mesh_tree.find('D019669') => 0.012, @mesh_tree.find('D057949') => 0.004, @mesh_tree.find('D057948') => 0.001
161
161
  }],
162
162
  'C' => [1.0, {
163
- @mesh_tree.find('D003221') => 1.0, @mesh_tree.find('D019954') => 1.0, @mesh_tree.find('D009461') => 0.667, @mesh_tree.find('D009422') => 0.222, @mesh_tree.find('D012816') => 0.222, @mesh_tree.find('D013568') => 0.074
163
+ @mesh_tree.find('D003221') => 1.0, @mesh_tree.find('D019954') => 0.333, @mesh_tree.find('D009461') => 0.111, @mesh_tree.find('D009422') => 0.037, @mesh_tree.find('D012816') => 0.037, @mesh_tree.find('D013568') => 0.012
164
164
  }],
165
165
  'D' => [13.0, {
166
- @mesh_tree.find('D007854') => 13.0, @mesh_tree.find('D019216') => 8.667, @mesh_tree.find('D004602') => 2.889, @mesh_tree.find('D007287') => 1.926, @mesh_tree.find('D008670') => 2.889
166
+ @mesh_tree.find('D007854') => 13.0, @mesh_tree.find('D019216') => 4.333, @mesh_tree.find('D004602') => 1.444, @mesh_tree.find('D007287') => 0.963, @mesh_tree.find('D008670') => 1.444
167
167
  }],
168
168
  'E' => [2.0, {
169
169
  @mesh_tree.find('D004562') => 2.0, @mesh_tree.find('D006334') => 0.667, @mesh_tree.find('D003935') => 0.222, @mesh_tree.find('D019937') => 0.296, @mesh_tree.find('D003933') => 0.099, @mesh_tree.find('D004568') => 0.667
170
170
  }],
171
171
  'F' => [4.0, {
172
- @mesh_tree.find('D003221') => 1.0, @mesh_tree.find('D019954') => 1.0, @mesh_tree.find('D001520') => 0.333, @mesh_tree.find('D007858') => 1.0, @mesh_tree.find('D008606') => 2.0, @mesh_tree.find('D011579') => 0.704, @mesh_tree.find('D011588') => 0.333, @mesh_tree.find('D011585') => 0.111, @mesh_tree.find('D011584') => 0.111, @mesh_tree.find('D001525') => 0.037, @mesh_tree.find('D004191') => 0.012, @mesh_tree.find('D013850') => 1.0, @mesh_tree.find('D014836') => 4.0
172
+ @mesh_tree.find('D003221') => 1.0, @mesh_tree.find('D019954') => 0.333, @mesh_tree.find('D001520') => 0.111, @mesh_tree.find('D007858') => 1.0, @mesh_tree.find('D008606') => 2.0, @mesh_tree.find('D011579') => 0.704, @mesh_tree.find('D011588') => 0.333, @mesh_tree.find('D011585') => 0.111, @mesh_tree.find('D011584') => 0.111, @mesh_tree.find('D001525') => 0.037, @mesh_tree.find('D004191') => 0.012, @mesh_tree.find('D013850') => 1.0, @mesh_tree.find('D014836') => 4.0
173
173
  }],
174
174
  'G' => [2.0, {
175
- @mesh_tree.find('D000200') => 2.0, @mesh_tree.find('D008564') => 2.0, @mesh_tree.find('D055592') => 0.667, @mesh_tree.find('D055585') => 0.691, @mesh_tree.find('D002468') => 0.667, @mesh_tree.find('D055724') => 0.667, @mesh_tree.find('D010829') => 0.222, @mesh_tree.find('D009424') => 0.667, @mesh_tree.find('D055687') => 0.222, @mesh_tree.find('D013995') => 1.0, @mesh_tree.find('D014919') => 1.0, @mesh_tree.find('D000392') => 1.0, @mesh_tree.find('D055907') => 0.333, @mesh_tree.find('D055691') => 0.111, @mesh_tree.find('D055669') => 0.416, @mesh_tree.find('D001686') => 0.139, @mesh_tree.find('D014887') => 1.0, @mesh_tree.find('D001272') => 0.889, @mesh_tree.find('D004777') => 0.506, @mesh_tree.find('D008685') => 0.630, @mesh_tree.find('D000388') => 0.333, @mesh_tree.find('D014965') => 1.0, @mesh_tree.find('D060733') => 0.667, @mesh_tree.find('D055590') => 0.222, @mesh_tree.find('D060328') => 0.074, @mesh_tree.find('D011827') => 0.333, @mesh_tree.find('D011839') => 0.333
175
+ @mesh_tree.find('D000200') => 2.0, @mesh_tree.find('D008564') => 0.667, @mesh_tree.find('D055592') => 0.222, @mesh_tree.find('D055585') => 0.494, @mesh_tree.find('D002468') => 0.222, @mesh_tree.find('D055724') => 0.222, @mesh_tree.find('D010829') => 0.074, @mesh_tree.find('D009424') => 0.222, @mesh_tree.find('D055687') => 0.074, @mesh_tree.find('D013995') => 1.0, @mesh_tree.find('D014919') => 1.0, @mesh_tree.find('D000392') => 0.333, @mesh_tree.find('D055907') => 0.111, @mesh_tree.find('D055691') => 0.037, @mesh_tree.find('D055669') => 0.126, @mesh_tree.find('D001686') => 0.042, @mesh_tree.find('D014887') => 0.444, @mesh_tree.find('D001272') => 0.185, @mesh_tree.find('D004777') => 0.132, @mesh_tree.find('D008685') => 0.210, @mesh_tree.find('D000388') => 0.111, @mesh_tree.find('D014965') => 1.0, @mesh_tree.find('D060733') => 0.333, @mesh_tree.find('D055590') => 0.111, @mesh_tree.find('D060328') => 0.037, @mesh_tree.find('D011827') => 0.222, @mesh_tree.find('D011839') => 0.333
176
176
  }],
177
177
  'I' => [1.0, {
178
178
  @mesh_tree.find('D014937') => 1.0, @mesh_tree.find('D006802') => 0.333
@@ -181,13 +181,13 @@ module MESH
181
181
  @mesh_tree.find('D019368') => 1.0, @mesh_tree.find('D006809') => 0.333
182
182
  }],
183
183
  'L' => [1.0, {
184
- @mesh_tree.find('D009275') => 1.0, @mesh_tree.find('D009626') => 0.333, @mesh_tree.find('D008037') => 0.111, @mesh_tree.find('D007802') => 0.037, @mesh_tree.find('D003142') => 0.025, @mesh_tree.find('D007254') => 0.008
184
+ @mesh_tree.find('D009275') => 1.0, @mesh_tree.find('D009626') => 0.333, @mesh_tree.find('D008037') => 0.111, @mesh_tree.find('D007802') => 0.037, @mesh_tree.find('D003142') => 0.012, @mesh_tree.find('D007254') => 0.004
185
185
  }],
186
186
  'M' => [6.0, {
187
187
  @mesh_tree.find('D010361') => 6.0, @mesh_tree.find('D009272') => 2.0
188
188
  }],
189
189
  'N' => [1.0, {
190
- @mesh_tree.find('D009938') => 1.0, @mesh_tree.find('D004472') => 0.333, @mesh_tree.find('D014919') => 1.0, @mesh_tree.find('D000392') => 1.0, @mesh_tree.find('D014887') => 1.0, @mesh_tree.find('D001272') => 0.889, @mesh_tree.find('D004777') => 0.543, @mesh_tree.find('D004778') => 0.181, @mesh_tree.find('D008685') => 0.630, @mesh_tree.find('D000388') => 0.333, @mesh_tree.find('D059205') => 0.333, @mesh_tree.find('D004736') => 0.111
190
+ @mesh_tree.find('D009938') => 1.0, @mesh_tree.find('D004472') => 0.333, @mesh_tree.find('D014919') => 1.0, @mesh_tree.find('D000392') => 0.333, @mesh_tree.find('D014887') => 0.444, @mesh_tree.find('D001272') => 0.185, @mesh_tree.find('D004777') => 0.169, @mesh_tree.find('D004778') => 0.056, @mesh_tree.find('D008685') => 0.210, @mesh_tree.find('D000388') => 0.111, @mesh_tree.find('D059205') => 0.333, @mesh_tree.find('D004736') => 0.111
191
191
  }],
192
192
  'V' => [1.0, {
193
193
  @mesh_tree.find('D017203') => 1.0, @mesh_tree.find('D019215') => 0.333, @mesh_tree.find('D052181') => 0.111, @mesh_tree.find('D052180') => 0.148, @mesh_tree.find('D016456') => 0.111
@@ -206,17 +206,17 @@ module MESH
206
206
  'A' => [2.0, {
207
207
  @mesh_tree.find('D001769') => 1.0, @mesh_tree.find('D001826') => 0.333, @mesh_tree.find('D005441') => 0.111, @mesh_tree.find('D006424') => 0.333, @mesh_tree.find('D006624') => 1.0, @mesh_tree.find('D008032') => 0.333, @mesh_tree.find('D001921') => 0.115, @mesh_tree.find('D002490') => 0.038, @mesh_tree.find('D009420') => 0.013, @mesh_tree.find('D002540') => 0.333, @mesh_tree.find('D054022') => 0.111, @mesh_tree.find('D013687') => 0.037, @mesh_tree.find('D016548') => 0.012, @mesh_tree.find('D008099') => 2.0, @mesh_tree.find('D004064') => 1.0, @mesh_tree.find('D010179') => 1.0
208
208
  }],
209
- 'D' => [4.136, {
210
- @mesh_tree.find('D000269') => 1.0, @mesh_tree.find('D020313') => 0.383, @mesh_tree.find('D020164') => 0.171, @mesh_tree.find('D000900') => 1.0, @mesh_tree.find('D000890') => 0.333, @mesh_tree.find('D045506') => 0.111, @mesh_tree.find('D020228') => 0.131, @mesh_tree.find('D001786') => 2.0, @mesh_tree.find('D005947') => 1.667, @mesh_tree.find('D006601') => 0.556, @mesh_tree.find('D009005') => 0.185, @mesh_tree.find('D002241') => 4.136, @mesh_tree.find('D004247') => 2.0, @mesh_tree.find('D009696') => 0.667, @mesh_tree.find('D009706') => 0.222, @mesh_tree.find('D006728') => 1.263, @mesh_tree.find('D006730') => 0.842, @mesh_tree.find('D045505') => 0.281, @mesh_tree.find('D007328') => 4.0, @mesh_tree.find('D011384') => 2.667, @mesh_tree.find('D061385') => 1.778, @mesh_tree.find('D010187') => 1.185, @mesh_tree.find('D036361') => 0.790, @mesh_tree.find('D010455') => 0.263, @mesh_tree.find('D000602') => 0.187, @mesh_tree.find('D011498') => 0.889, @mesh_tree.find('D011506') => 0.296, @mesh_tree.find('D013213') => 1.0, @mesh_tree.find('D005936') => 0.667, @mesh_tree.find('D001704') => 0.222, @mesh_tree.find('D011108') => 0.222, @mesh_tree.find('D046911') => 0.074, @mesh_tree.find('D001697') => 0.148, @mesh_tree.find('D011134') => 0.222
209
+ 'D' => [4.099, {
210
+ @mesh_tree.find('D000269') => 1.0, @mesh_tree.find('D020313') => 0.337, @mesh_tree.find('D020164') => 0.137, @mesh_tree.find('D000900') => 1.0, @mesh_tree.find('D000890') => 0.333, @mesh_tree.find('D045506') => 0.111, @mesh_tree.find('D020228') => 0.075, @mesh_tree.find('D001786') => 2.0, @mesh_tree.find('D005947') => 1.667, @mesh_tree.find('D006601') => 0.556, @mesh_tree.find('D009005') => 0.185, @mesh_tree.find('D002241') => 4.099, @mesh_tree.find('D004247') => 2.0, @mesh_tree.find('D009696') => 0.667, @mesh_tree.find('D009706') => 0.222, @mesh_tree.find('D006728') => 1.016, @mesh_tree.find('D006730') => 0.339, @mesh_tree.find('D045505') => 0.113, @mesh_tree.find('D007328') => 4.0, @mesh_tree.find('D011384') => 1.333, @mesh_tree.find('D061385') => 0.444, @mesh_tree.find('D010187') => 0.148, @mesh_tree.find('D036361') => 0.049, @mesh_tree.find('D010455') => 0.016, @mesh_tree.find('D000602') => 0.055, @mesh_tree.find('D011498') => 0.444, @mesh_tree.find('D011506') => 0.148, @mesh_tree.find('D013213') => 1.0, @mesh_tree.find('D005936') => 0.333, @mesh_tree.find('D001704') => 0.111, @mesh_tree.find('D011108') => 0.037, @mesh_tree.find('D046911') => 0.012, @mesh_tree.find('D001697') => 0.012, @mesh_tree.find('D011134') => 0.111
211
211
  }],
212
212
  'F' => [1.0, {
213
- @mesh_tree.find('D005190') => 1.0, @mesh_tree.find('D011593') => 0.333, @mesh_tree.find('D001520') => 0.111, @mesh_tree.find('D011584') => 0.111, @mesh_tree.find('D001525') => 0.111, @mesh_tree.find('D004191') => 0.037, @mesh_tree.find('D012961') => 0.333, @mesh_tree.find('D012942') => 0.222
213
+ @mesh_tree.find('D005190') => 1.0, @mesh_tree.find('D011593') => 0.333, @mesh_tree.find('D001520') => 0.111, @mesh_tree.find('D011584') => 0.111, @mesh_tree.find('D001525') => 0.074, @mesh_tree.find('D004191') => 0.025, @mesh_tree.find('D012961') => 0.333, @mesh_tree.find('D012942') => 0.111
214
214
  }],
215
215
  'G' => [1.0, {
216
- @mesh_tree.find('D012621') => 1.0, @mesh_tree.find('D010507') => 0.333, @mesh_tree.find('D013995') => 0.111, @mesh_tree.find('D055585') => 0.037, @mesh_tree.find('D002909') => 0.111, @mesh_tree.find('D010829') => 0.037, @mesh_tree.find('D002980') => 0.667, @mesh_tree.find('D004777') => 0.321, @mesh_tree.find('D055669') => 0.132, @mesh_tree.find('D001686') => 0.044, @mesh_tree.find('D001272') => 0.222, @mesh_tree.find('D008685') => 0.074
216
+ @mesh_tree.find('D012621') => 1.0, @mesh_tree.find('D010507') => 0.333, @mesh_tree.find('D013995') => 0.111, @mesh_tree.find('D055585') => 0.037, @mesh_tree.find('D002909') => 0.111, @mesh_tree.find('D010829') => 0.037, @mesh_tree.find('D002980') => 0.333, @mesh_tree.find('D004777') => 0.16, @mesh_tree.find('D055669') => 0.066, @mesh_tree.find('D001686') => 0.022, @mesh_tree.find('D001272') => 0.111, @mesh_tree.find('D008685') => 0.037
217
217
  }],
218
218
  'I' => [1.0, {
219
- @mesh_tree.find('D005190') => 1.0, @mesh_tree.find('D012961') => 0.333, @mesh_tree.find('D012942') => 0.222
219
+ @mesh_tree.find('D005190') => 1.0, @mesh_tree.find('D012961') => 0.333, @mesh_tree.find('D012942') => 0.111
220
220
  }],
221
221
  'J' => [1.0, {
222
222
  @mesh_tree.find('D000269') => 1.0, @mesh_tree.find('D008420') => 0.444, @mesh_tree.find('D013676') => 0.148, @mesh_tree.find('D005389') => 1.0, @mesh_tree.find('D054041') => 0.333, @mesh_tree.find('D005502') => 1.0, @mesh_tree.find('D019602') => 0.333
@@ -225,7 +225,7 @@ module MESH
225
225
  @mesh_tree.find('D005246') => 1.0, @mesh_tree.find('D003491') => 0.333, @mesh_tree.find('D003142') => 0.111, @mesh_tree.find('D007254') => 0.037
226
226
  }],
227
227
  'N' => [1.0, {
228
- @mesh_tree.find('D012621') => 1.0, @mesh_tree.find('D002980') => 0.667, @mesh_tree.find('D004777') => 0.321, @mesh_tree.find('D004778') => 0.107, @mesh_tree.find('D001272') => 0.222, @mesh_tree.find('D008685') => 0.074
228
+ @mesh_tree.find('D012621') => 1.0, @mesh_tree.find('D002980') => 0.333, @mesh_tree.find('D004777') => 0.16, @mesh_tree.find('D004778') => 0.053, @mesh_tree.find('D001272') => 0.111, @mesh_tree.find('D008685') => 0.037
229
229
  }]
230
230
  }
231
231
  assert_classification expected, @classifier.classify([{matches: @headings[:short_content], weight: 1.0}])
@@ -244,20 +244,20 @@ module MESH
244
244
  'A' => [2.0, {
245
245
  @mesh_tree.find('D001769') => 1.0, @mesh_tree.find('D001826') => 0.333, @mesh_tree.find('D005441') => 0.111, @mesh_tree.find('D006424') => 0.333, @mesh_tree.find('D006624') => 1.0, @mesh_tree.find('D008032') => 0.333, @mesh_tree.find('D001921') => 0.115, @mesh_tree.find('D002490') => 0.038, @mesh_tree.find('D009420') => 0.013, @mesh_tree.find('D002540') => 0.333, @mesh_tree.find('D054022') => 0.111, @mesh_tree.find('D013687') => 0.037, @mesh_tree.find('D016548') => 0.012, @mesh_tree.find('D008099') => 2.0, @mesh_tree.find('D004064') => 1.0, @mesh_tree.find('D010179') => 1.0
246
246
  }],
247
- 'D' => [4.136, {
248
- @mesh_tree.find('D000269') => 1.0, @mesh_tree.find('D020313') => 0.383, @mesh_tree.find('D020164') => 0.171, @mesh_tree.find('D000900') => 1.0, @mesh_tree.find('D000890') => 0.333, @mesh_tree.find('D045506') => 0.111, @mesh_tree.find('D020228') => 0.131, @mesh_tree.find('D001786') => 2.0, @mesh_tree.find('D005947') => 1.667, @mesh_tree.find('D006601') => 0.556, @mesh_tree.find('D009005') => 0.185, @mesh_tree.find('D002241') => 4.136, @mesh_tree.find('D004247') => 2.0, @mesh_tree.find('D009696') => 0.667, @mesh_tree.find('D009706') => 0.222, @mesh_tree.find('D006728') => 1.263, @mesh_tree.find('D006730') => 0.842, @mesh_tree.find('D045505') => 0.281, @mesh_tree.find('D007328') => 4.0, @mesh_tree.find('D011384') => 2.667, @mesh_tree.find('D061385') => 1.778, @mesh_tree.find('D010187') => 1.185, @mesh_tree.find('D036361') => 0.790, @mesh_tree.find('D010455') => 0.263, @mesh_tree.find('D000602') => 0.187, @mesh_tree.find('D011498') => 0.889, @mesh_tree.find('D011506') => 0.296, @mesh_tree.find('D013213') => 1.0, @mesh_tree.find('D005936') => 0.667, @mesh_tree.find('D001704') => 0.222, @mesh_tree.find('D011108') => 0.222, @mesh_tree.find('D046911') => 0.074, @mesh_tree.find('D001697') => 0.148, @mesh_tree.find('D011134') => 0.222
247
+ 'D' => [4.099, {
248
+ @mesh_tree.find('D000269') => 1.0, @mesh_tree.find('D020313') => 0.337, @mesh_tree.find('D020164') => 0.137, @mesh_tree.find('D000900') => 1.0, @mesh_tree.find('D000890') => 0.333, @mesh_tree.find('D045506') => 0.111, @mesh_tree.find('D020228') => 0.075, @mesh_tree.find('D001786') => 2.0, @mesh_tree.find('D005947') => 1.667, @mesh_tree.find('D006601') => 0.556, @mesh_tree.find('D009005') => 0.185, @mesh_tree.find('D002241') => 4.099, @mesh_tree.find('D004247') => 2.0, @mesh_tree.find('D009696') => 0.667, @mesh_tree.find('D009706') => 0.222, @mesh_tree.find('D006728') => 1.016, @mesh_tree.find('D006730') => 0.339, @mesh_tree.find('D045505') => 0.113, @mesh_tree.find('D007328') => 4.0, @mesh_tree.find('D011384') => 1.333, @mesh_tree.find('D061385') => 0.444, @mesh_tree.find('D010187') => 0.148, @mesh_tree.find('D036361') => 0.049, @mesh_tree.find('D010455') => 0.016, @mesh_tree.find('D000602') => 0.055, @mesh_tree.find('D011498') => 0.444, @mesh_tree.find('D011506') => 0.148, @mesh_tree.find('D013213') => 1.0, @mesh_tree.find('D005936') => 0.333, @mesh_tree.find('D001704') => 0.111, @mesh_tree.find('D011108') => 0.037, @mesh_tree.find('D046911') => 0.012, @mesh_tree.find('D001697') => 0.012, @mesh_tree.find('D011134') => 0.111
249
249
  }],
250
250
  'F' => [1.0, {
251
- @mesh_tree.find('D005190') => 1.0, @mesh_tree.find('D011593') => 0.333, @mesh_tree.find('D001520') => 0.111, @mesh_tree.find('D011584') => 0.111, @mesh_tree.find('D001525') => 0.111, @mesh_tree.find('D004191') => 0.037, @mesh_tree.find('D012961') => 0.333, @mesh_tree.find('D012942') => 0.222
251
+ @mesh_tree.find('D005190') => 1.0, @mesh_tree.find('D011593') => 0.333, @mesh_tree.find('D001520') => 0.111, @mesh_tree.find('D011584') => 0.111, @mesh_tree.find('D001525') => 0.074, @mesh_tree.find('D004191') => 0.025, @mesh_tree.find('D012961') => 0.333, @mesh_tree.find('D012942') => 0.111
252
252
  }],
253
253
  'G' => [1.0, {
254
- @mesh_tree.find('D012621') => 1.0, @mesh_tree.find('D010507') => 0.333, @mesh_tree.find('D013995') => 0.111, @mesh_tree.find('D055585') => 0.037, @mesh_tree.find('D002909') => 0.111, @mesh_tree.find('D010829') => 0.037, @mesh_tree.find('D002980') => 0.667, @mesh_tree.find('D004777') => 0.321, @mesh_tree.find('D055669') => 0.132, @mesh_tree.find('D001686') => 0.044, @mesh_tree.find('D001272') => 0.222, @mesh_tree.find('D008685') => 0.074
254
+ @mesh_tree.find('D012621') => 1.0, @mesh_tree.find('D010507') => 0.333, @mesh_tree.find('D013995') => 0.111, @mesh_tree.find('D055585') => 0.037, @mesh_tree.find('D002909') => 0.111, @mesh_tree.find('D010829') => 0.037, @mesh_tree.find('D002980') => 0.333, @mesh_tree.find('D004777') => 0.160, @mesh_tree.find('D055669') => 0.066, @mesh_tree.find('D001686') => 0.022, @mesh_tree.find('D001272') => 0.111, @mesh_tree.find('D008685') => 0.037
255
255
  }],
256
256
  'H' => [7.0, {
257
257
  @mesh_tree.find('D002309') => 7.0, @mesh_tree.find('D007388') => 2.333, @mesh_tree.find('D008511') => 0.778, @mesh_tree.find('D006281') => 0.259
258
258
  }],
259
259
  'I' => [3.0, {
260
- @mesh_tree.find('D013337') => 3.0, @mesh_tree.find('D013336') => 2.0, @mesh_tree.find('D013334') => 1.333, @mesh_tree.find('D004505') => 0.444, @mesh_tree.find('D004493') => 0.593, @mesh_tree.find('D005190') => 1.0, @mesh_tree.find('D012961') => 0.333, @mesh_tree.find('D012942') => 0.222
260
+ @mesh_tree.find('D013337') => 3.0, @mesh_tree.find('D013336') => 1.0, @mesh_tree.find('D013334') => 0.333, @mesh_tree.find('D004505') => 0.111, @mesh_tree.find('D004493') => 0.148, @mesh_tree.find('D005190') => 1.0, @mesh_tree.find('D012961') => 0.333, @mesh_tree.find('D012942') => 0.111
261
261
  }],
262
262
  'J' => [1.0, {
263
263
  @mesh_tree.find('D000269') => 1.0, @mesh_tree.find('D008420') => 0.444, @mesh_tree.find('D013676') => 0.148, @mesh_tree.find('D005389') => 1.0, @mesh_tree.find('D054041') => 0.333, @mesh_tree.find('D005502') => 1.0, @mesh_tree.find('D019602') => 0.333
@@ -266,10 +266,10 @@ module MESH
266
266
  @mesh_tree.find('D005246') => 1.0, @mesh_tree.find('D003491') => 0.333, @mesh_tree.find('D003142') => 0.111, @mesh_tree.find('D007254') => 0.037
267
267
  }],
268
268
  'M' => [3.0, {
269
- @mesh_tree.find('D013337') => 3.0, @mesh_tree.find('D013336') => 2.0, @mesh_tree.find('D013334') => 1.333, @mesh_tree.find('D009272') => 0.444
269
+ @mesh_tree.find('D013337') => 3.0, @mesh_tree.find('D013336') => 1.0, @mesh_tree.find('D013334') => 0.333, @mesh_tree.find('D009272') => 0.111
270
270
  }],
271
271
  'N' => [1.0, {
272
- @mesh_tree.find('D012621') => 1.0, @mesh_tree.find('D002980') => 0.667, @mesh_tree.find('D004777') => 0.321, @mesh_tree.find('D004778') => 0.107, @mesh_tree.find('D001272') => 0.222, @mesh_tree.find('D008685') => 0.074
272
+ @mesh_tree.find('D012621') => 1.0, @mesh_tree.find('D002980') => 0.333, @mesh_tree.find('D004777') => 0.16, @mesh_tree.find('D004778') => 0.053, @mesh_tree.find('D001272') => 0.111, @mesh_tree.find('D008685') => 0.037
273
273
  }]
274
274
  }
275
275
 
@@ -142,6 +142,13 @@ module MESH
142
142
  assert_includes mh.parents, p2
143
143
  end
144
144
 
145
+ def test_have_the_correct_parents_again
146
+ child = @mesh_tree.find_by_original_heading('Questionnaires')
147
+ assert_equal 1, child.parents.length
148
+ expected_parent = @mesh_tree.find_by_original_heading('Data Collection')
149
+ assert_includes child.parents, expected_parent
150
+ end
151
+
145
152
  def test_have_the_correct_children
146
153
  parent = @mesh_tree.find_by_tree_number('C19.053.500')
147
154
  child1 = @mesh_tree.find_by_tree_number('C19.053.500.263')
@@ -156,6 +163,33 @@ module MESH
156
163
  assert_includes parent.children, child4
157
164
  end
158
165
 
166
+ def test_have_the_correct_children_again
167
+ parent = @mesh_tree.find_by_original_heading('Data Collection')
168
+
169
+ expected_children = [
170
+ 'Health Surveys',
171
+ 'Interviews as Topic',
172
+ 'Questionnaires',
173
+ 'Records as Topic',
174
+ 'Registries',
175
+ 'Vital Statistics',
176
+ 'Geriatric Assessment',
177
+ 'Nutrition Assessment',
178
+ 'Health Care Surveys',
179
+ 'Narration',
180
+ 'Lot Quality Assurance Sampling',
181
+ 'Checklist',
182
+ 'Health Impact Assessment',
183
+ 'Crowdsourcing'
184
+ ].map { |oh| @mesh_tree.find_by_original_heading(oh) }
185
+
186
+
187
+ assert_equal expected_children.length, parent.children.length
188
+ expected_children.each do |ec|
189
+ assert_includes parent.children, ec
190
+ end
191
+ end
192
+
159
193
  def test_have_the_correct_siblings
160
194
  skip
161
195
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mesh-medical-subject-headings
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Styles
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-28 00:00:00.000000000 Z
11
+ date: 2014-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -149,7 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
149
149
  version: '0'
150
150
  requirements: []
151
151
  rubyforge_project:
152
- rubygems_version: 2.2.0
152
+ rubygems_version: 2.0.14
153
153
  signing_key:
154
154
  specification_version: 4
155
155
  summary: A ruby gem containing MeSH subject headings (https://www.nlm.nih.gov/mesh/)