calcpace 0.1.0 → 0.2.0

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
  SHA256:
3
- metadata.gz: 11ad12749e77c35206d4753b60f3db604ea548ab75724d1602606c9cb9eca196
4
- data.tar.gz: fb65325f6210995dd7f64f0b1707e328a77e08b83a85dbfc0644bec1de7e6548
3
+ metadata.gz: b4525dc354de18e5ae106e84f2628eb649a28457deff01f9a4ecdf692a210d81
4
+ data.tar.gz: b16f270b98de14001122a466d2d19d11e5316262ef5319944c25ac236ac56615
5
5
  SHA512:
6
- metadata.gz: 61b82828b6d43b293744526ac4f34e434df820c19be0a8378e3cbfbe0995e357aaefb6a1caedb50831f5b7c81a9776d64ac599a5a3e858979b7b549737a6d5b9
7
- data.tar.gz: e4d9c623fbf2c0a9ab4d9953cadbed377b7867a3c3b0be494fd572860bf467c5ae88cfbd80d038e4157fcea44b799f2cc4d476598a6f621b2d85057fca51958e
6
+ metadata.gz: 7827da6cf956685513b3f56728a9475f9d5d5843ea2808b51a9a83800787779e71d4417c45d4e03779e6eb077a3158b1ca19c841c1ded861682ac8fa8f72beab
7
+ data.tar.gz: e17f9a94e680266f856fe94d36c57cea4988d10c4941dd415af7e0efe5b52d801a2e4721dd8758a2ae1d0228685f4c6a27208fad462b6a1d081e384152bbd248
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'minitest/autorun'
4
+ require_relative '../../lib/calcpace'
5
+
6
+ class TestCalculator < Minitest::Test
7
+ def setup
8
+ @checker = Calcpace.new
9
+ end
10
+
11
+ def test_pace
12
+ assert_raises(RuntimeError) { @checker.pace('', 10) }
13
+ assert_raises(RuntimeError) { @checker.pace('invalid', 10) }
14
+ assert_raises(RuntimeError) { @checker.pace('00:00:00', 0) }
15
+ assert_raises(RuntimeError) { @checker.pace('00:00:00', -1) }
16
+ assert_equal '00:06:00', @checker.pace('01:00:00', 10)
17
+ end
18
+
19
+ def test_total_time
20
+ assert_raises(RuntimeError) { @checker.total_time('', 10) }
21
+ assert_raises(RuntimeError) { @checker.total_time('invalid', 10) }
22
+ assert_raises(RuntimeError) { @checker.total_time('00:00:00', 0) }
23
+ assert_raises(RuntimeError) { @checker.total_time('00:00:00', -1) }
24
+ assert_equal '01:00:00', @checker.total_time('00:05:00', 12)
25
+ end
26
+
27
+ def test_distance
28
+ assert_raises(RuntimeError) { @checker.distance('', '00:05:00') }
29
+ assert_raises(RuntimeError) { @checker.distance('01:00:00', '') }
30
+ assert_equal 18.0, @checker.distance('01:30:00', '00:05:00')
31
+ end
32
+
33
+ def test_convert_distance
34
+ assert_raises(RuntimeError) { @checker.convert_distance(10, 'invalid') }
35
+ assert_raises(RuntimeError) { @checker.convert_distance(-1, 'km') }
36
+ assert_raises(RuntimeError) { @checker.convert_distance(0, 'km') }
37
+ assert_equal 6.21, @checker.convert_distance(10, 'km')
38
+ assert_equal 16.09, @checker.convert_distance(10, 'mi')
39
+ end
40
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'minitest/autorun'
4
+ require_relative '../../lib/calcpace'
5
+
6
+ class TestChecker < Minitest::Test
7
+ def setup
8
+ @checker = Calcpace.new
9
+ end
10
+
11
+ def test_check_digits_distance
12
+ assert_raises(RuntimeError) { @checker.check_digits_distance(-1) }
13
+ assert_raises(RuntimeError) { @checker.check_digits_distance(0) }
14
+ assert_nil @checker.check_digits_distance(1)
15
+ end
16
+
17
+ def test_check_digits_time
18
+ assert_raises(RuntimeError) { @checker.check_digits_time('') }
19
+ assert_nil @checker.check_digits_time('00:00:00')
20
+ end
21
+
22
+ def test_check_digits
23
+ assert_raises(RuntimeError) { @checker.check_digits('00:00:00', 0) }
24
+ assert_raises(RuntimeError) { @checker.check_digits('', 1) }
25
+ assert_nil @checker.check_digits('00:00:00', 1)
26
+ end
27
+
28
+ def test_convert
29
+ assert_equal 6.21, @checker.convert(10, 'km')
30
+ assert_equal 16.09, @checker.convert(10, 'mi')
31
+ end
32
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'minitest/autorun'
4
+ require_relative '../../lib/calcpace'
5
+
6
+ class TestConverter < Minitest::Test
7
+ def setup
8
+ @checker = Calcpace.new
9
+ end
10
+
11
+ def test_convert_to_seconds
12
+ assert_equal 4262, @checker.convert_to_seconds('01:11:02')
13
+ end
14
+
15
+ def test_convert_to_clocktime
16
+ assert_equal '01:11:02', @checker.convert_to_clocktime(4262)
17
+ end
18
+
19
+ def test_convert_distance_km
20
+ assert_equal 6.21, @checker.convert_distance(10, 'km')
21
+ assert_equal 16.09, @checker.convert_distance(10, 'mi')
22
+ assert_raises(RuntimeError) { @checker.convert_distance(10, 'invalid') }
23
+ end
24
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: calcpace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joao Gilberto Saraiva
@@ -9,9 +9,94 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2024-05-25 00:00:00.000000000 Z
12
- dependencies: []
13
- description: Calculate pace, time, distance, and convert distances for running and
14
- cycling.
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: minitest
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '5.14'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '5.14'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '13.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '13.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake-compiler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rdoc
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '6.2'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '6.2'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.79'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.79'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop-minitest
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.11'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.11'
97
+ description: Calculate pace, total time, distance and easily convert distances (kilometers
98
+ and miles) for activities like running and cycling. Get readable results in HH:MM:SS
99
+ or X.X format for time and distance calculations.
15
100
  email: joaogilberto@tuta.io
