Browse Source

Add tests to improve coverage

pull/176/head
Alice 10 years ago
parent
commit
048a1b2b90
  1. 15
      src/MagnumPlugins/WavAudioImporter/Test/CMakeLists.txt
  2. 66
      src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp
  3. BIN
      src/MagnumPlugins/WavAudioImporter/Test/invalidDataChunk.wav
  4. BIN
      src/MagnumPlugins/WavAudioImporter/Test/invalidFactChunk.wav
  5. BIN
      src/MagnumPlugins/WavAudioImporter/Test/invalidLength.wav
  6. BIN
      src/MagnumPlugins/WavAudioImporter/Test/invalidPadding.wav
  7. BIN
      src/MagnumPlugins/WavAudioImporter/Test/stereo12.wav
  8. BIN
      src/MagnumPlugins/WavAudioImporter/Test/stereo24.wav

15
src/MagnumPlugins/WavAudioImporter/Test/CMakeLists.txt

@ -43,6 +43,15 @@ if(WIN32)
endif()
if(CORRADE_TARGET_EMSCRIPTEN)
emscripten_embed_file(WavAudioImporterTest unsupportedChannelCount.wav "/unsupportedChannelCount.wav")
emscripten_embed_file(WavAudioImporterTest unsupportedFormat.wav "/unsupportedFormat.wav")
emscripten_embed_file(WavAudioImporterTest wrongSignature.wav "/wrongSignature.wav")
emscripten_embed_file(WavAudioImporterTest invalidPadding.wav "/invalidPadding.wav")
emscripten_embed_file(WavAudioImporterTest invalidLength.wav "/invalidLength.wav")
emscripten_embed_file(WavAudioImporterTest invalidDataChunk.wav "/invalidDataChunk.wav")
emscripten_embed_file(WavAudioImporterTest invalidFactChunk.wav "/invalidFactChunk.wav")
emscripten_embed_file(WavAudioImporterTest mono8.wav "/mono8.wav")
emscripten_embed_file(WavAudioImporterTest mono8.wav "/mono8junk.wav")
@ -53,7 +62,9 @@ if(CORRADE_TARGET_EMSCRIPTEN)
emscripten_embed_file(WavAudioImporterTest stereo8.wav "/stereo8.wav")
emscripten_embed_file(WavAudioImporterTest stereo8ALaw.wav "/stereo8ALaw.wav")
emscripten_embed_file(WavAudioImporterTest stereo8MuLaw.wav "/stereo8MuLaw.wav")
emscripten_embed_file(WavAudioImporterTest stereo12.wav "/stereo12.wav")
emscripten_embed_file(WavAudioImporterTest stereo16.wav "/stereo16.wav")
emscripten_embed_file(WavAudioImporterTest stereo24.wav "/stereo24.wav")
emscripten_embed_file(WavAudioImporterTest mono32f.wav "/mono32f.wav")
emscripten_embed_file(WavAudioImporterTest stereo32f.wav "/stereo32f.wav")
@ -61,8 +72,4 @@ if(CORRADE_TARGET_EMSCRIPTEN)
emscripten_embed_file(WavAudioImporterTest stereo64f.wav "/stereo64f.wav")
emscripten_embed_file(WavAudioImporterTest surround616.wav "/surround616.wav")
emscripten_embed_file(WavAudioImporterTest unsupportedChannelCount.wav "/unsupportedChannelCount.wav")
emscripten_embed_file(WavAudioImporterTest unsupportedFormat.wav "/unsupportedFormat.wav")
emscripten_embed_file(WavAudioImporterTest wrongSignature.wav "/wrongSignature.wav")
endif()

66
src/MagnumPlugins/WavAudioImporter/Test/WavImporterTest.cpp

