collimator 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,3 @@
1
1
  module Collimator
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -0,0 +1,66 @@
1
+ require_relative 'test_helper'
2
+
3
+ class TestBarGraph < Minitest::Test
4
+ def setup
5
+ BarGraph.clear_all
6
+ end
7
+
8
+ def test_bar_graph__data_set
9
+ assert_equal [], BarGraph.data, 'should start with an empty data set'
10
+
11
+ BarGraph.data = [ {:value => 10, :name => 'value 1'}, {:name => 'value 2', :value => 4} ]
12
+
13
+ assert_equal [ {:value => 10, :name => 'value 1'}, {:name => 'value 2', :value => 4} ], BarGraph.data
14
+
15
+ BarGraph.data = {:name => 'extra', :value => 101}
16
+
17
+ assert_equal [ {:value => 10, :name => 'value 1'}, {:name => 'value 2', :value => 4}, {:name => 'extra', :value => 101} ], BarGraph.data
18
+
19
+ BarGraph.clear_data
20
+
21
+ assert_equal [], BarGraph.data, 'should start with an empty data set'
22
+ end
23
+
24
+ def test_bar_graph__simple_plot
25
+
26
+ data = []
27
+ data << {:name => 'USA', :value => 10}
28
+ data << {:name => 'Holland', :value => 14}
29
+ data << {:name => 'Spain', :value => 7}
30
+ data << {:name => 'Germany', :value => 12}
31
+
32
+ BarGraph.data = data
33
+
34
+ out = capture_output do
35
+ BarGraph.plot
36
+ end
37
+
38
+ plot_text = out.string
39
+ plot_lines = plot_text.split("\n")
40
+ assert_equal 4, plot_lines.length, 'simple plot size in number of lines'
41
+
42
+ end
43
+
44
+ def test_bar_graph__bad_color
45
+
46
+ data = [
47
+ {:name => 'Germany', :value => 4, :color => 'red'},
48
+ {:name => 'USA', :value => 4, :color => 'blue'},
49
+ {:name => 'Ghana', :value => 1},
50
+ {:name => 'Portugal', :value => 1, :color=> 'no_such_color_in_the_world'}
51
+ ]
52
+
53
+ BarGraph.data = data
54
+
55
+ out = capture_output do
56
+ BarGraph.plot
57
+ end
58
+
59
+ plot_text = out.string
60
+ plot_lines = plot_text.split("\n")
61
+ assert_equal 4, plot_lines.length, 'simple plot size in number of lines'
62
+
63
+
64
+ end
65
+
66
+ end
@@ -1,11 +1,6 @@
1
- require 'test_helper'
1
+ require_relative 'test_helper'
2
2
 
3
- class TestProgressBar < Test::Unit::TestCase
4
- include Collimator
5
-
6
- def teardown
7
- $stdout = STDOUT
8
- end
3
+ class TestProgressBar < Minitest::Test
9
4
 
10
5
  def test_progress
11
6
  out = capture_output do
data/test/spinner_test.rb CHANGED
@@ -1,23 +1,24 @@
1
- require 'test_helper'
1
+ require_relative 'test_helper'
2
2
 
3
- class TestProgressBar < Test::Unit::TestCase
4
- include Collimator
5
-
6
- def teardown
7
- $stdout = STDOUT
8
- end
3
+ class TestSpinner < Minitest::Test
9
4
 
10
5
  def test_spinner
11
- spin_time = 1
6
+ icons = %w(- \\ | /)
7
+
8
+ spin_time = 0.5
12
9
  out = capture_output do
13
10
  Spinner.spin
14
11
  sleep spin_time
15
12
  Spinner.stop
16
13
  end
17
14
 
18
- length_should_be = (spin_time / 0.1) * 2
19
15
  s = out.string.clone
20
- assert_equal length_should_be, s.length
16
+ ss = s.split("\b")
17
+
18
+ assert_equal icons[0].strip, ss[0].strip
19
+ assert_equal icons[1].strip, ss[1].strip
20
+ assert_equal icons[2].strip, ss[2].strip
21
+ assert_equal icons[3].strip, ss[3].strip
21
22
 
22
23
  spin_time = 0.2
23
24
  out = capture_output do
@@ -26,9 +27,10 @@ class TestProgressBar < Test::Unit::TestCase
26
27
  Spinner.stop
27
28
  end
28
29
 
29
- length_should_be = (spin_time / 0.1) * 2
30
30
  s = out.string.clone
31
- assert_equal length_should_be, s.length
31
+ ss = s.split("\b")
32
+ assert_equal icons[0], ss[0]
33
+
32
34
  end
33
35
 
34
36
  end
data/test/table_test.rb CHANGED
@@ -1,21 +1,11 @@
1
- require 'test/unit'
2
- require File.expand_path("../../lib/collimator", __FILE__)
1
+ require_relative 'test_helper'
3
2
 
4
- require 'date'
5
- require 'stringio'
6
- require 'test_helper'
7
-
8
- class TestTable < Test::Unit::TestCase
9
- include Collimator
3
+ class TestTable < Minitest::Test
10
4
 
11
5
  def setup
12
6
  Table.clear_all
13
7
  end
14
8
 
