📄 metadata_object.cpp
字号:
printf("testing StreamInfo::set_sample_rate()... ");
block.set_sample_rate(streaminfo_.data.stream_info.sample_rate);
printf("OK\n");
printf("testing StreamInfo::set_channels()... ");
block.set_channels(streaminfo_.data.stream_info.channels);
printf("OK\n");
printf("testing StreamInfo::set_bits_per_sample()... ");
block.set_bits_per_sample(streaminfo_.data.stream_info.bits_per_sample);
printf("OK\n");
printf("testing StreamInfo::set_total_samples()... ");
block.set_total_samples(streaminfo_.data.stream_info.total_samples);
printf("OK\n");
printf("testing StreamInfo::set_md5sum()... ");
block.set_md5sum(streaminfo_.data.stream_info.md5sum);
printf("OK\n");
printf("testing StreamInfo::get_min_blocksize()... ");
if(block.get_min_blocksize() != streaminfo_.data.stream_info.min_blocksize)
return die_("value mismatch, doesn't match previously set value");
printf("OK\n");
printf("testing StreamInfo::get_max_blocksize()... ");
if(block.get_max_blocksize() != streaminfo_.data.stream_info.max_blocksize)
return die_("value mismatch, doesn't match previously set value");
printf("OK\n");
printf("testing StreamInfo::get_min_framesize()... ");
if(block.get_min_framesize() != streaminfo_.data.stream_info.min_framesize)
return die_("value mismatch, doesn't match previously set value");
printf("OK\n");
printf("testing StreamInfo::get_max_framesize()... ");
if(block.get_max_framesize() != streaminfo_.data.stream_info.max_framesize)
return die_("value mismatch, doesn't match previously set value");
printf("OK\n");
printf("testing StreamInfo::get_sample_rate()... ");
if(block.get_sample_rate() != streaminfo_.data.stream_info.sample_rate)
return die_("value mismatch, doesn't match previously set value");
printf("OK\n");
printf("testing StreamInfo::get_channels()... ");
if(block.get_channels() != streaminfo_.data.stream_info.channels)
return die_("value mismatch, doesn't match previously set value");
printf("OK\n");
printf("testing StreamInfo::get_bits_per_sample()... ");
if(block.get_bits_per_sample() != streaminfo_.data.stream_info.bits_per_sample)
return die_("value mismatch, doesn't match previously set value");
printf("OK\n");
printf("testing StreamInfo::get_total_samples()... ");
if(block.get_total_samples() != streaminfo_.data.stream_info.total_samples)
return die_("value mismatch, doesn't match previously set value");
printf("OK\n");
printf("testing StreamInfo::get_md5sum()... ");
if(0 != memcmp(block.get_md5sum(), streaminfo_.data.stream_info.md5sum, 16))
return die_("value mismatch, doesn't match previously set value");
printf("OK\n");
printf("testing FLAC::Metadata::clone(const FLAC::Metadata::Prototype *)... ");
FLAC::Metadata::Prototype *clone_ = FLAC::Metadata::clone(&block);
if(0 == clone_)
return die_("returned NULL");
if(0 == dynamic_cast<FLAC::Metadata::StreamInfo *>(clone_))
return die_("downcast is NULL");
if(*dynamic_cast<FLAC::Metadata::StreamInfo *>(clone_) != block)
return die_("clone is not identical");
printf("OK\n");
printf("testing StreamInfo::~StreamInfo()... ");
delete clone_;
printf("OK\n");
printf("PASSED\n\n");
return true;
}
bool test_metadata_object_padding()
{
unsigned expected_length;
printf("testing class FLAC::Metadata::Padding\n");
printf("testing Padding::Padding()... ");
FLAC::Metadata::Padding block;
if(!block.is_valid())
return die_("!block.is_valid()");
expected_length = 0;
if(block.get_length() != expected_length) {
printf("FAILED, bad length, expected %u, got %u\n", expected_length, block.get_length());
return false;
}
printf("OK\n");
printf("testing Padding::Padding(const Padding &)... +\n");
printf(" Padding::operator!=(const Padding &)... ");
{
FLAC::Metadata::Padding blockcopy(block);
if(!blockcopy.is_valid())
return die_("!block.is_valid()");
if(blockcopy != block)
return die_("copy is not identical to original");
printf("OK\n");
printf("testing Padding::~Padding()... ");
}
printf("OK\n");
printf("testing Padding::Padding(const ::FLAC__StreamMetadata &)... +\n");
printf(" Padding::operator!=(const ::FLAC__StreamMetadata &)... ");
{
FLAC::Metadata::Padding blockcopy(padding_);
if(!blockcopy.is_valid())
return die_("!block.is_valid()");
if(blockcopy != padding_)
return die_("copy is not identical to original");
printf("OK\n");
}
printf("testing Padding::Padding(const ::FLAC__StreamMetadata *)... +\n");
printf(" Padding::operator!=(const ::FLAC__StreamMetadata *)... ");
{
FLAC::Metadata::Padding blockcopy(&padding_);
if(!blockcopy.is_valid())
return die_("!block.is_valid()");
if(blockcopy != padding_)
return die_("copy is not identical to original");
printf("OK\n");
}
printf("testing Padding::Padding(const ::FLAC__StreamMetadata *, copy=true)... +\n");
printf(" Padding::operator!=(const ::FLAC__StreamMetadata *)... ");
{
FLAC::Metadata::Padding blockcopy(&padding_, /*copy=*/true);
if(!blockcopy.is_valid())
return die_("!block.is_valid()");
if(blockcopy != padding_)
return die_("copy is not identical to original");
printf("OK\n");
}
printf("testing Padding::Padding(const ::FLAC__StreamMetadata *, copy=false)... +\n");
printf(" Padding::operator!=(const ::FLAC__StreamMetadata *)... ");
{
::FLAC__StreamMetadata *copy = ::FLAC__metadata_object_clone(&padding_);
FLAC::Metadata::Padding blockcopy(copy, /*copy=*/false);
if(!blockcopy.is_valid())
return die_("!block.is_valid()");
if(blockcopy != padding_)
return die_("copy is not identical to original");
printf("OK\n");
}
printf("testing Padding::assign(const ::FLAC__StreamMetadata *, copy=true)... +\n");
printf(" Padding::operator!=(const ::FLAC__StreamMetadata *)... ");
{
FLAC::Metadata::Padding blockcopy;
blockcopy.assign(&padding_, /*copy=*/true);
if(!blockcopy.is_valid())
return die_("!block.is_valid()");
if(blockcopy != padding_)
return die_("copy is not identical to original");
printf("OK\n");
}
printf("testing Padding::assign(const ::FLAC__StreamMetadata *, copy=false)... +\n");
printf(" Padding::operator!=(const ::FLAC__StreamMetadata *)... ");
{
::FLAC__StreamMetadata *copy = ::FLAC__metadata_object_clone(&padding_);
FLAC::Metadata::Padding blockcopy;
blockcopy.assign(copy, /*copy=*/false);
if(!blockcopy.is_valid())
return die_("!block.is_valid()");
if(blockcopy != padding_)
return die_("copy is not identical to original");
printf("OK\n");
}
printf("testing Padding::operator=(const Padding &)... +\n");
printf(" Padding::operator==(const Padding &)... ");
{
FLAC::Metadata::Padding blockcopy = block;
if(!blockcopy.is_valid())
return die_("!block.is_valid()");
if(!(blockcopy == block))
return die_("copy is not identical to original");
printf("OK\n");
}
printf("testing Padding::operator=(const ::FLAC__StreamMetadata &)... +\n");
printf(" Padding::operator==(const ::FLAC__StreamMetadata &)... ");
{
FLAC::Metadata::Padding blockcopy = padding_;
if(!blockcopy.is_valid())
return die_("!block.is_valid()");
if(!(blockcopy == padding_))
return die_("copy is not identical to original");
printf("OK\n");
}
printf("testing Padding::operator=(const ::FLAC__StreamMetadata *)... +\n");
printf(" Padding::operator==(const ::FLAC__StreamMetadata *)... ");
{
FLAC::Metadata::Padding blockcopy = &padding_;
if(!blockcopy.is_valid())
return die_("!block.is_valid()");
if(!(blockcopy == padding_))
return die_("copy is not identical to original");
printf("OK\n");
}
printf("testing Padding::set_length()... ");
block.set_length(padding_.length);
printf("OK\n");
printf("testing Prototype::get_length()... ");
if(block.get_length() != padding_.length)
return die_("value mismatch, doesn't match previously set value");
printf("OK\n");
printf("testing FLAC::Metadata::clone(const FLAC::Metadata::Prototype *)... ");
FLAC::Metadata::Prototype *clone_ = FLAC::Metadata::clone(&block);
if(0 == clone_)
return die_("returned NULL");
if(0 == dynamic_cast<FLAC::Metadata::Padding *>(clone_))
return die_("downcast is NULL");
if(*dynamic_cast<FLAC::Metadata::Padding *>(clone_) != block)
return die_("clone is not identical");
printf("OK\n");
printf("testing Padding::~Padding()... ");
delete clone_;
printf("OK\n");
printf("PASSED\n\n");
return true;
}
bool test_metadata_object_application()
{
unsigned expected_length;
printf("testing class FLAC::Metadata::Application\n");
printf("testing Application::Application()... ");
FLAC::Metadata::Application block;
if(!block.is_valid())
return die_("!block.is_valid()");
expected_length = FLAC__STREAM_METADATA_APPLICATION_ID_LEN / 8;
if(block.get_length() != expected_length) {
printf("FAILED, bad length, expected %u, got %u\n", expected_length, block.get_length());
return false;
}
printf("OK\n");
printf("testing Application::Application(const Application &)... +\n");
printf(" Application::operator!=(const Application &)... ");
{
FLAC::Metadata::Application blockcopy(block);
if(!blockcopy.is_valid())
return die_("!block.is_valid()");
if(blockcopy != block)
return die_("copy is not identical to original");
printf("OK\n");
printf("testing Application::~Application()... ");
}
printf("OK\n");
printf("testing Application::Application(const ::FLAC__StreamMetadata &)... +\n");
printf(" Application::operator!=(const ::FLAC__StreamMetadata &)... ");
{
FLAC::Metadata::Application blockcopy(application_);
if(!blockcopy.is_valid())
return die_("!block.is_valid()");
if(blockcopy != application_)
return die_("copy is not identical to original");
printf("OK\n");
}
printf("testing Application::Application(const ::FLAC__StreamMetadata *)... +\n");
printf(" Application::operator!=(const ::FLAC__StreamMetadata *)... ");
{
FLAC::Metadata::Application blockcopy(&application_);
if(!blockcopy.is_valid())
return die_("!block.is_valid()");
if(blockcopy != application_)
return die_("copy is not identical to original");
printf("OK\n");
}
printf("testing Application::Application(const ::FLAC__StreamMetadata *, copy=true)... +\n");
printf(" Application::operator!=(const ::FLAC__StreamMetadata *)... ");
{
FLAC::Metadata::Application blockcopy(&application_, /*copy=*/true);
if(!blockcopy.is_valid())
return die_("!block.is_valid()");
if(blockcopy != application_)
return die_("copy is not identical to original");
printf("OK\n");
}
printf("testing Application::Application(const ::FLAC__StreamMetadata *, copy=false)... +\n");
printf(" Application::operator!=(const ::FLAC__StreamMetadata *)... ");
{
::FLAC__StreamMetadata *copy = ::FLAC__metadata_object_clone(&application_);
FLAC::Metadata::Application blockcopy(copy, /*copy=*/false);
if(!blockcopy.is_valid())
return die_("!block.is_valid()");
if(blockcopy != application_)
return die_("copy is not identical to original");
printf("OK\n");
}
printf("testing Application::assign(const ::FLAC__StreamMetadata *, copy=true)... +\n");
printf(" Application::operator!=(const ::FLAC__StreamMetadata *)... ");
{
FLAC::Metadata::Application blockcopy;
blockcopy.assign(&application_, /*copy=*/true);
if(!blockcopy.is_valid())
return die_("!block.is_valid()");
if(blockcopy != application_)
return die_("copy is not identical to original");
printf("OK\n");
}
printf("testing Application::assign(const ::FLAC__StreamMetadata *, copy=false)... +\n");
printf(" Application::operator!=(const ::FLAC__StreamMetadata *)... ");
{
::FLAC__StreamMetadata *copy = ::FLAC__metadata_object_clone(&application_);
FLAC::Metadata::Application blockcopy;
blockcopy.assign(copy, /*copy=*/false);
if(!blockcopy.is_valid())
return die_("!block.is_valid()");
if(blockcopy != application_)
return die_("copy is not identical to original");
printf("OK\n");
}
printf("testing Application::operator=(const Application &)... +\n");
printf(" Application::operator==(const Application &)... ");
{
FLAC::Metadata::Application blockcopy = block;
if(!blockcopy.is_valid())
return die_("!block.is_valid()");
if(!(blockcopy == block))
return die_("copy is not identical to original");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -