From 70175cff1de5950810e48bcfdf41a3d6ea0f9147 Mon Sep 17 00:00:00 2001 From: Montel Laurent Date: Fri, 27 Oct 2017 23:57:06 +0200 Subject: [PATCH] Add autotest --- src/filter/autotests/CMakeLists.txt | 5 ++ .../autotests/filterimporterpathcachetest.cpp | 61 +++++++++++++++++++ .../autotests/filterimporterpathcachetest.h | 9 +-- src/filter/filterimporterpathcache.cpp | 9 +++ src/filter/filterimporterpathcache.h | 1 + 5 files changed, 81 insertions(+), 4 deletions(-) diff --git a/src/filter/autotests/CMakeLists.txt b/src/filter/autotests/CMakeLists.txt index 74e7ff0..4a81fc6 100644 --- a/src/filter/autotests/CMakeLists.txt +++ b/src/filter/autotests/CMakeLists.txt @@ -269,3 +269,8 @@ add_mailcommon_filter_test(filteractionmissingidentitydialogtest ../dialog/filteractionmissingidentitydialog.cpp ../../../autotests/dummykernel.cpp ) + +add_mailcommon_filter_test(filterimporterpathcachetest + filterimporterpathcachetest.cpp + ../filterimporterpathcache.cpp + ) diff --git a/src/filter/autotests/filterimporterpathcachetest.cpp b/src/filter/autotests/filterimporterpathcachetest.cpp index 94e5624..5597100 100644 --- a/src/filter/autotests/filterimporterpathcachetest.cpp +++ b/src/filter/autotests/filterimporterpathcachetest.cpp @@ -16,6 +16,7 @@ */ #include "filterimporterpathcachetest.h" +#include "../filterimporterpathcache.h" #include QTEST_MAIN(FilterImporterPathCacheTest) @@ -30,3 +31,63 @@ FilterImporterPathCacheTest::~FilterImporterPathCacheTest() { } + +void FilterImporterPathCacheTest::shouldReturnEmptyStringWhenListIsEmpty() +{ + MailCommon::FilterImporterPathCache cache; + QCOMPARE(cache.count(), 0); + QVERIFY(cache.convertedFilterPath(QStringLiteral("dd")).isEmpty()); + QCOMPARE(cache.count(), 0); +} + +void FilterImporterPathCacheTest::shouldNotStoreEmptyValue() +{ + MailCommon::FilterImporterPathCache cache; + cache.insert(QString(), QStringLiteral("foo")); + QCOMPARE(cache.count(), 0); + + cache.insert(QStringLiteral("foo"), QString()); + QCOMPARE(cache.count(), 0); + + cache.insert(QStringLiteral("foo1"), QStringLiteral("foo")); + QCOMPARE(cache.count(), 1); +} + +void FilterImporterPathCacheTest::shouldNotDuplicateEntries() +{ + MailCommon::FilterImporterPathCache cache; + cache.insert(QStringLiteral("foo1"), QStringLiteral("foo")); + QCOMPARE(cache.count(), 1); + + cache.insert(QStringLiteral("foo1"), QStringLiteral("foo")); + QCOMPARE(cache.count(), 1); + + cache.insert(QStringLiteral("foo1"), QStringLiteral("foo")); + QCOMPARE(cache.count(), 1); + + + cache.insert(QStringLiteral("foo1"), QStringLiteral("foo2")); + QCOMPARE(cache.count(), 1); + + cache.insert(QStringLiteral("foo1"), QStringLiteral("foo3")); + QCOMPARE(cache.count(), 1); + + //Add new one + cache.insert(QStringLiteral("foo2"), QStringLiteral("foo3")); + QCOMPARE(cache.count(), 2); + +} + +void FilterImporterPathCacheTest::shouldReturnValues() +{ + MailCommon::FilterImporterPathCache cache; + QString key = QStringLiteral("foo1"); + QString cached = QStringLiteral("foo"); + cache.insert(key, cached); + QCOMPARE(cache.convertedFilterPath(key), cached); + + //Use value in same key + cached = QStringLiteral("foo5"); + cache.insert(key, cached); + QCOMPARE(cache.convertedFilterPath(key), cached); +} diff --git a/src/filter/autotests/filterimporterpathcachetest.h b/src/filter/autotests/filterimporterpathcachetest.h index 8539b19..ca82412 100644 --- a/src/filter/autotests/filterimporterpathcachetest.h +++ b/src/filter/autotests/filterimporterpathcachetest.h @@ -26,10 +26,11 @@ class FilterImporterPathCacheTest : public QObject public: explicit FilterImporterPathCacheTest(QObject *parent = nullptr); ~FilterImporterPathCacheTest(); - -signals: - -public slots: +private Q_SLOTS: + void shouldReturnEmptyStringWhenListIsEmpty(); + void shouldNotStoreEmptyValue(); + void shouldNotDuplicateEntries(); + void shouldReturnValues(); }; #endif // FILTERIMPORTERPATHCACHETEST_H diff --git a/src/filter/filterimporterpathcache.cpp b/src/filter/filterimporterpathcache.cpp index 1afee1e..5ea0164 100644 --- a/src/filter/filterimporterpathcache.cpp +++ b/src/filter/filterimporterpathcache.cpp @@ -35,8 +35,17 @@ FilterImporterPathCache *FilterImporterPathCache::self() return &s_self; } +int FilterImporterPathCache::count() const +{ + return mFilterCache.count(); +} + void FilterImporterPathCache::insert(const QString &original, const QString &newValue) { + if (original.isEmpty() || newValue.isEmpty()) { + return; + } + mFilterCache.insert(original, newValue); } diff --git a/src/filter/filterimporterpathcache.h b/src/filter/filterimporterpathcache.h index 6211a71..51c446a 100644 --- a/src/filter/filterimporterpathcache.h +++ b/src/filter/filterimporterpathcache.h @@ -34,6 +34,7 @@ public: void insert(const QString &original, const QString &newValue); QString convertedFilterPath(const QString &original); void clear(); + int count() const; private: QHash mFilterCache; };