📄 metadata_object.cpp
字号:
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"); printf("OK\n"); } printf("testing Application::operator=(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_))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -