Skip to content
Snippets Groups Projects
Commit dcda6c40 authored by Emmanuel Lepage Vallee's avatar Emmanuel Lepage Vallee
Browse files

[ #38116 ] Begin to add Auto Completion model unit tests

parent 555b87cf
No related branches found
No related tags found
No related merge requests found
...@@ -196,7 +196,7 @@ void NumberCompletionModel::updateModel() ...@@ -196,7 +196,7 @@ void NumberCompletionModel::updateModel()
emit layoutChanged(); emit layoutChanged();
} }
void NumberCompletionModel::getRange(QMap<QString,PhoneDirectoryModel::NumberWrapper*> map, const QString& prefix, QSet<PhoneNumber*>& set) void NumberCompletionModel::getRange(QMap<QString,PhoneDirectoryModel::NumberWrapper*> map, const QString& prefix, QSet<PhoneNumber*>& set) const
{ {
if (prefix.isEmpty()) if (prefix.isEmpty())
return; return;
......
...@@ -61,6 +61,10 @@ public: ...@@ -61,6 +61,10 @@ public:
bool isUsingUnregisteredAccounts(); bool isUsingUnregisteredAccounts();
QString prefix() const; QString prefix() const;
protected:
//Helper
void getRange(QMap<QString,PhoneDirectoryModel::NumberWrapper*> map, const QString& prefix, QSet<PhoneNumber*>& set) const;
private: private:
enum class Columns { enum class Columns {
CONTENT = 0, CONTENT = 0,
...@@ -73,7 +77,6 @@ private: ...@@ -73,7 +77,6 @@ private:
void updateModel(); void updateModel();
//Helper //Helper
void getRange(QMap<QString,PhoneDirectoryModel::NumberWrapper*> map, const QString& prefix, QSet<PhoneNumber*>& set);
void locateNameRange (const QString& prefix, QSet<PhoneNumber*>& set); void locateNameRange (const QString& prefix, QSet<PhoneNumber*>& set);
void locateNumberRange(const QString& prefix, QSet<PhoneNumber*>& set); void locateNumberRange(const QString& prefix, QSet<PhoneNumber*>& set);
uint getWeight(PhoneNumber* number); uint getWeight(PhoneNumber* number);
......
...@@ -36,6 +36,9 @@ class LIB_EXPORT PhoneDirectoryModel : public QAbstractTableModel { ...@@ -36,6 +36,9 @@ class LIB_EXPORT PhoneDirectoryModel : public QAbstractTableModel {
//NumberCompletionModel need direct access to the indexes //NumberCompletionModel need direct access to the indexes
friend class NumberCompletionModel; friend class NumberCompletionModel;
//Friend unit test class
friend class AutoCompletionTest;
//Phone number need to update the indexes as they change //Phone number need to update the indexes as they change
friend class PhoneNumber ; friend class PhoneNumber ;
...@@ -76,6 +79,13 @@ public: ...@@ -76,6 +79,13 @@ public:
//Static //Static
QVector<PhoneNumber*> getNumbersByPopularity() const; QVector<PhoneNumber*> getNumbersByPopularity() const;
protected:
//Internal data structures
///@struct NumberWrapper Wrap phone numbers to prevent collisions
struct NumberWrapper {
QVector<PhoneNumber*> numbers;
};
private: private:
//Model columns //Model columns
...@@ -100,12 +110,6 @@ private: ...@@ -100,12 +110,6 @@ private:
UID = 17, UID = 17,
}; };
//Internal data structures
///@struct NumberWrapper Wrap phone numbers to prevent collisions
struct NumberWrapper {
QVector<PhoneNumber*> numbers;
};
//Constructor //Constructor
explicit PhoneDirectoryModel(QObject* parent = nullptr); explicit PhoneDirectoryModel(QObject* parent = nullptr);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment