cdromreducesourcelist_test.cc 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #include <apt-pkg/cdrom.h>
  2. #include <apt-pkg/error.h>
  3. #include <algorithm>
  4. #include <string>
  5. #include <vector>
  6. #include "assert.h"
  7. class Cdrom : public pkgCdrom {
  8. public:
  9. std::vector<std::string> ReduceSourcelist(std::string CD,std::vector<std::string> List) {
  10. pkgCdrom::ReduceSourcelist(CD, List);
  11. return List;
  12. }
  13. };
  14. int main() {
  15. Cdrom cd;
  16. std::vector<std::string> List;
  17. std::string CD("/media/cdrom/");
  18. std::vector<std::string> R = cd.ReduceSourcelist(CD, List);
  19. equals(R.empty(), true);
  20. List.push_back(" wheezy main");
  21. R = cd.ReduceSourcelist(CD, List);
  22. equals(R.size(), 1);
  23. equals(R[0], " wheezy main");
  24. List.push_back(" wheezy main");
  25. R = cd.ReduceSourcelist(CD, List);
  26. equals(R.size(), 1);
  27. equals(R[0], " wheezy main");
  28. List.push_back(" wheezy contrib");
  29. R = cd.ReduceSourcelist(CD, List);
  30. equals(R.size(), 1);
  31. equals(R[0], " wheezy contrib main");
  32. List.push_back(" wheezy-update contrib");
  33. R = cd.ReduceSourcelist(CD, List);
  34. equals(R.size(), 2);
  35. equals(R[0], " wheezy contrib main");
  36. equals(R[1], " wheezy-update contrib");
  37. List.push_back(" wheezy-update contrib");
  38. R = cd.ReduceSourcelist(CD, List);
  39. equals(R.size(), 2);
  40. equals(R[0], " wheezy contrib main");
  41. equals(R[1], " wheezy-update contrib");
  42. List.push_back(" wheezy-update non-free");
  43. R = cd.ReduceSourcelist(CD, List);
  44. equals(R.size(), 2);
  45. equals(R[0], " wheezy contrib main");
  46. equals(R[1], " wheezy-update contrib non-free");
  47. List.push_back(" wheezy-update main");
  48. R = cd.ReduceSourcelist(CD, List);
  49. equals(R.size(), 2);
  50. equals(R[0], " wheezy contrib main");
  51. equals(R[1], " wheezy-update contrib main non-free");
  52. List.push_back(" wheezy non-free");
  53. R = cd.ReduceSourcelist(CD, List);
  54. equals(R.size(), 2);
  55. equals(R[0], " wheezy contrib main non-free");
  56. equals(R[1], " wheezy-update contrib main non-free");
  57. List.push_back(" sid main");
  58. R = cd.ReduceSourcelist(CD, List);
  59. equals(R.size(), 3);
  60. equals(R[0], " sid main");
  61. equals(R[1], " wheezy contrib main non-free");
  62. equals(R[2], " wheezy-update contrib main non-free");
  63. List.push_back(" sid main-reduce");
  64. R = cd.ReduceSourcelist(CD, List);
  65. equals(R.size(), 3);
  66. equals(R[0], " sid main main-reduce");
  67. equals(R[1], " wheezy contrib main non-free");
  68. equals(R[2], " wheezy-update contrib main non-free");
  69. return 0;
  70. }