cdp 0.0.7 → 0.0.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +7 -0
  2. data/gemspec +1 -1
  3. data/lib/cdp.rb +19 -13
  4. data/test/test_cdp.rb +21 -2
  5. metadata +13 -17
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 06ce939ab83bdfaeebfc75a34fce46dbf5ba3d9c
4
+ data.tar.gz: 860c1c3f76fd161e372eab00ba8daef93419c7fd
5
+ SHA512:
6
+ metadata.gz: d584656c714ec20abe882df737a6b53fef4646241062aa6e4fa0a84dbb6c479eea6bf3deb97be054b0e566dea0e58601efe548be374377cf96d035dcc3bfcd1b
7
+ data.tar.gz: 25efbdda97dc4912b151c69b114a440a0c094d288a540d4237f292d60607f4f249b99fb6c03bff435988234bac2696003b999ab37954398d0d25c99b6b673e07
data/gemspec CHANGED
@@ -3,7 +3,7 @@ $:.unshift File.join(File.dirname(__FILE__),"..","lib")
3
3
 
4
4
  spec = Gem::Specification.new do |s|
5
5
  s.name = "cdp"
6
- s.version = '0.0.7'
6
+ s.version = '0.0.8.1'
7
7
  s.platform = Gem::Platform::RUBY
8
8
  s.files = ["lib/cdp.rb"] + ["gemspec"]
9
9
  s.test_file = "test/test_cdp.rb"
data/lib/cdp.rb CHANGED
@@ -34,21 +34,27 @@ module Cdp
34
34
  end
35
35
 
36
36
  # compute the experiments from the data directories and link the corresponding files
37
- def Cdp.splitFilesIntoExperiments(files,exp='exp')
38
- experiments = files.map {|f| File.basename(File.dirname(f))}.uniq.sort_by {|f| f.length}.reverse
37
+ def Cdp.splitFilesIntoExperiments(files,exp=nil)
38
+ defautExpName = 'exp'
39
+ experiments = files.map {|f| File.basename(File.dirname(f))}.uniq.sort_by {|f| f.length}.reverse
39
40
  # take the larges part of the filenames as experiment name if the files are in
40
41
  # the current directory
41
- if experiments == ["."] then
42
- n = files.map(&:size).min.times.map {|i|
43
- if files.map {|f| f[0,i-1]}.uniq.size == 1
44
- 1
45
- else
46
- nil
47
- end
48
- }.find_all {|v| not v.nil?}.size-1
49
- uniqName = files[0][0,n]
50
- uniqName = exp if uniqName.empty?
51
- experiments = [uniqName]
42
+ if exp.nil?
43
+ if [["."],[".."],[".",".."],[""]].include?(experiments) then
44
+ n = files.map(&:size).min.times.map {|i|
45
+ if files.map {|f| f[0,i-1]}.uniq.size == 1
46
+ 1
47
+ else
48
+ nil
49
+ end
50
+ }.find_all {|v| not v.nil?}.size-1
51
+ uniqName = files[0][0,n]
52
+ uniqName = defautExpName if uniqName.empty?
53
+ experiments = [uniqName]
54
+ end
55
+ experiments [defautExpName] if experiments == [".."]
56
+ else
57
+ experiments = [exp]
52
58
  end
53
59
  experimentFiles, experimentAnalyzedData = {},{}
54
60
  experiments.each {|experiment|
@@ -1,5 +1,5 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__),"..","lib")
2
- require 'test/unit'
2
+ require 'minitest/autorun'
3
3
  require 'cdp'
4
4
  require 'pp'
5
5
 
@@ -11,12 +11,13 @@ ICONOCEL = DATADIR + "/oceLong.nc"
11
11
  ICONICE = DATADIR + "/oce.nc"
12
12
  WEIGHTS = File.dirname(__FILE__) + "/weights.nc"
13
13
 
14
- class TestCdp < Test::Unit::TestCase
14
+ class TestCdp < Minitest::Test
15
15
  def teardown
16
16
  FileUtils.rm(WEIGHTS) if File.exist?(WEIGHTS)
