swissmedic-diff 0.1.8 → 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.
- checksums.yaml +8 -8
 - data/.travis.yml +2 -2
 - data/Gemfile +6 -1
 - data/Gemfile.lock +18 -18
 - data/History.txt +4 -0
 - data/lib/swissmedic-diff.rb +11 -14
 - data/lib/version.rb +1 -1
 - data/test/data/Packungen_2014_small.xlsx +0 -0
 - data/test/test_swissmedic-diff.rb +8 -21
 - metadata +7 -6
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,15 +1,15 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            !binary "U0hBMQ==":
         
     | 
| 
       3 
3 
     | 
    
         
             
              metadata.gz: !binary |-
         
     | 
| 
       4 
     | 
    
         
            -
                 
     | 
| 
      
 4 
     | 
    
         
            +
                NGZmZDYzOTBkNGI4MWQ5OTdlMTU4YmYyNzExNzI0YmU1MmZjOWIyMg==
         
     | 
| 
       5 
5 
     | 
    
         
             
              data.tar.gz: !binary |-
         
     | 
| 
       6 
     | 
    
         
            -
                 
     | 
| 
      
 6 
     | 
    
         
            +
                NTA2M2YwNTU3M2RjNTIxNzJmZTUxZjM5MTg2NWZhZjg1NGM3ZGZlNA==
         
     | 
| 
       7 
7 
     | 
    
         
             
            SHA512:
         
     | 
| 
       8 
8 
     | 
    
         
             
              metadata.gz: !binary |-
         
     | 
| 
       9 
     | 
    
         
            -
                 
     | 
| 
       10 
     | 
    
         
            -
                 
     | 
| 
       11 
     | 
    
         
            -
                 
     | 
| 
      
 9 
     | 
    
         
            +
                YzU4YjQ4ODRkMzc4OTZmMWM3MWM2MjUxNTBlNDFmY2Q5ZmM0ZmVhMTJhZDZj
         
     | 
| 
      
 10 
     | 
    
         
            +
                MmQ2MTg2NWY2NzY1MzEzZTRkZTBlY2FkMTA3MGY0OGRkOWE4M2YxOTIxM2M2
         
     | 
| 
      
 11 
     | 
    
         
            +
                YTZkZWQyODMzZDRjMDE2OGVjNGVhNGM5NTFhNjc2ZjYyYTQ0ZmI=
         
     | 
| 
       12 
12 
     | 
    
         
             
              data.tar.gz: !binary |-
         
     | 
| 
       13 
     | 
    
         
            -
                 
     | 
| 
       14 
     | 
    
         
            -
                 
     | 
| 
       15 
     | 
    
         
            -
                 
     | 
| 
      
 13 
     | 
    
         
            +
                MjUwYjRmZThhMGUxMTZkMDUxNzdjZTRkNWQyYWFlMzZmMzdmNjI2YmMwZjFk
         
     | 
| 
      
 14 
     | 
    
         
            +
                MWFjMmEwOWMwYTNjNTM3YTkyODNjOGE1MGMxNTFhMDIyZjRjOWQ0OWM4M2Qz
         
     | 
| 
      
 15 
     | 
    
         
            +
                YTM1ZTgyY2MwZTIwNTM0NzcyNjkwNDFhMjExM2MyZDMzNTgzZjI=
         
     | 
    
        data/.travis.yml
    CHANGED
    
    
    
        data/Gemfile
    CHANGED
    
    
    
        data/Gemfile.lock
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            PATH
         
     | 
| 
       2 
2 
     | 
    
         
             
              remote: .
         
     | 
| 
       3 
3 
     | 
    
         
             
              specs:
         
     | 
