diff options
Diffstat (limited to 'tests/auto/unit/qaudioformat/tst_qaudioformat.cpp')
-rw-r--r-- | tests/auto/unit/qaudioformat/tst_qaudioformat.cpp | 305 |
1 files changed, 0 insertions, 305 deletions
diff --git a/tests/auto/unit/qaudioformat/tst_qaudioformat.cpp b/tests/auto/unit/qaudioformat/tst_qaudioformat.cpp deleted file mode 100644 index 91b60090e..000000000 --- a/tests/auto/unit/qaudioformat/tst_qaudioformat.cpp +++ /dev/null @@ -1,305 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - - -#include <QtTest/QtTest> -#include <QtCore/qlocale.h> -#include <qaudioformat.h> - -#include <QStringList> -#include <QList> - -//TESTED_COMPONENT=src/multimedia - -class tst_QAudioFormat : public QObject -{ - Q_OBJECT - -public: - tst_QAudioFormat(QObject* parent=0) : QObject(parent) {} - -private slots: - void checkNull(); - void checkSampleSize(); - void checkCodec(); - void checkByteOrder(); - void checkSampleType(); - void checkEquality(); - void checkAssignment(); - void checkSampleRate(); - void checkChannelCount(); - - void checkSizes(); - void checkSizes_data(); -}; - -void tst_QAudioFormat::checkNull() -{ - // Default constructed QAudioFormat is invalid. - QAudioFormat audioFormat0; - QVERIFY(!audioFormat0.isValid()); - - // validity is transferred - QAudioFormat audioFormat1(audioFormat0); - QVERIFY(!audioFormat1.isValid()); - - audioFormat0.setSampleRate(44100); - audioFormat0.setChannelCount(2); - audioFormat0.setSampleSize(16); - audioFormat0.setCodec("audio/pcm"); - audioFormat0.setSampleType(QAudioFormat::SignedInt); - QVERIFY(audioFormat0.isValid()); -} - -void tst_QAudioFormat::checkSampleSize() -{ - QAudioFormat audioFormat; - audioFormat.setSampleSize(16); - QVERIFY(audioFormat.sampleSize() == 16); -} - -void tst_QAudioFormat::checkCodec() -{ - QAudioFormat audioFormat; - audioFormat.setCodec(QString::fromLatin1("audio/pcm")); - QVERIFY(audioFormat.codec() == QString::fromLatin1("audio/pcm")); -} - -void tst_QAudioFormat::checkByteOrder() -{ - QAudioFormat audioFormat; - audioFormat.setByteOrder(QAudioFormat::LittleEndian); - QVERIFY(audioFormat.byteOrder() == QAudioFormat::LittleEndian); - - QTest::ignoreMessage(QtDebugMsg, "LittleEndian"); - qDebug() << QAudioFormat::LittleEndian; - - audioFormat.setByteOrder(QAudioFormat::BigEndian); - QVERIFY(audioFormat.byteOrder() == QAudioFormat::BigEndian); - - QTest::ignoreMessage(QtDebugMsg, "BigEndian"); - qDebug() << QAudioFormat::BigEndian; -} - -void tst_QAudioFormat::checkSampleType() -{ - QAudioFormat audioFormat; - audioFormat.setSampleType(QAudioFormat::SignedInt); - QVERIFY(audioFormat.sampleType() == QAudioFormat::SignedInt); - QTest::ignoreMessage(QtDebugMsg, "SignedInt"); - qDebug() << QAudioFormat::SignedInt; - - audioFormat.setSampleType(QAudioFormat::Unknown); - QVERIFY(audioFormat.sampleType() == QAudioFormat::Unknown); - QTest::ignoreMessage(QtDebugMsg, "Unknown"); - qDebug() << QAudioFormat::Unknown; - - audioFormat.setSampleType(QAudioFormat::UnSignedInt); - QVERIFY(audioFormat.sampleType() == QAudioFormat::UnSignedInt); - QTest::ignoreMessage(QtDebugMsg, "UnSignedInt"); - qDebug() << QAudioFormat::UnSignedInt; - - audioFormat.setSampleType(QAudioFormat::Float); - QVERIFY(audioFormat.sampleType() == QAudioFormat::Float); - QTest::ignoreMessage(QtDebugMsg, "Float"); - qDebug() << QAudioFormat::Float; -} - -void tst_QAudioFormat::checkEquality() -{ - QAudioFormat audioFormat0; - QAudioFormat audioFormat1; - - // Null formats are equivalent - QVERIFY(audioFormat0 == audioFormat1); - QVERIFY(!(audioFormat0 != audioFormat1)); - - // on filled formats - audioFormat0.setSampleRate(8000); - audioFormat0.setChannelCount(1); - audioFormat0.setSampleSize(8); - audioFormat0.setCodec("audio/pcm"); - audioFormat0.setByteOrder(QAudioFormat::LittleEndian); - audioFormat0.setSampleType(QAudioFormat::UnSignedInt); - - audioFormat1.setSampleRate(8000); - audioFormat1.setChannelCount(1); - audioFormat1.setSampleSize(8); - audioFormat1.setCodec("audio/pcm"); - audioFormat1.setByteOrder(QAudioFormat::LittleEndian); - audioFormat1.setSampleType(QAudioFormat::UnSignedInt); - - QVERIFY(audioFormat0 == audioFormat1); - QVERIFY(!(audioFormat0 != audioFormat1)); - - audioFormat0.setSampleRate(44100); - QVERIFY(audioFormat0 != audioFormat1); - QVERIFY(!(audioFormat0 == audioFormat1)); -} - -void tst_QAudioFormat::checkAssignment() -{ - QAudioFormat audioFormat0; - QAudioFormat audioFormat1; - - audioFormat0.setSampleRate(8000); - audioFormat0.setChannelCount(1); - audioFormat0.setSampleSize(8); - audioFormat0.setCodec("audio/pcm"); - audioFormat0.setByteOrder(QAudioFormat::LittleEndian); - audioFormat0.setSampleType(QAudioFormat::UnSignedInt); - - audioFormat1 = audioFormat0; - QVERIFY(audioFormat1 == audioFormat0); - - QAudioFormat audioFormat2(audioFormat0); - QVERIFY(audioFormat2 == audioFormat0); -} - -/* sampleRate() API property test. */ -void tst_QAudioFormat::checkSampleRate() -{ - QAudioFormat audioFormat; - QVERIFY(audioFormat.sampleRate() == -1); - - audioFormat.setSampleRate(123); - QVERIFY(audioFormat.sampleRate() == 123); -} - -/* channelCount() API property test. */ -void tst_QAudioFormat::checkChannelCount() -{ - // channels is the old name for channelCount, so - // they should always be equal - QAudioFormat audioFormat; - QVERIFY(audioFormat.channelCount() == -1); - QVERIFY(audioFormat.channelCount() == -1); - - audioFormat.setChannelCount(123); - QVERIFY(audioFormat.channelCount() == 123); - QVERIFY(audioFormat.channelCount() == 123); - - audioFormat.setChannelCount(5); - QVERIFY(audioFormat.channelCount() == 5); - QVERIFY(audioFormat.channelCount() == 5); -} - -void tst_QAudioFormat::checkSizes() -{ - QFETCH(QAudioFormat, format); - QFETCH(int, frameSize); - QFETCH(int, byteCount); - QFETCH(int, frameCount); - QFETCH(qint64, durationForByte); - QFETCH(int, byteForFrame); - QFETCH(qint64, durationForByteForDuration); - QFETCH(int, byteForDuration); - QFETCH(int, framesForDuration); - - QCOMPARE(format.bytesPerFrame(), frameSize); - - // Byte input - QCOMPARE(format.framesForBytes(byteCount), frameCount); - QCOMPARE(format.durationForBytes(byteCount), durationForByte); - - // Framecount input - QCOMPARE(format.bytesForFrames(frameCount), byteForFrame); - QCOMPARE(format.durationForFrames(frameCount), durationForByte); - - // Duration input - QCOMPARE(format.bytesForDuration(durationForByteForDuration), byteForDuration); - QCOMPARE(format.framesForDuration(durationForByte), frameCount); - QCOMPARE(format.framesForDuration(durationForByteForDuration), framesForDuration); -} - -void tst_QAudioFormat::checkSizes_data() -{ - QTest::addColumn<QAudioFormat>("format"); - QTest::addColumn<int>("frameSize"); - QTest::addColumn<int>("byteCount"); - QTest::addColumn<qint64>("durationForByte"); - QTest::addColumn<int>("frameCount"); // output of sampleCountforByte, input for byteForFrame - QTest::addColumn<int>("byteForFrame"); - QTest::addColumn<qint64>("durationForByteForDuration"); // input for byteForDuration - QTest::addColumn<int>("byteForDuration"); - QTest::addColumn<int>("framesForDuration"); - - QAudioFormat f; - QTest::newRow("invalid") << f << 0 << 0 << 0LL << 0 << 0 << 0LL << 0 << 0; - - f.setByteOrder(QAudioFormat::LittleEndian); - f.setChannelCount(1); - f.setSampleRate(8000); - f.setCodec("audio/pcm"); - f.setSampleSize(8); - f.setSampleType(QAudioFormat::SignedInt); - - qint64 qrtr = 250000LL; - qint64 half = 500000LL; - qint64 one = 1000000LL; - qint64 two = 2000000LL; - - // No rounding errors with mono 8 bit - QTest::newRow("1ch_8b_8k_signed_4000") << f << 1 << 4000 << half << 4000 << 4000 << half << 4000 << 4000; - QTest::newRow("1ch_8b_8k_signed_8000") << f << 1 << 8000 << one << 8000 << 8000 << one << 8000 << 8000; - QTest::newRow("1ch_8b_8k_signed_16000") << f << 1 << 16000 << two << 16000 << 16000 << two << 16000 << 16000; - - // Mono 16bit - f.setSampleSize(16); - QTest::newRow("1ch_16b_8k_signed_8000") << f << 2 << 8000 << half << 4000 << 8000 << half << 8000 << 4000; - QTest::newRow("1ch_16b_8k_signed_16000") << f << 2 << 16000 << one << 8000 << 16000 << one << 16000 << 8000; - - // Rounding errors - QTest::newRow("1ch_16b_8k_signed_8001") << f << 2 << 8001 << half << 4000 << 8000 << half << 8000 << 4000; - QTest::newRow("1ch_16b_8k_signed_8000_duration1") << f << 2 << 8000 << half << 4000 << 8000 << half + 1 << 8000 << 4000; - QTest::newRow("1ch_16b_8k_signed_8000_duration2") << f << 2 << 8000 << half << 4000 << 8000 << half + 124 << 8000 << 4000; - QTest::newRow("1ch_16b_8k_signed_8000_duration3") << f << 2 << 8000 << half << 4000 << 8000 << half + 125 << 8002 << 4001; - QTest::newRow("1ch_16b_8k_signed_8000_duration4") << f << 2 << 8000 << half << 4000 << 8000 << half + 126 << 8002 << 4001; - - // Stereo 16 bit - f.setChannelCount(2); - QTest::newRow("2ch_16b_8k_signed_8000") << f << 4 << 8000 << qrtr << 2000 << 8000 << qrtr << 8000 << 2000; - QTest::newRow("2ch_16b_8k_signed_16000") << f << 4 << 16000 << half << 4000 << 16000 << half << 16000 << 4000; - - // More rounding errors - // First rounding bytes - QTest::newRow("2ch_16b_8k_signed_8001") << f << 4 << 8001 << qrtr << 2000 << 8000 << qrtr << 8000 << 2000; - QTest::newRow("2ch_16b_8k_signed_8002") << f << 4 << 8002 << qrtr << 2000 << 8000 << qrtr << 8000 << 2000; - QTest::newRow("2ch_16b_8k_signed_8003") << f << 4 << 8003 << qrtr << 2000 << 8000 << qrtr << 8000 << 2000; - - // Then rounding duration - // 8khz = 125us per frame - QTest::newRow("2ch_16b_8k_signed_8000_duration1") << f << 4 << 8000 << qrtr << 2000 << 8000 << qrtr + 1 << 8000 << 2000; - QTest::newRow("2ch_16b_8k_signed_8000_duration2") << f << 4 << 8000 << qrtr << 2000 << 8000 << qrtr + 124 << 8000 << 2000; - QTest::newRow("2ch_16b_8k_signed_8000_duration3") << f << 4 << 8000 << qrtr << 2000 << 8000 << qrtr + 125 << 8004 << 2001; - QTest::newRow("2ch_16b_8k_signed_8000_duration4") << f << 4 << 8000 << qrtr << 2000 << 8000 << qrtr + 126 << 8004 << 2001; -} - -QTEST_MAIN(tst_QAudioFormat) - -#include "tst_qaudioformat.moc" |