diff options
author | jkobus <jaroslaw.kobus@digia.com> | 2014-10-07 16:01:45 +0200 |
---|---|---|
committer | Jarek Kobus <jaroslaw.kobus@digia.com> | 2014-10-10 15:09:52 +0200 |
commit | 7f97957097ab38ae6e00c1325b840cc22cae33fc (patch) | |
tree | cf5e0e5c74bb3cc297c762f69e68842ea28f90b5 /tests | |
parent | c2fa6212a9a255cb8c5995d0226d023ce8a75dc7 (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.cpp | 52 |
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) |