| 
       4 
     | 
    
         
            -
                swissmedic-diff (0.1. 
     | 
| 
      
 4 
     | 
    
         
            +
                swissmedic-diff (0.1.9)
         
     | 
| 
       5 
5 
     | 
    
         
             
                  nokogiri
         
     | 
| 
       6 
6 
     | 
    
         
             
                  rubyXL
         
     | 
| 
       7 
7 
     | 
    
         
             
                  rubyzip
         
     | 
| 
         @@ -10,44 +10,44 @@ PATH 
     | 
|
| 
       10 
10 
     | 
    
         
             
            GEM
         
     | 
| 
       11 
11 
     | 
    
         
             
              remote: https://rubygems.org/
         
     | 
| 
       12 
12 
     | 
    
         
             
              specs:
         
     | 
| 
       13 
     | 
    
         
            -
                ansi (1. 
     | 
| 
      
 13 
     | 
    
         
            +
                ansi (1.5.0)
         
     | 
| 
       14 
14 
     | 
    
         
             
                builder (3.2.2)
         
     | 
| 
       15 
15 
     | 
    
         
             
                coderay (1.1.0)
         
     | 
| 
       16 
     | 
    
         
            -
                columnize (0. 
     | 
| 
      
 16 
     | 
    
         
            +
                columnize (0.9.0)
         
     | 
| 
       17 
17 
     | 
    
         
             
                debugger (1.6.8)
         
     | 
| 
       18 
18 
     | 
    
         
             
                  columnize (>= 0.3.1)
         
     | 
| 
       19 
19 
     | 
    
         
             
                  debugger-linecache (~> 1.2.0)
         
     | 
| 
       20 
20 
     | 
    
         
             
                  debugger-ruby_core_source (~> 1.3.5)
         
     | 
| 
       21 
21 
     | 
    
         
             
                debugger-linecache (1.2.0)
         
     | 
| 
       22 
     | 
    
         
            -
                debugger-ruby_core_source (1.3. 
     | 
| 
       23 
     | 
    
         
            -
                hoe (3. 
     | 
| 
      
 22 
     | 
    
         
            +
                debugger-ruby_core_source (1.3.8)
         
     | 
| 
      
 23 
     | 
    
         
            +
                hoe (3.13.1)
         
     | 
| 
       24 
24 
     | 
    
         
             
                  rake (>= 0.8, < 11.0)
         
     | 
| 
       25 
25 
     | 
    
         
             
                method_source (0.8.2)
         
     | 
| 
       26 
     | 
    
         
            -
                mini_portile (0.6. 
     | 
| 
       27 
     | 
    
         
            -
                minitest (5. 
     | 
| 
       28 
     | 
    
         
            -
                minitest-reporters (1.0. 
     | 
| 
      
 26 
     | 
    
         
            +
                mini_portile (0.6.2)
         
     | 
| 
      
 27 
     | 
    
         
            +
                minitest (5.7.0)
         
     | 
| 
      
 28 
     | 
    
         
            +
                minitest-reporters (1.0.16)
         
     | 
| 
       29 
29 
     | 
    
         
             
                  ansi
         
     | 
| 
       30 
30 
     | 
    
         
             
                  builder
         
     | 
| 
       31 
31 
     | 
    
         
             
                  minitest (>= 5.0)
         
     | 
| 
       32 
32 
     | 
    
         
             
                  ruby-progressbar
         
     | 
| 
       33 
     | 
    
         
            -
                nokogiri (1.6.2 
     | 
| 
       34 
     | 
    
         
            -
                  mini_portile ( 
     | 
| 
       35 
     | 
    
         
            -
                pry (0.10. 
     | 
| 
      
 33 
     | 
    
         
            +
                nokogiri (1.6.6.2)
         
     | 
| 
      
 34 
     | 
    
         
            +
                  mini_portile (~> 0.6.0)
         
     | 
| 
      
 35 
     | 
    
         
            +
                pry (0.10.1)
         
     | 
| 
       36 
36 
     | 
    
         
             
                  coderay (~> 1.1.0)
         
     | 
| 
       37 
37 
     | 
    
         
             
                  method_source (~> 0.8.1)
         
     | 
| 
       38 
38 
     | 
    
         
             
                  slop (~> 3.4)
         
     | 
| 
       39 
39 
     | 
    
         
             
                pry-debugger (0.2.3)
         
     | 
| 
       40 
40 
     | 
    
         
             
                  debugger (~> 1.3)
         
     | 
| 
       41 
41 
     | 
    
         
             
                  pry (>= 0.9.10, < 0.11.0)
         
     | 
| 
       42 
     | 
    
         
            -
                rake (10. 
     | 
| 
       43 
     | 
    
         
            -
                ruby-ole (1.2.11. 
     | 
| 
       44 
     | 
    
         
            -
                ruby-progressbar (1.5 
     | 
| 
       45 
     | 
    
         
            -
                rubyXL (3. 
     | 
| 
      
 42 
     | 
    
         
            +
                rake (10.4.2)
         
     | 
| 
      
 43 
     | 
    
         
            +
                ruby-ole (1.2.11.8)
         
     | 
| 
      
 44 
     | 
    
         
            +
                ruby-progressbar (1.7.5)
         
     | 
| 
      
 45 
     | 
    
         
            +
                rubyXL (3.3.8)
         
     | 
| 
       46 
46 
     | 
    
         
             
                  nokogiri (>= 1.4.4)
         
     | 
| 
       47 
47 
     | 
    
         
             
                  rubyzip (>= 1.1.6)
         
     | 
| 
       48 
     | 
    
         
            -
                rubyzip (1.1. 
     | 
| 
       49 
     | 
    
         
            -
                slop (3. 
     | 
| 
       50 
     | 
    
         
            -
                spreadsheet (0. 
     | 
| 
      
 48 
     | 
    
         
            +
                rubyzip (1.1.7)
         
     | 
| 
      
 49 
     | 
    
         
            +
                slop (3.6.0)
         
     | 
| 
      
 50 
     | 
    
         
            +
                spreadsheet (1.0.3)
         
     | 
| 
       51 
51 
     | 
    
         
             
                  ruby-ole (>= 1.0)
         
     | 
| 
       52 
52 
     | 
    
         | 
| 
       53 
53 
     | 
    
         
             
            PLATFORMS
         
     | 
    
        data/History.txt
    CHANGED
    
    
    
        data/lib/swissmedic-diff.rb
    CHANGED
    
    | 
         @@ -19,11 +19,11 @@ require File.join(File.dirname(__FILE__), 'compatibility.rb') 
     | 
|
| 
       19 
19 
     | 
    
         
             
            #Authors::   Hannes Wyss (hwyss@ywesee.com), Masaomi Hatakeyama (mhatakeyama@ywesee.com)
         
     | 
| 
       20 
20 
     | 
    
         
             
            #Version::   0.1.4 2013-10-16 commit c30af5c15f6b8101f8f84cb482dfd09ab20729d6
         
     | 
| 
       21 
21 
     | 
    
         
             
            #Copyright:: Copyright (C) ywesee GmbH, 2010. All rights reserved.
         
     | 
| 
       22 
     | 
    
         
            -
            #License::   GPLv2.0 Compliance 
     | 
| 
      
 22 
     | 
    
         
            +
            #License::   GPLv2.0 Compliance
         
     | 
| 
       23 
23 
     | 
    
         
             
            #Source::    http://scm.ywesee.com/?p=swissmedic-diff/.git;a=summary
         
     | 
| 
       24 
24 
     | 
    
         
             
            class SwissmedicDiff
         
     | 
| 
       25 
25 
     | 
    
         
             
              module Diff
         
     | 
| 
       26 
     | 
    
         
            -
                COLUMNS = [ :iksnr, :seqnr, :name_base, :company, 
     | 
| 
      
 26 
     | 
    
         
            +
                COLUMNS = [ :iksnr, :seqnr, :name_base, :company,
         
     | 
| 
       27 
27 
     | 
    
         
             
                            :index_therapeuticus, :atc_class, :production_science,
         
     | 
| 
       28 
28 
     | 
    
         
             
                            :registration_date, :sequence_date, :expiry_date, :ikscd,
         
     | 
| 
       29 
29 
     | 
    
         
             
                            :size, :unit, :ikscat, :substances, :composition,
         
     | 
| 
         @@ -102,9 +102,6 @@ class SwissmedicDiff 
     | 
|
| 
       102 
102 
     | 
    
         
             
                  Spreadsheet.client_encoding = 'UTF-8'
         
     | 
| 
       103 
103 
     | 
    
         
             
                  tbook = Spreadsheet.open(target)
         
     | 
| 
       104 
104 
     | 
    
         
             
                  sheet = tbook.worksheet(0)
         
     | 
| 
       105 
     | 
    
         
            -
                  if new_column = cell(sheet.row(2), COLUMNS.size)
         
     | 
| 
       106 
     | 
    
         
            -
                    raise "New column #{COLUMNS.size} (#{new_column})"
         
     | 
| 
       107 
     | 
    
         
            -
                  end
         
     | 
| 
       108 
105 
     | 
    
         
             
                  idx, prr, prp = nil
         
     | 
| 
       109 
106 
     | 
    
         
             
                  multiples = {}
         
     | 
| 
       110 
107 
     | 
    
         
             
                  each_valid_row(tbook) { |row|
         
     | 
| 
         @@ -137,7 +134,7 @@ class SwissmedicDiff 
     | 
|
| 
       137 
134 
     | 
    
         
             
                      (changes[iksnr].concat flags).uniq!
         
     | 
| 
       138 
135 
     | 
    
         
             
                      updates.push row unless flags.empty?
         
     | 
| 
       139 
136 
     | 
    
         
             
                    else
         
     | 
| 
       140 
     | 
    
         
            -
                      replacements.store [ iksnr, seqnr, cell(row, column(:size)), 
     | 
| 
      
 137 
     | 
    
         
            +
                      replacements.store [ iksnr, seqnr, cell(row, column(:size)),
         
     | 
| 
       141 
138 
     | 
    
         
             
                                            cell(row, column(:unit)) ], row
         
     | 
| 
       142 
139 
     | 
    
         
             
                      flags = changes[iksnr]
         
     | 
| 
       143 
140 
     | 
    
         
             
                      flags.push(:sequence).uniq! unless(flags.include? :new)
         
     | 
| 
         @@ -146,7 +143,7 @@ class SwissmedicDiff 
     | 
|
| 
       146 
143 
     | 
    
         
             
                  }
         
     | 
| 
       147 
144 
     | 
    
         
             
                  @diff.replacements = reps = {}
         
     | 
| 
       148 
145 
     | 
    
         
             
                  known_pacs.each { |(iksnr, pacnr), row|
         
     | 
| 
       149 
     | 
    
         
            -
                    key = [iksnr, '%02i' % cell(row, column(:seqnr)).to_i, 
     | 
| 
      
 146 
     | 
    
         
            +
                    key = [iksnr, '%02i' % cell(row, column(:seqnr)).to_i,
         
     | 
| 
       150 
147 
     | 
    
         
             
                                  cell(row, column(:size)), cell(row, column(:unit))]
         
     | 
| 
       151 
148 
     | 
    
         
             
                    if(rep = replacements[key])
         
     | 
| 
       152 
149 
     | 
    
         
             
                      changes[iksnr].push :replaced_package
         
     | 
| 
         @@ -157,7 +154,7 @@ class SwissmedicDiff 
     | 
|
| 
       157 
154 
     | 
    
         
             
                  changes.delete_if { |iksnr, flags| flags.empty? }
         
     | 
| 
       158 
155 
     | 
    
         
             
                  @diff.package_deletions = known_pacs.collect { |key, row|
         
     | 
| 
       159 
156 
     | 
    
         
             
                    ## the keys in known_pacs don't include the sequence number (which
         
     | 
| 
       160 
     | 
    
         
            -
                    #  would prevent us from properly recognizing multi-sequence-Packages), 
     | 
| 
      
 157 
     | 
    
         
            +
                    #  would prevent us from properly recognizing multi-sequence-Packages),
         
     | 
| 
       161 
158 
     | 
    
         
             
                    #  so we need complete the path to the package now
         
     | 
| 
       162 
159 
     | 
    
         
             
                    key[1,0] = '%02i' % cell(row, column(:seqnr)).to_i
         
     | 
| 
       163 
160 
     | 
    
         
             
                    key
         
     | 
| 
         @@ -205,7 +202,7 @@ class SwissmedicDiff 
     | 
|
| 
       205 
202 
     | 
    
         
             
                    known_regs.store [iksnr], row
         
     | 
| 
       206 
203 
     | 
    
         
             
                    known_seqs.store [iksnr, seqnr], row
         
     | 
| 
       207 
204 
     | 
    
         
             
                    known_pacs.store [iksnr, pacnr, idx], row
         
     | 
| 
       208 
     | 
    
         
            -
                    (newest_rows[iksnr] ||= {})[pacnr] = row 
     | 
| 
      
 205 
     | 
    
         
            +
                    (newest_rows[iksnr] ||= {})[pacnr] = row
         
     | 
| 
       209 
206 
     | 
    
         
             
                  }
         
     | 
| 
       210 
207 
     | 
    
         
             
                end
         
     | 
| 
       211 
208 
     | 
    
         
             
                def name(diff, iksnr)
         
     | 
| 
         @@ -236,7 +233,7 @@ class SwissmedicDiff 
     | 
|
| 
       236 
233 
     | 
    
         
             
                def to_s(sort=:group)
         
     | 
| 
       237 
234 
     | 
    
         
             
                  @diff ||= nil
         
     | 
| 
       238 
235 
     | 
    
         
             
                  return '' unless @diff
         
     | 
| 
       239 
     | 
    
         
            -
                  @diff.changes.sort_by { |iksnr, flags| 
     | 
| 
      
 236 
     | 
    
         
            +
                  @diff.changes.sort_by { |iksnr, flags|
         
     | 
| 
       240 
237 
     | 
    
         
             
                    _sort_by(sort, iksnr, flags)
         
     | 
| 
       241 
238 
     | 
    
         
             
                  }.collect { |iksnr, flags|
         
     | 
| 
       242 
239 
     | 
    
         
             
                    if(flags.include? :new)
         
     | 
| 
         @@ -245,7 +242,7 @@ class SwissmedicDiff 
     | 
|
| 
       245 
242 
     | 
    
         
             
                      "- " << describe(@diff, iksnr)
         
     | 
| 
       246 
243 
     | 
    
         
             
                    else
         
     | 
| 
       247 
244 
     | 
    
         
             
                      "> " << describe(@diff, iksnr) << "; " \
         
     | 
| 
       248 
     | 
    
         
            -
                        << flags.collect { |flag| describe_flag(@diff, iksnr, flag) 
     | 
| 
      
 245 
     | 
    
         
            +
                        << flags.collect { |flag| describe_flag(@diff, iksnr, flag)
         
     | 
| 
       249 
246 
     | 
    
         
             
                      }.compact.join(", ")
         
     | 
| 
       250 
247 
     | 
    
         
             
                    end
         
     | 
| 
       251 
248 
     | 
    
         
             
                  }.join("\n")
         
     | 
| 
         @@ -279,7 +276,7 @@ class SwissmedicDiff 
     | 
|
| 
       279 
276 
     | 
    
         
             
                    end
         
     | 
| 
       280 
277 
     | 
    
         
             
                  end
         
     | 
| 
       281 
278 
     | 
    
         
             
                end
         
     | 
| 
       282 
     | 
    
         
            -
             
     | 
| 
      
 279 
     | 
    
         
            +
             
     | 
| 
       283 
280 
     | 
    
         
             
                #=== iterate over all valid rows of a swissmedic Packungen.xls
         
     | 
| 
       284 
281 
     | 
    
         
             
                #
         
     | 
| 
       285 
282 
     | 
    
         
             
                # Iterates over all rows, ignoring Tierarzneimittel and
         
     | 
| 
         @@ -312,7 +309,7 @@ class SwissmedicDiff 
     | 
|
| 
       312 
309 
     | 
    
         
             
                    yield row
         
     | 
| 
       313 
310 
     | 
    
         
             
                  }
         
     | 
| 
       314 
311 
     | 
    
         
             
                end
         
     | 
| 
       315 
     | 
    
         
            -
             
     | 
| 
      
 312 
     | 
    
         
            +
             
     | 
| 
       316 
313 
     | 
    
         
             
                def rows_to_skip(spreadsheet)
         
     | 
| 
       317 
314 
     | 
    
         
             
                  # Packungen.xls of swissmedic before October 2013 had  3 leading rows
         
     | 
| 
       318 
315 
     | 
    
         
             
                  # Packungen.xls of swissmedic after  October 2013 have 4 leading rows
         
     | 
| 
         @@ -325,7 +322,7 @@ class SwissmedicDiff 
     | 
|
| 
       325 
322 
     | 
    
         
             
                  end
         
     | 
| 
       326 
323 
     | 
    
         
             
                  j
         
     | 
| 
       327 
324 
     | 
    
         
             
                end
         
     | 
| 
       328 
     | 
    
         
            -
             
     | 
| 
      
 325 
     | 
    
         
            +
             
     | 
| 
       329 
326 
     | 
    
         
             
              end
         
     | 
| 
       330 
327 
     | 
    
         
             
              include Diff
         
     | 
| 
       331 
328 
     | 
    
         
             
            end
         
     | 
    
        data/lib/version.rb
    CHANGED
    
    
| 
         Binary file 
     | 
| 
         @@ -35,8 +35,8 @@ module ODDB 
     | 
|
| 
       35 
35 
     | 
    
         
             
                  assert(result.changes.flatten.index('Zulassungs-Nummer') == nil, "Should not find Zulassungs-Nummer in changes")
         
     | 
| 
       36 
36 
     | 
    
         
             
                  # puts "Got #{result.news.size} news, #{result.changes.size} changes, #{result.updates.size} updates."
         
     | 
| 
       37 
37 
     | 
    
         
             
                  assert_equal(8, result.news.size)
         
     | 
| 
       38 
     | 
    
         
            -
                  assert_equal( 
     | 
| 
       39 
     | 
    
         
            -
                  assert_equal( 
     | 
| 
      
 38 
     | 
    
         
            +
                  assert_equal(4, result.changes.size)
         
     | 
| 
      
 39 
     | 
    
         
            +
                  assert_equal(2, result.updates.size)
         
     | 
| 
       40 
40 
     | 
    
         
             
                  assert(result.news.first.index('00280'), "Should find 00280 in news")
         
     | 
| 
       41 
41 
     | 
    
         
             
                  assert(result.news.flatten.index('65034'), "Should find 65034 in news")
         
     | 
| 
       42 
42 
     | 
    
         
             
                  assert(result.news.flatten.index('00277') == nil, "Should not find 00277 in news")
         
     | 
| 
         @@ -67,7 +67,7 @@ module ODDB 
     | 
|
| 
       67 
67 
     | 
    
         | 
| 
       68 
68 
     | 
    
         
             
                def test_diff_xlsx_and_xls
         
     | 
| 
       69 
69 
     | 
    
         
             
                  @diff = SwissmedicDiff.new
         
     | 
| 
       70 
     | 
    
         
            -
                  last_month = File.expand_path 'data/ 
     | 
| 
      
 70 
     | 
    
         
            +
                  last_month = File.expand_path 'data/Packungen_2014_01.xlsx',  File.dirname(__FILE__)
         
     | 
| 
       71 
71 
     | 
    
         
             
                  this_month = File.expand_path 'data/Packungen.xls',  File.dirname(__FILE__)
         
     | 
| 
       72 
72 
     | 
    
         
             
                  result = @diff.diff last_month, this_month, [:atc_class, :sequence_date]
         
     | 
| 
       73 
73 
     | 
    
         
             
                  assert_equal(7, result.news.size)
         
     | 
| 
         @@ -79,26 +79,14 @@ module ODDB 
     | 
|
| 
       79 
79 
     | 
    
         
             
                end
         
     | 
| 
       80 
80 
     | 
    
         
             
                def test_diff_xlsx_and_xlsx
         
     | 
| 
       81 
81 
     | 
    
         
             
                  @diff = SwissmedicDiff.new
         
     | 
| 
       82 
     | 
    
         
            -
                  last_month = File.expand_path 'data/ 
     | 
| 
      
 82 
     | 
    
         
            +
                  last_month = File.expand_path 'data/Packungen_2014_01.xlsx',  File.dirname(__FILE__)
         
     | 
| 
       83 
83 
     | 
    
         
             
                  this_month = File.expand_path 'data/Packungen_2014_small.xlsx',  File.dirname(__FILE__)
         
     | 
| 
       84 
84 
     | 
    
         
             
                  result = @diff.diff last_month, this_month, [:atc_class, :sequence_date]
         
     | 
| 
       85 
     | 
    
         
            -
                  assert_equal({}, result.changes)
         
     | 
| 
      
 85 
     | 
    
         
            +
                  assert_equal({"00277"=>[:expiry_date, :indication_sequence]}, result.changes)
         
     | 
| 
      
 86 
     | 
    
         
            +
                  assert_equal(1, result.updates.size)
         
     | 
| 
       86 
87 
     | 
    
         
             
                  assert_equal([], result.news)
         
     | 
| 
       87 
     | 
    
         
            -
                  assert_equal([], result.updates)
         
     | 
| 
       88 
88 
     | 
    
         
             
                end
         
     | 
| 
       89 
89 
     | 
    
         | 
| 
       90 
     | 
    
         
            -
                # This is not a unit test as it takes way too long (> 1 minute)
         
     | 
| 
       91 
     | 
    
         
            -
                # Instead it might just tell you how to test with real data
         
     | 
| 
       92 
     | 
    
         
            -
                def test_real_diff
         
     | 
| 
       93 
     | 
    
         
            -
                  @diff = SwissmedicDiff.new
         
     | 
| 
       94 
     | 
    
         
            -
                  last_month = File.expand_path 'data/Packungen-2013.08.16.xls',  File.dirname(__FILE__)
         
     | 
| 
       95 
     | 
    
         
            -
                  this_month = File.expand_path 'data/Packungen-2013.11.04.xls',  File.dirname(__FILE__)
         
     | 
| 
       96 
     | 
    
         
            -
                  result = @diff.diff last_month, this_month, [:atc_class, :sequence_date]
         
     | 
| 
       97 
     | 
    
         
            -
                  assert(result.changes.flatten.index('Zulassungs-Nummer') == nil, "Should not find Zulassungs-Nummer in changes")
         
     | 
| 
       98 
     | 
    
         
            -
                  assert(result.news.flatten.index('Zulassungs-Nummer') == nil, "Should not find Zulassungs-Nummer in changes")
         
     | 
| 
       99 
     | 
    
         
            -
                  assert(result.news.flatten.index('00277') == nil, "Should not find 00277 in news")
         
     | 
| 
       100 
     | 
    
         
            -
                end if false
         
     | 
| 
       101 
     | 
    
         
            -
             
     | 
| 
       102 
90 
     | 
    
         
             
                def test_iterate
         
     | 
| 
       103 
91 
     | 
    
         
             
                  diff = SwissmedicDiff.new
         
     | 
| 
       104 
92 
     | 
    
         
             
                  strings = []
         
     | 
| 
         @@ -187,9 +175,8 @@ module ODDB 
     | 
|
| 
       187 
175 
     | 
    
         
             
                  assert_equal '005', result.replacements.values.first
         
     | 
| 
       188 
176 
     | 
    
         
             
                end
         
     | 
| 
       189 
177 
     | 
    
         
             
                def test_diff_error_column
         
     | 
| 
       190 
     | 
    
         
            -
                   
     | 
| 
       191 
     | 
    
         
            -
             
     | 
| 
       192 
     | 
    
         
            -
                  }
         
     | 
| 
      
 178 
     | 
    
         
            +
                  res = @diff.diff(@data_error_column, @older)
         
     | 
| 
      
 179 
     | 
    
         
            +
                  assert_equal(OpenStruct, res.class)
         
     | 
| 
       193 
180 
     | 
    
         
             
                end
         
     | 
| 
       194 
181 
     | 
    
         | 
| 
       195 
182 
     | 
    
         
             
                # if row.size < COLUMNS.size/2
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: swissmedic-diff
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.1.9
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Masaomi Hatakeyama, Zeno R.R. Davatz
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date:  
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2015-06-08 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: rdoc
         
     | 
| 
         @@ -30,14 +30,14 @@ dependencies: 
     | 
|
| 
       30 
30 
     | 
    
         
             
                requirements:
         
     | 
| 
       31 
31 
     | 
    
         
             
                - - ~>
         
     | 
| 
       32 
32 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       33 
     | 
    
         
            -
                    version: '3. 
     | 
| 
      
 33 
     | 
    
         
            +
                    version: '3.7'
         
     | 
| 
       34 
34 
     | 
    
         
             
              type: :development
         
     | 
| 
       35 
35 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       36 
36 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       37 
37 
     | 
    
         
             
                requirements:
         
     | 
| 
       38 
38 
     | 
    
         
             
                - - ~>
         
     | 
| 
       39 
39 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       40 
     | 
    
         
            -
                    version: '3. 
     | 
| 
      
 40 
     | 
    
         
            +
                    version: '3.7'
         
     | 
| 
       41 
41 
     | 
    
         
             
            description: ! '* Compares two Excel Documents provided by Swissmedic and displays
         
     | 
| 
       42 
42 
     | 
    
         
             
              the
         
     | 
| 
       43 
43 
     | 
    
         | 
| 
         @@ -86,7 +86,8 @@ files: 
     | 
|
| 
       86 
86 
     | 
    
         
             
            - test/data/Packungen_error_missing2.xls
         
     | 
| 
       87 
87 
     | 
    
         
             
            - test/test_swissmedic-diff.rb
         
     | 
| 
       88 
88 
     | 
    
         
             
            homepage: https://github.com/zdavatz/swissmedic-diff
         
     | 
| 
       89 
     | 
    
         
            -
            licenses: 
     | 
| 
      
 89 
     | 
    
         
            +
            licenses:
         
     | 
| 
      
 90 
     | 
    
         
            +
            - MIT
         
     | 
| 
       90 
91 
     | 
    
         
             
            metadata: {}
         
     | 
| 
       91 
92 
     | 
    
         
             
            post_install_message: 
         
     | 
| 
       92 
93 
     | 
    
         
             
            rdoc_options:
         
     | 
| 
         @@ -106,7 +107,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       106 
107 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       107 
108 
     | 
    
         
             
            requirements: []
         
     | 
| 
       108 
109 
     | 
    
         
             
            rubyforge_project: swissmedic-diff
         
     | 
| 
       109 
     | 
    
         
            -
            rubygems_version: 2. 
     | 
| 
      
 110 
     | 
    
         
            +
            rubygems_version: 2.3.0
         
     | 
| 
       110 
111 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       111 
112 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       112 
113 
     | 
    
         
             
            summary: ! '* Compares two Excel Documents provided by Swissmedic and displays the
         
     |