// Copyright 2015 - 2026, GIBIS-UNIFESP and the wiRedPanda contributors
// SPDX-License-Identifier: GPL-3.0-or-later

#pragma once

#include <QObject>

class TestClocksAdvanced : public QObject
{
    Q_OBJECT

private slots:
    // Behavioral test (clock driving a LED via simulation)
    void testClockBehavior();

    // Clock timing accuracy tests
    void testClockFrequencyEdgeCases();
    void testClockTimingPrecision();
    void testClockSilentRejectionForExtremeFrequencies();

    // Multi-clock scenario tests
    void testTwoClocksDifferentFrequencies();
    void testThreeClocksConcurrentExecution();
    void testClockSynchronizationEdgeCases();
    void testMultiClockPhaseRelationships();
};
