summaryrefslogtreecommitdiff
path: root/test/libapt/cdromreducesourcelist_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'test/libapt/cdromreducesourcelist_test.cc')
-rw-r--r--test/libapt/cdromreducesourcelist_test.cc86
1 files changed, 86 insertions, 0 deletions
diff --git a/test/libapt/cdromreducesourcelist_test.cc b/test/libapt/cdromreducesourcelist_test.cc
new file mode 100644
index 000000000..729da23a6
--- /dev/null
+++ b/test/libapt/cdromreducesourcelist_test.cc
@@ -0,0 +1,86 @@
+#include <apt-pkg/cdrom.h>
+#include <apt-pkg/error.h>
+
+#include <algorithm>
+#include <string>
+#include <vector>
+
+#include "assert.h"
+
+class Cdrom : public pkgCdrom {
+public:
+ std::vector<std::string> ReduceSourcelist(std::string CD,std::vector<std::string> List) {
+ pkgCdrom::ReduceSourcelist(CD, List);
+ return List;
+ }
+};
+
+int main(int argc, char const *argv[]) {
+ Cdrom cd;
+ std::vector<std::string> List;
+ std::string CD("/media/cdrom/");
+
+ std::vector<std::string> R = cd.ReduceSourcelist(CD, List);
+ equals(R.empty(), true);
+
+ List.push_back(" wheezy main");
+ R = cd.ReduceSourcelist(CD, List);
+ equals(R.size(), 1);
+ equals(R[0], " wheezy main");
+
+ List.push_back(" wheezy main");
+ R = cd.ReduceSourcelist(CD, List);
+ equals(R.size(), 1);
+ equals(R[0], " wheezy main");
+
+ List.push_back(" wheezy contrib");
+ R = cd.ReduceSourcelist(CD, List);
+ equals(R.size(), 1);
+ equals(R[0], " wheezy contrib main");
+
+ List.push_back(" wheezy-update contrib");
+ R = cd.ReduceSourcelist(CD, List);
+ equals(R.size(), 2);
+ equals(R[0], " wheezy contrib main");
+ equals(R[1], " wheezy-update contrib");
+
+ List.push_back(" wheezy-update contrib");
+ R = cd.ReduceSourcelist(CD, List);
+ equals(R.size(), 2);
+ equals(R[0], " wheezy contrib main");
+ equals(R[1], " wheezy-update contrib");
+
+ List.push_back(" wheezy-update non-free");
+ R = cd.ReduceSourcelist(CD, List);
+ equals(R.size(), 2);
+ equals(R[0], " wheezy contrib main");
+ equals(R[1], " wheezy-update contrib non-free");
+
+ List.push_back(" wheezy-update main");
+ R = cd.ReduceSourcelist(CD, List);
+ equals(R.size(), 2);
+ equals(R[0], " wheezy contrib main");
+ equals(R[1], " wheezy-update contrib main non-free");
+
+ List.push_back(" wheezy non-free");
+ R = cd.ReduceSourcelist(CD, List);
+ equals(R.size(), 2);
+ equals(R[0], " wheezy contrib main non-free");
+ equals(R[1], " wheezy-update contrib main non-free");
+
+ List.push_back(" sid main");
+ R = cd.ReduceSourcelist(CD, List);
+ equals(R.size(), 3);
+ equals(R[0], " sid main");
+ equals(R[1], " wheezy contrib main non-free");
+ equals(R[2], " wheezy-update contrib main non-free");
+
+ List.push_back(" sid main-reduce");
+ R = cd.ReduceSourcelist(CD, List);
+ equals(R.size(), 3);
+ equals(R[0], " sid main main-reduce");
+ equals(R[1], " wheezy contrib main non-free");
+ equals(R[2], " wheezy-update contrib main non-free");
+
+ return 0;
+}