class AUDIO_COMMAND_TEST_SET
Audio command test set
note
description: "Audio command test set"
author: "Finnian Reilly"
copyright: "Copyright (c) 2001-2022 Finnian Reilly"
contact: "finnian at eiffel hyphen loop dot com"
license: "MIT license (See: en.wikipedia.org/wiki/MIT_License)"
date: "2023-03-10 17:33:46 GMT (Friday 10th March 2023)"
revision: "15"
class
AUDIO_COMMAND_TEST_SET
inherit
EL_FILE_DATA_TEST_SET
EL_MODULE_AUDIO_COMMAND
EL_MODULE_CONSOLE
create
make
feature {NONE} -- Initialization
make
-- initialize `test_table'
do
make_named (<<
["mp3_audio", agent test_mp3_audio]
>>)
end
feature -- Tests
test_mp3_audio
local
generation_cmd: like Audio_command.new_wave_generation
mp3_cmd: like Audio_command.new_wav_to_mp3
properties_cmd: like Audio_command.new_audio_properties
mp3: TL_MPEG_FILE
do
if {PLATFORM}.is_unix then
generation_cmd := Audio_command.new_wave_generation (Mp3_file_path.with_new_extension ("wav"))
generation_cmd.set_duration (20)
generation_cmd.execute
mp3_cmd := Audio_command.new_wav_to_mp3 (Mp3_file_path.with_new_extension ("wav"), Mp3_file_path)
mp3_cmd.set_album (Id3_album)
mp3_cmd.set_artist (Id3_artist)
mp3_cmd.set_title (Id3_title)
mp3_cmd.execute
create mp3.make (Mp3_file_path)
assert ("same album", Id3_album.same_string_general (mp3.tag.album))
assert ("same artist", Id3_artist.same_string_general (mp3.tag.artist))
assert ("UTF-8 code page", Console.code_page ~ "UTF-8")
assert ("same title", Id3_title.same_string_general (mp3.tag.title))
properties_cmd := Audio_command.new_audio_properties (Mp3_file_path)
assert ("valid bitrate", properties_cmd.bit_rate = 128)
assert ("valid sampling frequency", properties_cmd.sampling_frequency = 22050)
assert ("valid duration", properties_cmd.duration.seconds_count = 20)
end
end
feature {NONE} -- Constants
Id3_album: STRING = "Poema"
Id3_artist: STRING = "Franciso Canaro"
Id3_title: STRING = "La Copla PorteƱa"
Mp3_file_path: FILE_PATH
once
Result := Work_area_dir + (Id3_title + ".mp3")
end
end