16
101
  executables: []
17
102
  extensions: []
@@ -21,11 +106,16 @@ files:
21
106
  - lib/calcpace/calculator.rb
22
107
  - lib/calcpace/checker.rb
23
108
  - lib/calcpace/converter.rb
109
+ - test/calcpace/test_calculator.rb
110
+ - test/calcpace/test_checker.rb
111
+ - test/calcpace/test_converter.rb
24
112
  homepage: https://github.com/0jonjo/calcpace
25
113
  licenses:
26
114
  - MIT
27
- metadata: {}
28
- post_install_message:
115
+ metadata:
116
+ source_code_uri: https://github.com/0jonjo/calcpace
117
+ post_install_message: It's time to grab your sneakers or hop on your bike and start
118
+ exercising! Thank you for installing Calcpace!
29
119
  rdoc_options: []
30
120
  require_paths:
31
121
  - lib
@@ -33,7 +123,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
33
123
  requirements:
34
124
  - - ">="
35
125
  - !ruby/object:Gem::Version
36
- version: '0'
126
+ version: 2.7.0
37
127
  required_rubygems_version: !ruby/object:Gem::Requirement
38
128
  requirements:
39
129
  - - ">="
@@ -43,5 +133,9 @@ requirements: []
43
133
  rubygems_version: 3.2.33
44
134
  signing_key:
45
135
  specification_version: 4
46
- summary: Calcpace
47
- test_files: []
136
+ summary: 'Calcpace: calculate time and distances for activities such as running and
137
+ cycling.'
138
+ test_files:
139
+ - test/calcpace/test_calculator.rb
140
+ - test/calcpace/test_checker.rb
141
+ - test/calcpace/test_converter.rb