calcpace 0.1.0 → 0.2.0

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 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