Files
QtModelsToolkit/testlib/include/qtmodelstoolkit/testing/persistentindexestester.h

36 lines
784 B
C++
Raw Permalink Normal View History

2025-06-10 13:39:28 +02:00
#pragma once
#include <QAbstractItemModel>
#include <QPointer>
#include <memory>
namespace qtmt {
class SnapshotModel;
/**
* @brief The PersistentIndexesTester class is a simple utility for persistent
* indexes validation.
*
* It stores persistent indexes for all items and snapshot of the model's data.
* Using compare() method it can be checked if data indicated by persistent
* indexes match the snapshot.
*/
class PersistentIndexesTester
{
public:
explicit PersistentIndexesTester(QAbstractItemModel* model);
~PersistentIndexesTester();
void storeIndexesAndData();
bool compare();
private:
QPointer<QAbstractItemModel> m_model;
QList<QPersistentModelIndex> m_persistentIndexes;
QHash<int, QList<QVariant>> m_data;
};
} // namespace qtmt