audio-playback 0.0.6 → 0.0.8

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.
@@ -0,0 +1,167 @@
1
+ require "helper"
2
+
3
+ class AudioPlayback::PositionTest < Minitest::Test
4
+
5
+ context "Position" do
6
+
7
+ context "#initialize" do
8
+
9
+ context "invalid" do
10
+
11
+ context "invalid number" do
12
+
13
+ should "raise exception if min above 60" do
14
+ assert_raises AudioPlayback::Position::InvalidTime do
15
+ AudioPlayback::Position.new("123:78:34.45")
16
+ end
17
+ end
18
+
19
+ should "raise exception if seconds above 60" do
20
+ assert_raises AudioPlayback::Position::InvalidTime do
21
+ AudioPlayback::Position.new("123:45:89.45")
22
+ end
23
+ end
24
+
25
+ end
26
+
27
+ context "other characters" do
28
+
29
+ should "raise exception" do
30
+ assert_raises AudioPlayback::Position::InvalidTime do
31
+ AudioPlayback::Position.new("kdjfdkdj")
32
+ end
33
+ end
34
+
35
+ end
36
+
37
+ end
38
+
39
+ context "valid" do
40
+
41
+ context "has seconds integer" do
42
+
43
+ should "populate ss" do
44
+ position = AudioPlayback::Position.new("12")
45
+ assert_equal 12.0, position.to_seconds
46
+ end
47
+
48
+ should "populate m:ss" do
49
+ position = AudioPlayback::Position.new("3:45")
50
+ assert_equal 225.0, position.to_seconds
51
+ end
52
+
53
+ should "populate mm:ss" do
54
+ position = AudioPlayback::Position.new("06:07")
55
+ assert_equal 367.0, position.to_seconds
56
+ end
57
+
58
+ should "populate h:mm:ss" do
59
+ position = AudioPlayback::Position.new("8:09:10")
60
+ assert_equal 29350.0, position.to_seconds
61
+ end
62
+
63
+ should "populate hh:mm:ss" do
64
+ position = AudioPlayback::Position.new("11:12:13")
65
+ assert_equal 40333.0, position.to_seconds
66
+ end
67
+
68
+ end
69
+
70
+ context "has seconds float" do
71
+
72
+ context "one digit" do
73
+
74
+ should "populate ss.s" do
75
+ position = AudioPlayback::Position.new("01.2")
76
+ assert_equal 1.2, position.to_seconds
77
+ end
78
+
79
+ should "populate m:ss.s" do
80
+ position = AudioPlayback::Position.new("3:45.6")
81
+ assert_equal 225.6, position.to_seconds
82
+ end
83
+
84
+ should "populate mm:ss.s" do
85
+ position = AudioPlayback::Position.new("07:59.1")
86
+ assert_equal 479.1, position.to_seconds
87
+ end
88
+
89
+ should "populate h:mm:ss.s" do
90
+ position = AudioPlayback::Position.new("1:23:45.6")
91
+ assert_equal 5025.6, position.to_seconds
92
+ end
93
+
94
+ should "populate hh:mm:ss.s" do
95
+ position = AudioPlayback::Position.new("12:34:56.7")
96
+ assert_equal 45296.7, position.to_seconds
97
+ end
98
+
99
+ end
100
+
101
+ context "two digit" do
102
+
103
+ should "populate ss.ss" do
104
+ position = AudioPlayback::Position.new("01.23")
105
+ assert_equal 1.23, position.to_seconds
106
+ end
107
+
108
+ should "populate m:ss.ss" do
109
+ position = AudioPlayback::Position.new("3:45.76")
110
+ assert_equal 225.76, position.to_seconds
111
+ end
112
+
113
+ should "populate mm:ss.ss" do
114
+ position = AudioPlayback::Position.new("07:59.12")
115
+ assert_equal 479.12, position.to_seconds
116
+ end
117
+
118
+ should "populate h:mm:ss.ss" do
119
+ position = AudioPlayback::Position.new("1:23:45.67")
120
+ assert_equal 5025.67, position.to_seconds
121
+ end
122
+
123
+ should "populate hh:mm:ss.ss" do
124
+ position = AudioPlayback::Position.new("12:34:56.78")
125
+ assert_equal 45296.78, position.to_seconds
126
+ end
127
+
128
+ end
129
+
130
+ context "three+ digits" do
131
+
132
+ should "populate ss.ss" do
133
+ position = AudioPlayback::Position.new("01.234")
134
+ assert_equal 1.234, position.to_seconds
135
+ end
136
+
137
+ should "populate m:ss.ss" do
138
+ position = AudioPlayback::Position.new("3:45.678")
139
+ assert_equal 225.678, position.to_seconds
140
+ end
141
+
142
+ should "populate mm:ss.ss" do
143
+ position = AudioPlayback::Position.new("07:39.123")
144
+ assert_equal 459.123, position.to_seconds
145
+ end
146
+
147
+ should "populate h:mm:ss.ss" do
148
+ position = AudioPlayback::Position.new("1:23:45.678")
149
+ assert_equal 5025.678, position.to_seconds
150
+ end
151
+
152
+ should "populate hh:mm:ss.ss" do
153
+ position = AudioPlayback::Position.new("12:34:56.789")
154
+ assert_equal 45296.789, position.to_seconds
155
+ end
156
+
157
+ end
158
+
159
+ end
160
+
161
+ end
162
+
163
+ end
164
+
165
+ end
166
+
167
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: audio-playback
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ari Russo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-22 00:00:00.000000000 Z
11
+ date: 2017-05-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -172,6 +172,7 @@ files:
172
172
  - lib/audio-playback/playback/frame_set.rb
173
173
  - lib/audio-playback/playback/mixer.rb
174
174
  - lib/audio-playback/playback/stream_data.rb
175
+ - lib/audio-playback/position.rb
175
176
  - lib/audio-playback/sound.rb
176
177
  - test/device/output_test.rb
177
178
  - test/device/stream_test.rb
@@ -188,10 +189,11 @@ files:
188
189
  - test/playback/mixer_test.rb
189
190
  - test/playback/stream_data_test.rb
190
191
  - test/playback_test.rb
192
+ - test/position_test.rb
191
193
  - test/sound_test.rb
192
194
  homepage: http://github.com/arirusso/audio-playback
193
195
  licenses:
194
- - Apache 2.0
196
+ - Apache-2.0
195
197
  metadata: {}
196
198
  post_install_message:
197
199
  rdoc_options: []
@@ -209,7 +211,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
209
211
  version: 1.3.6
210
212
  requirements: []
211
213
  rubyforge_project: audio-playback
212
- rubygems_version: 2.4.6
214
+ rubygems_version: 2.6.8
213
215
  signing_key:
214
216
  specification_version: 4
215
217
  summary: Command Line/Ruby Audio File Player