swissmedic-diff 0.1.4 → 0.1.5

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.
data/Gemfile.lock CHANGED
@@ -10,20 +10,20 @@ GEM
10
10
  ansi (1.4.3)
11
11
  builder (3.2.2)
12
12
  hashie (2.0.5)
13
- hoe (3.7.1)
13
+ hoe (3.7.2)
14
14
  rake (>= 0.8, < 11.0)
15
- minitest (4.7.5)
16
- minitest-reporters (0.14.23)
15
+ minitest (5.1.0)
16
+ minitest-reporters (1.0.0)
17
17
  ansi
18
18
  builder
19
- minitest (>= 2.12, < 5.0)
19
+ minitest (>= 5.0)
20
20
  powerbar
21
21
  powerbar (1.0.11)
22
22
  ansi (~> 1.4.0)
23
23
  hashie (>= 1.1.0)
24
24
  rake (10.1.0)
25
25
  ruby-ole (1.2.11.7)
26
- spreadsheet (0.9.0)
26
+ spreadsheet (0.9.6)
27
27
  ruby-ole (>= 1.0)
28
28
 
29
29
  PLATFORMS
data/History.txt CHANGED
@@ -1,3 +1,11 @@
1
+ === 0.1.5 / 11.12.2010
2
+
3
+ * Updated tests as we no longer raise an error
4
+ * Update to spreadsheet 0.9.6
5
+ * Just display unhandled line instead of raising an exception
6
+ * daily_travis_ci.rb on 20131124
7
+ * updated Manifest.txt
8
+
1
9
  === 0.1.4 / 22.10.2010
2
10
 
3
11
  * Add utility proc rows_to_skip
@@ -17,7 +17,7 @@ require 'spreadsheet'
17
17
  #License:: GPLv2.0 Compliance
18
18
  #Source:: http://scm.ywesee.com/?p=swissmedic-diff/.git;a=summary
19
19
  class SwissmedicDiff
20
- VERSION = '0.1.4'
20
+ VERSION = '0.1.5'
21
21
 
22
22
  module Diff