17
17
  end
18
18
  def test_set_debug
19
19
  Cdp.setDebug
20
+ Cdo.debug = true
20
21
  assert_equal(Cdp::debug,true)
21
22
  Cdp.setDebug(false)
22
23
  assert_equal(Cdp::debug,false)
@@ -35,16 +36,34 @@ class TestCdp < Test::Unit::TestCase
35
36
 
36
37
  def test_splitFiles
37
38
  files = []
39
+
38
40
  files << '../A/a' << '../A/aa' << '../B/b' << '../B/bb'
39
41
  exp, exp4ana = Cdp.splitFilesIntoExperiments(files)
40
42
  assert_equal(exp['A'],['../A/a','../A/aa'])
41
43
  assert_equal(exp['B'],['../B/b','../B/bb'])
44
+
42
45
  files << 'a' << 'aa' << 'b' << 'bb'
43
46
  grid, exp, exp4ana = Cdp.splitFilesIntoExperiments(files)
44
47
  assert_equal('exp',exp.keys[0])
48
+
49
+ files.clear
50
+ files << 'a0' << 'a1' << 'ab' << 'ac'
51
+ _files = files.clone
52
+ exp, exp4ana = Cdp.splitFilesIntoExperiments(files,'a')
53
+ pp exp
54
+ assert_equal('a',exp.keys[0])
55
+ assert_equal(_files,exp.values[0])
56
+
57
+ return
45
58
  files << './a' << './aa' << './b' << './bb'
46
59
  grid, exp, exp4ana = Cdp.splitFilesIntoExperiments(files)
47
60
  assert_equal('exp',exp.keys[0])
61
+ files << '../a' << '../aa' << '../b' << '../bb'
62
+ grid, exp, exp4ana = Cdp.splitFilesIntoExperiments(files)
63
+ assert_equal('exp',exp.keys[0])
64
+ files << '../a_01' << '../a_02' << '../a_03' << '../a_04'
65
+ grid, exp, exp4ana = Cdp.splitFilesIntoExperiments(files)
66
+ assert_equal('exp',exp.keys[0])
48
67
  grid, exp, exp4ana = Cdp.splitFilesIntoExperiments(files,'test')
49
68
  assert_equal('test',exp.keys[0])
50
69
  end
metadata CHANGED
@@ -1,30 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cdp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
5
- prerelease:
4
+ version: 0.0.8.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Ralf Mueller
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-02-27 00:00:00.000000000 Z
11
+ date: 2014-06-18 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: cdo
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  description: Climate Data Processing helpers
@@ -35,35 +32,34 @@ extra_rdoc_files:
35
32
  - README.textile
36
33
  - LICENSE
37
34
  files:
38
- - lib/cdp.rb
39
- - gemspec
40
- - README.textile
41
35
  - LICENSE
36
+ - README.textile
37
+ - gemspec
38
+ - lib/cdp.rb
42
39
  - test/test_cdp.rb
43
40
  homepage: https://github.com/Try2Code/cdp
44
41
  licenses:
45
42
  - BSD
43
+ metadata: {}
46
44
  post_install_message:
47
45
  rdoc_options: []
48
46
  require_paths:
49
47
  - lib
50
48
  required_ruby_version: !ruby/object:Gem::Requirement
51
- none: false
52
49
  requirements:
53
- - - ! '>='
50
+ - - ">="
54
51
  - !ruby/object:Gem::Version
55
52
  version: '1.9'
56
53
  required_rubygems_version: !ruby/object:Gem::Requirement
57
- none: false
58
54
  requirements:
59
- - - ! '>='
55
+ - - ">="
60
56
  - !ruby/object:Gem::Version
61
57
  version: '0'
62
58
  requirements: []
63
59
  rubyforge_project:
64
- rubygems_version: 1.8.23
60
+ rubygems_version: 2.2.2
65
61
  signing_key:
66
- specification_version: 3
67
- summary: ! '---'
62
+ specification_version: 4
63
+ summary: "---"
68
64
  test_files:
69
65
  - test/test_cdp.rb