1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
|
require 'minitest/autorun'
require 'wavefile.rb'
include WaveFile
class SMPTETimecodeTest < Minitest::Test
VALID_8_BIT_SIGNED_INTEGER_TEST_VALUES = [0, 1, -1, -128, 127]
INVALID_8_BIT_SIGNED_INTEGER_TEST_VALUES = ["dsfsfsdf", :foo, -129, 128, 2.5, 2.0, -2.0, [10], nil]
VALID_8_BIT_UNSIGNED_INTEGER_TEST_VALUES = [0, 1, 128, 255]
INVALID_8_BIT_UNSIGNED_INTEGER_TEST_VALUES = ["dsfsfsdf", :foo, -1, 256, 2.5, 2.0, [10], nil]
def test_missing_keywords
assert_raises(ArgumentError) { SMPTETimecode.new }
end
def test_valid_hours
VALID_8_BIT_SIGNED_INTEGER_TEST_VALUES.each do |valid_value|
smpte_timecode = SMPTETimecode.new(hours: valid_value,
minutes: 0,
seconds: 0,
frames: 0)
assert_equal(valid_value, smpte_timecode.hours)
end
end
def test_invalid_hours
INVALID_8_BIT_SIGNED_INTEGER_TEST_VALUES.each do |invalid_value|
assert_raises(InvalidSMPTETimecodeError) do
SMPTETimecode.new(hours: invalid_value,
minutes: 0,
seconds: 0,
frames: 0)
end
end
end
def test_valid_minutes
VALID_8_BIT_UNSIGNED_INTEGER_TEST_VALUES.each do |valid_value|
smpte_timecode = SMPTETimecode.new(hours: 0,
minutes: valid_value,
seconds: 0,
frames: 0)
assert_equal(valid_value, smpte_timecode.minutes)
end
end
def test_invalid_minutes
INVALID_8_BIT_UNSIGNED_INTEGER_TEST_VALUES.each do |invalid_value|
assert_raises(InvalidSMPTETimecodeError) do
SMPTETimecode.new(hours: 0,
minutes: invalid_value,
seconds: 0,
frames: 0)
end
end
end
def test_valid_seconds
VALID_8_BIT_UNSIGNED_INTEGER_TEST_VALUES.each do |valid_value|
smpte_timecode = SMPTETimecode.new(hours: 0,
minutes: 0,
seconds: valid_value,
frames: 0)
assert_equal(valid_value, smpte_timecode.seconds)
end
end
def test_invalid_seconds
INVALID_8_BIT_UNSIGNED_INTEGER_TEST_VALUES.each do |invalid_value|
assert_raises(InvalidSMPTETimecodeError) do
SMPTETimecode.new(hours: 0,
minutes: 0,
seconds: invalid_value,
frames: 0)
end
end
end
def test_valid_frames
VALID_8_BIT_UNSIGNED_INTEGER_TEST_VALUES.each do |valid_value|
smpte_timecode = SMPTETimecode.new(hours: 0,
minutes: 0,
seconds: 0,
frames: valid_value)
assert_equal(valid_value, smpte_timecode.frames)
end
end
def test_invalid_frames
INVALID_8_BIT_UNSIGNED_INTEGER_TEST_VALUES.each do |invalid_value|
assert_raises(InvalidSMPTETimecodeError) do
SMPTETimecode.new(hours: 0,
minutes: 0,
seconds: 0,
frames: invalid_value)
end
end
end
end
|