summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorjkobus <jaroslaw.kobus@digia.com>2014-10-07 16:01:45 +0200
committerJarek Kobus <jaroslaw.kobus@digia.com>2014-10-10 15:09:52 +0200
commit7f97957097ab38ae6e00c1325b840cc22cae33fc (patch)
treecf5e0e5c74bb3cc297c762f69e68842ea28f90b5 /tests
parentc2fa6212a9a255cb8c5995d0226d023ce8a75dc7 (diff)
Move the uninstallation calculations into UninstallerCalculator
Change-Id: I1b398815414430c2fab9a5c611b44e3a92c2fb39 Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/installer/solver/tst_solver.cpp52
1 files changed, 49 insertions, 3 deletions
diff --git a/tests/auto/installer/solver/tst_solver.cpp b/tests/auto/installer/solver/tst_solver.cpp
index 3c1530a1c..b2a932419 100644
--- a/tests/auto/installer/solver/tst_solver.cpp
+++ b/tests/auto/installer/solver/tst_solver.cpp
@@ -42,6 +42,7 @@
#include <component.h>
#include <graph.h>
#include <installercalculator.h>
+#include <uninstallercalculator.h>
#include <packagemanagercore.h>
#include <QTest>
@@ -149,7 +150,7 @@ private slots:
qPrintable(cycle.first.data()));
}
- void resolve_data()
+ void resolveInstaller_data()
{
QTest::addColumn<PackageManagerCore *>("core");
QTest::addColumn<QList<Component *> >("selectedComponents");
@@ -168,7 +169,7 @@ private slots:
core->appendRootComponent(componentA);
core->appendRootComponent(componentB);
- QTest::newRow("Simple resolved") << core
+ QTest::newRow("Installer resolved") << core
<< (QList<Component *>() << componentB)
<< (QList<Component *>() << componentAB << componentB)
<< (QList<int>()
@@ -176,7 +177,7 @@ private slots:
<< InstallerCalculator::Resolved);
}
- void resolve()
+ void resolveInstaller()
{
QFETCH(PackageManagerCore *, core);
QFETCH(QList<Component *> , selectedComponents);
@@ -194,6 +195,51 @@ private slots:
}
delete core;
}
+
+ void resolveUninstaller_data()
+ {
+ QTest::addColumn<PackageManagerCore *>("core");
+ QTest::addColumn<QList<Component *> >("selectedToUninstall");
+ QTest::addColumn<QList<Component *> >("installedComponents");
+ QTest::addColumn<QSet<Component *> >("expectedResult");
+
+ PackageManagerCore *core = new PackageManagerCore();
+ core->setPackageManager();
+ NamedComponent *componentA = new NamedComponent(core, QLatin1String("A"));
+ NamedComponent *componentAA = new NamedComponent(core, QLatin1String("A.A"));
+ NamedComponent *componentAB = new NamedComponent(core, QLatin1String("A.B"));
+ componentA->appendComponent(componentAA);
+ componentA->appendComponent(componentAB);
+ NamedComponent *componentB = new NamedComponent(core, QLatin1String("B"));
+ componentB->addDependency(QLatin1String("A.B"));
+ core->appendRootComponent(componentA);
+ core->appendRootComponent(componentB);
+
+ componentA->setInstalled();
+ componentB->setInstalled();
+ componentAB->setInstalled();
+
+ QTest::newRow("Uninstaller resolved") << core
+ << (QList<Component *>() << componentAB)
+ << (QList<Component *>() << componentA << componentB << componentAB)
+ << (QSet<Component *>() << componentAB << componentB);
+ }
+
+ void resolveUninstaller()
+ {
+ QFETCH(PackageManagerCore *, core);
+ QFETCH(QList<Component *> , selectedToUninstall);
+ QFETCH(QList<Component *> , installedComponents);
+ QFETCH(QSet<Component *> , expectedResult);
+
+ UninstallerCalculator calc(installedComponents);
+ calc.appendComponentsToUninstall(selectedToUninstall);
+ QSet<Component *> result = calc.componentsToUninstall();
+
+ QCOMPARE(result.count(), expectedResult.count());
+ QCOMPARE(result, expectedResult);
+ delete core;
+ }
};
QTEST_MAIN(tst_Solver)