@ -45,6 +45,10 @@ class WavImporterTest: public TestSuite::Tester {
void wrongSignature();
void unsupportedFormat();
void unsupportedChannelCount();
void invalidPadding();
void invalidLength();
void invalidDataChunk();
void invalidFactChunk();
void mono8();
void mono8junk();
@ -55,7 +59,9 @@ class WavImporterTest: public TestSuite::Tester {
void stereo8();
void stereo8ALaw();
void stereo8MuLaw();
void stereo12();
void stereo16();
void stereo24();
void mono32f();
void stereo32f();
@ -71,6 +77,10 @@ WavImporterTest::WavImporterTest() {
&WavImporterTest::wrongSignature,
&WavImporterTest::unsupportedFormat,
&WavImporterTest::unsupportedChannelCount,
&WavImporterTest::invalidPadding,
&WavImporterTest::invalidLength,
&WavImporterTest::invalidDataChunk,
&WavImporterTest::invalidFactChunk,
&WavImporterTest::mono8,
&WavImporterTest::mono8junk,
@ -81,7 +91,9 @@ WavImporterTest::WavImporterTest() {
&WavImporterTest::stereo8,
&WavImporterTest::stereo8ALaw,
&WavImporterTest::stereo8MuLaw,
&WavImporterTest::stereo12,
&WavImporterTest::stereo16,
&WavImporterTest::stereo24,
&WavImporterTest::mono32f,
&WavImporterTest::stereo32f,
@ -127,6 +139,41 @@ void WavImporterTest::unsupportedChannelCount() {
CORRADE_COMPARE(out.str(), "Audio::WavImporter::openData(): unsupported channel count 6 with 8 bits per sample\n");
}
void WavImporterTest::invalidPadding() {
std::ostringstream out;
Error redirectError{&out};
WavImporter importer;
CORRADE_VERIFY(!importer.openFile(Utility::Directory::join(WAVAUDIOIMPORTER_TEST_DIR, "invalidPadding.wav")));
CORRADE_COMPARE(out.str(), "Audio::WavImporter::openData(): the file has improper size, expected 66 but got 73\n");
}
void WavImporterTest::invalidLength() {
std::ostringstream out;
Error redirectError{&out};
WavImporter importer;
CORRADE_VERIFY(!importer.openFile(Utility::Directory::join(WAVAUDIOIMPORTER_TEST_DIR, "invalidLength.wav")));
CORRADE_COMPARE(out.str(), "Audio::WavImporter::openData(): the file has improper size, expected 160844 but got 80444\n");
}
void WavImporterTest::invalidDataChunk() {
std::ostringstream out;
Error redirectError{&out};
WavImporter importer;
CORRADE_VERIFY(!importer.openFile(Utility::Directory::join(WAVAUDIOIMPORTER_TEST_DIR, "invalidDataChunk.wav")));
CORRADE_COMPARE(out.str(), "Audio::WavImporter::openData(): the file contains no data chunk\n");
}
void WavImporterTest::invalidFactChunk() {
WavImporter importer;
CORRADE_VERIFY(importer.openFile(Utility::Directory::join(WAVAUDIOIMPORTER_TEST_DIR, "invalidFactChunk.wav")));
CORRADE_COMPARE(importer.format(), Buffer::Format::Mono16);
CORRADE_COMPARE(importer.frequency(), 22050);
}
void WavImporterTest::mono8() {
WavImporter importer;
CORRADE_VERIFY(importer.openFile(Utility::Directory::join(WAVAUDIOIMPORTER_TEST_DIR, "mono8.wav")));
@ -197,6 +244,15 @@ void WavImporterTest::stereo8MuLaw() {
CORRADE_COMPARE(importer.frequency(), 8000);
}
void WavImporterTest::stereo12() {
std::ostringstream out;
Error redirectError{&out};
WavImporter importer;
CORRADE_VERIFY(!importer.openFile(Utility::Directory::join(WAVAUDIOIMPORTER_TEST_DIR, "stereo12.wav")));
CORRADE_COMPARE(out.str(), "Audio::WavImporter::openData(): unsupported channel count 2 with 12 bits per sample\n");
}
void WavImporterTest::stereo16() {
WavImporter importer;
@ -206,6 +262,16 @@ void WavImporterTest::stereo16() {
CORRADE_COMPARE(importer.frequency(), 44100);
}
void WavImporterTest::stereo24() {
std::ostringstream out;
Error redirectError{&out};
WavImporter importer;
CORRADE_VERIFY(!importer.openFile(Utility::Directory::join(WAVAUDIOIMPORTER_TEST_DIR, "stereo24.wav")));
CORRADE_COMPARE(out.str(), "Audio::WavImporter::openData(): unsupported channel count 2 with 24 bits per sample\n");
}
void WavImporterTest::mono32f() {
WavImporter importer;
CORRADE_VERIFY(importer.openFile(Utility::Directory::join(WAVAUDIOIMPORTER_TEST_DIR, "mono32f.wav")));

BIN
src/MagnumPlugins/WavAudioImporter/Test/invalidDataChunk.wav

Binary file not shown.

BIN
src/MagnumPlugins/WavAudioImporter/Test/invalidFactChunk.wav

Binary file not shown.

BIN
src/MagnumPlugins/WavAudioImporter/Test/invalidLength.wav

Binary file not shown.

BIN
src/MagnumPlugins/WavAudioImporter/Test/invalidPadding.wav

Binary file not shown.

BIN
src/MagnumPlugins/WavAudioImporter/Test/stereo12.wav

Binary file not shown.

BIN
src/MagnumPlugins/WavAudioImporter/Test/stereo24.wav

Binary file not shown.
Loading…
Cancel
Save