15
- def teardown
16
- $stdout = STDOUT
17
- end
18
-
19
9
  def test_just_table
20
10
 
21
11
  header_text = ['head A', 'head B', 'head C']
data/test/test_helper.rb CHANGED
@@ -1,13 +1,26 @@
1
- require 'test/unit'
1
+ require 'minitest/autorun'
2
+ require 'minitest/reporters'
3
+
2
4
  require File.expand_path('../../lib/collimator', __FILE__)
3
5
  require 'stringio'
4
6
  require 'date'
5
7
 
6
- def capture_output
7
- out = StringIO.new
8
- $stdout = out
9
- yield
10
- return out
11
- ensure
12
- $stdout = STDOUT
13
- end
8
+ Minitest::Reporters.use!
9
+ Minitest::Reporters.use! [Minitest::Reporters::SpecReporter.new(:color => true)]
10
+
11
+ class Minitest::Test
12
+ include Collimator
13
+
14
+ def teardown
15
+ $stdout = STDOUT
16
+ end
17
+
18
+ def capture_output
19
+ out = StringIO.new
20
+ $stdout = out
21
+ yield
22
+ return out
23
+ ensure
24
+ $stdout = STDOUT
25
+ end
26
+ end
metadata CHANGED
@@ -1,77 +1,53 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: collimator
3
- version: !ruby/object:Gem::Version
4
- hash: 27
5
- prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 2
10
- version: 0.0.2
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - geordie
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2013-05-03 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- name: rdoc
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 3
29
- segments:
30
- - 0
31
- version: "0"
32
- type: :development
33
- version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
11
+ date: 2014-07-03 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
35
14
  name: rake
36
- prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
38
- none: false
39
- requirements:
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
40
17
  - - ~>
41
- - !ruby/object:Gem::Version
42
- hash: 63
43
- segments:
44
- - 0
45
- - 9
46
- - 2
18
+ - !ruby/object:Gem::Version
47
19
  version: 0.9.2
48
20
  type: :development
49
- version_requirements: *id002
50
- - !ruby/object:Gem::Dependency
51
- name: colored
52
21
  prerelease: false
53
- requirement: &id003 !ruby/object:Gem::Requirement
54
- none: false
55
- requirements:
56
- - - ">="
57
- - !ruby/object:Gem::Version
58
- hash: 3
59
- segments:
60
- - 0
61
- version: "0"
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 0.9.2
27
+ - !ruby/object:Gem::Dependency
28
+ name: colored
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
62
34
  type: :runtime
63
- version_requirements: *id003
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
64
41
  description: Collimator
65
- email:
42
+ email:
66
43
  - george.speake@gmail.com
67
44
  executables: []
68
-
69
45
  extensions: []
70
-
71
46
  extra_rdoc_files: []
72
-
73
- files:
47
+ files:
74
48
  - .gitignore
49
+ - .ruby-version
50
+ - .travis.yml
75
51
  - Gemfile
76
52
  - Gemfile.lock
77
53
  - LICENSE
@@ -79,49 +55,47 @@ files:
79
55
  - README.md
80
56
  - Rakefile
81
57
  - collimator.gemspec
58
+ - examples/bar_graph.rb
82
59
  - examples/progress_bar.rb
83
60
  - examples/spinner.rb
84
61
  - examples/table.rb
85
62
  - lib/collimator.rb
63
+ - lib/collimator/bar_graph.rb
64
+ - lib/collimator/exceptions.rb
65
+ - lib/collimator/progress_bar.rb
66
+ - lib/collimator/spinner.rb
67
+ - lib/collimator/table.rb
86
68
  - lib/collimator/version.rb
69
+ - test/bar_graph_test.rb
87
70
  - test/progressbar_test.rb
88
71
  - test/spinner_test.rb
89
72
  - test/table_test.rb
90
73
  - test/test_helper.rb
91
- homepage: ""
74
+ homepage: ''
92
75
  licenses: []
93
-
76
+ metadata: {}
94
77
  post_install_message:
95
78
  rdoc_options: []
96
-
97
- require_paths:
79
+ require_paths:
98
80
  - lib
99
- required_ruby_version: !ruby/object:Gem::Requirement
100
- none: false
101
- requirements:
102
- - - ">="
103
- - !ruby/object:Gem::Version
104
- hash: 3
105
- segments:
106
- - 0
107
- version: "0"
108
- required_rubygems_version: !ruby/object:Gem::Requirement
109
- none: false
110
- requirements:
111
- - - ">="
112
- - !ruby/object:Gem::Version
113
- hash: 3
114
- segments:
115
- - 0
116
- version: "0"
81
+ required_ruby_version: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ required_rubygems_version: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - '>='
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
117
91
  requirements: []
118
-
119
92
  rubyforge_project:
120
- rubygems_version: 1.8.21
93
+ rubygems_version: 2.2.2
121
94
  signing_key:
122
- specification_version: 3
95
+ specification_version: 4
123
96
  summary: Easy to use tabulation for displaying data in command line scripts
124
- test_files:
97
+ test_files:
98
+ - test/bar_graph_test.rb
125
99
  - test/progressbar_test.rb
126
100
  - test/spinner_test.rb
127
101
  - test/table_test.rb