File: test_Track.cpp

package info (click to toggle)
kwave 25.04.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 23,272 kB
  • sloc: cpp: 56,173; xml: 817; perl: 688; sh: 57; makefile: 11
file content (41 lines) | stat: -rw-r--r-- 1,154 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// SPDX-FileCopyrightText: 2024 Mark Penner <mrp@markpenner.space>
// SPDX-License-Identifier: GPL-2.0-or-later

#include "Track.h"
#include <QTest>

class TestTrack : public QObject
{
    Q_OBJECT

private Q_SLOTS:
    void deleteRange_data();
    void deleteRange();
};

void TestTrack::deleteRange_data()
{
    QTest::addColumn<sample_index_t>("trackLen");
    QTest::addColumn<sample_index_t>("offset");
    QTest::addColumn<sample_index_t>("deleteLen");

    QTest::newRow("delete all one stripe")   << 16384ull <<     0ull << 16384ull;
    QTest::newRow("delete all stripes")      << 32768ull <<     0ull << 32768ull;
    QTest::newRow("delete first of stripes") << 65536ull <<     0ull << 16384ull;
    QTest::newRow("delete interior stripe")  << 65536ull << 16384ull << 16384ull;
}

void TestTrack::deleteRange()
{
    QFETCH(sample_index_t, trackLen);
    QFETCH(sample_index_t, offset);
    QFETCH(sample_index_t, deleteLen);

    auto uuid{QUuid::createUuid()};
    auto t = Kwave::Track{trackLen, &uuid};
    t.deleteRange(offset, deleteLen);
    QCOMPARE(t.length(), trackLen - deleteLen);
}

QTEST_MAIN(TestTrack)
#include "test_Track.moc"