23
23
  COLUMNS = [ :iksnr, :seqnr, :name_base, :company,
@@ -294,7 +294,8 @@ class SwissmedicDiff
294
294
  worksheet.each(skipRows) {
295
295
  |row|
296
296
  if row.size < COLUMNS.size/2 || row.select{|val| val==nil}.size > COLUMNS.size/2
297
- raise "Data missing in \n(line " + (row.idx+1).to_s + "): " + row.join(", ").to_s + "\n"
297
+ $stdout.puts "Data missing in \n(line " + (row.idx+1).to_s + "): " + row.join(", ").to_s + "\n"
298
+ next
298
299
  end
299
300
  next if (cell(row, column(:production_science)) == 'Tierarzneimittel')
300
301
  row[column(:iksnr)] = "%05i" % cell(row, column(:iksnr)).to_i
@@ -4,11 +4,11 @@
4
4
 
5
5
  $: << File.expand_path("../lib", File.dirname(__FILE__))
6
6
 
7
- require 'test/unit'
7
+ require 'minitest/autorun'
8
8
  require 'swissmedic-diff'
9
9
 
10
10
  module ODDB
11
- class SwissmedicPluginTest < Test::Unit::TestCase
11
+ class SwissmedicPluginTest < Minitest::Test
12
12
  def setup
13
13
  @diff = SwissmedicDiff.new
14
14
  @data = File.expand_path 'data/Packungen.xls',
@@ -26,6 +26,26 @@ module ODDB
26
26
  @workbook = Spreadsheet.open(@data)
27
27
  end
28
28
 
29
+ # This is not a unit test as it takes way too long (> 1 minute)
30
+ # Instead it might just tell you how to test with real data
31
+ def test_real_diff
32
+ require 'pp'
33
+ @diff = SwissmedicDiff.new
34
+ last_month = File.expand_path 'data/Packungen-2013.08.16.xls', File.dirname(__FILE__)
35
+ this_month = File.expand_path 'data/Packungen-2013.11.04.xls', File.dirname(__FILE__)
36
+ result = @diff.diff last_month, this_month, [:atc_class, :sequence_date]
37
+ pp result.news.first
38
+ pp result.news.last
39
+ pp result.updates.first
40
+ pp result.replacements.first
41
+ # assert(result.changes.flatten.index('Zulassungs-Nummer') == nil, "Should not find Zulassungs-Nummer in changes")
42
+ # assert(result.news.flatten.index('Zulassungs-Nummer') == nil, "Should not find Zulassungs-Nummer in changes")
43
+ # assert(result.news.flatten.index('00277') == nil, "Should not find 00277 in news")
44
+ pp result.news.size
45
+ pp result.updates.size
46
+ pp result.replacements.size
47
+ end if false
48
+
29
49
  def test_iterate
30
50
  diff = SwissmedicDiff.new
31
51
  strings = []
@@ -51,7 +71,9 @@ module ODDB
51
71
 
52
72
  def test_diff_pre_2013_to_2013
53
73
  result = @diff.diff(@data_2013, @data)
54
- assert(result.changes.flatten.index('Zulassungs-Nummer') == nil, "Should not find Zulassungs-Nummer in difference")
74
+ assert(result.changes.flatten.index('Zulassungs-Nummer') == nil, "Should not find Zulassungs-Nummer in changes")
75
+ assert(result.news.flatten.index('Zulassungs-Nummer') == nil, "Should not find Zulassungs-Nummer in changes")
76
+ assert(result.news.flatten.index('00277') == nil, "Should not find 00277 in news")
55
77
  assert_equal 6, result.news.size
56
78
  expected = {
57
79
  "00277"=>[:company, :sequence_date, :substances, :composition, :name_base],
@@ -112,23 +134,21 @@ module ODDB
112
134
  assert_equal '005', result.replacements.values.first
113
135
  end
114
136
  def test_diff_error_column
115
- assert_raise(RuntimeError) {
137
+ assert_raises(RuntimeError) {
116
138
  @diff.diff(@data_error_column, @older)
117
139
  }
118
140
  end
119
141
 
120
142
  # if row.size < COLUMNS.size/2
143
+ # as per december 2013 does no longer raise an error, but outputs the problematic line
121
144
  def test_diff_error_missing_case1
122
- assert_raise(RuntimeError) {
123
- @diff.diff(@data_error_missing_case1, @older)
124
- }
145
+ @diff.diff(@data_error_missing_case1, @older)
125
146
  end
126
147
 
127
148
  # if row.select{|val| val==nil}.size > COLUMNS.size/2
149
+ # as per december 2013 does no longer raise an error, but outputs the problematic line
128
150
  def test_diff_error_missing_case2
129
- assert_raise(RuntimeError) {
130
- @diff.diff(@data_error_missing_case2, @older)
131
- }
151
+ @diff.diff(@data_error_missing_case2, @older)
132
152
  end
133
153
  def test_diff__ignore
134
154
  ignore = [:company, :atc_class]
@@ -162,9 +182,7 @@ module ODDB
162
182
  assert_equal '005', result.replacements.values.first
163
183
  end
164
184
  def test_to_s
165
- assert_nothing_raised {
166
- @diff.to_s
167
- }
185
+ @diff.to_s
168
186
  @diff.diff(@data, @older)
169
187
  assert_equal <<-EOS.strip, @diff.to_s
170
188
  + 00275: Cardio-Pulmo-Rénal Sérocytol, suppositoire
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: swissmedic-diff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-10-22 00:00:00.000000000 Z
12
+ date: 2013-12-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rdoc
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: '3.10'
21
+ version: '4.0'
22
22
  type: :development
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: '3.10'
29
+ version: '4.0'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: hoe
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -34,7 +34,7 @@ dependencies:
34
34
  requirements:
35
35
  - - ~>
36
36
  - !ruby/object:Gem::Version
37
- version: '2.13'
37
+ version: '3.6'
38
38
  type: :development
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
@@ -42,7 +42,7 @@ dependencies:
42
42
  requirements:
43
43
  - - ~>
44
44
  - !ruby/object:Gem::Version
45
- version: '2.13'
45
+ version: '3.6'
46
46
  description: ! '* Compares two Excel Documents provided by Swissmedic and displays
47
47
  the
48
48