Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include <ept/test.h>
00020 #include <ept/apt/apt.h>
00021 #include <set>
00022 #include <algorithm>
00023
00024 using namespace std;
00025 using namespace ept;
00026 using namespace ept::apt;
00027
00028 struct TestApt : AptTestEnvironment {
00029 Apt apt;
00030
00031
00032 Test iterators()
00033 {
00034 Apt::iterator i = apt.begin();
00035 assert(i != apt.end());
00036
00037 size_t count = 0;
00038 for (; i != apt.end(); ++i)
00039 ++count;
00040
00041 assert(count > 100);
00042 }
00043
00044
00045 Test aptExists()
00046 {
00047 set<string> packages;
00048
00049 std::copy(apt.begin(), apt.end(), inserter(packages, packages.begin()));
00050
00051 assert(packages.find("libsp1") != packages.end());
00052
00053
00054
00055 assert(packages.find("") == packages.end());
00056 }
00057
00058
00059 Test timestamp()
00060 {
00061 time_t ts = apt.timestamp();
00062 assert(ts > 1000000);
00063 }
00064
00065
00066 Test validity()
00067 {
00068 assert(apt.isValid("apt"));
00069 assert(!apt.isValid("this-package-does-not-really-exists"));
00070 }
00071
00072
00073 Test versions()
00074 {
00075 std::string pkg("apt");
00076 Version ver = apt.candidateVersion(pkg);
00077 assert(ver.isValid());
00078
00079 ver = apt.installedVersion(pkg);
00080 assert(ver.isValid());
00081
00082 ver = apt.anyVersion(pkg);
00083 assert(ver.isValid());
00084
00085 std::string pkg1("this-package-does-not-really-exists");
00086 ver = apt.candidateVersion(pkg1);
00087 assert(!ver.isValid());
00088
00089 ver = apt.installedVersion(pkg1);
00090 assert(!ver.isValid());
00091
00092 ver = apt.anyVersion(pkg1);
00093 assert(!ver.isValid());
00094 }
00095
00096
00097 Test versionValidity()
00098 {
00099 Version ver = apt.candidateVersion("apt");
00100 assert(apt.validate(ver) == ver);
00101
00102 ver = Version("this-package-does-not-really-exists", "0.1");
00103 assert(!apt.validate(ver).isValid());
00104
00105 ver = Version("apt", "0.31415");
00106 assert(!apt.validate(ver).isValid());
00107 }
00108
00109
00110 Test rawRecord()
00111 {
00112 string pkg("sp");
00113 Version ver = apt.candidateVersion(pkg);
00114 assert(apt.validate(ver) == ver);
00115
00116 string record = apt.rawRecord(ver);
00117 assert(record.find("Package: sp") != string::npos);
00118 assert(record.find("Section: text") != string::npos);
00119
00120 record = apt.rawRecord(Version("sp", "0.31415"));
00121 assert_eq(record, string());
00122
00123 assert_eq(apt.rawRecord(pkg), apt.rawRecord(apt.anyVersion(pkg)));
00124 }
00125
00126
00127 Test state()
00128 {
00129 PackageState s = apt.state("kdenetwork");
00130 assert(s.isValid());
00131 assert(s.isInstalled());
00132
00133 s = apt.state("this-package-does-not-really-exists");
00134 assert(!s.isValid());
00135 }
00136
00137
00138 Test recordIteration()
00139 {
00140 size_t count = 0;
00141 for (Apt::record_iterator i = apt.recordBegin();
00142 i != apt.recordEnd(); ++i)
00143 {
00144 assert((*i).size() > 8);
00145 assert_eq((*i).substr(0, 8), "Package:");
00146 ++count;
00147 }
00148 assert(count > 200);
00149 }
00150
00151
00152 Test recordIteration2()
00153 {
00154 size_t count = 0;
00155 for (Apt::record_iterator i = apt.recordBegin();
00156 i != apt.recordEnd(); ++i)
00157 {
00158 assert(i->size() > 8);
00159 assert_eq(i->substr(0, 8), "Package:");
00160 ++count;
00161 }
00162 assert(count > 200);
00163 }
00164
00165
00166 Test stlIteration()
00167 {
00168 vector<string> out;
00169 std::copy(apt.begin(), apt.end(), back_inserter(out));
00170 }
00171
00172
00173 Test stlRecordIteration()
00174 {
00175 vector<string> out;
00176 std::copy(apt.recordBegin(), apt.recordEnd(), back_inserter(out));
00177 }
00178
00179
00180 Test checkUpdates()
00181 {
00182 assert(apt.isValid("apt"));
00183 apt.checkCacheUpdates();
00184 assert(apt.isValid("apt"));
00185 apt.invalidateTimestamp();
00186 apt.checkCacheUpdates();
00187 assert(apt.isValid("apt"));
00188 }
00189
00190 };
00191
00192