33 #include <tagcoll/coll/simple.h>
35 #include <wibble/singleton.h>
40 using namespace tagcoll;
42 using namespace ept::debtags;
51 : voc(debtags.vocabulary()), pkgid(debtags.pkgid()) {}
60 coll::Simple<string, string> source;
61 source.insert(wibble::singleton(
string(
"debtags")), wibble::singleton(
string(
"use::editing")));
62 source.insert(wibble::singleton(
string(
"debtags")), wibble::singleton(
string(
"role::program")));
65 coll::Simple<int, int> dest;
66 source.output(
stringToInt(pkgid, voc, inserter(dest)));
68 assert_eq(dest.itemCount(), 1u);
69 assert_eq(dest.tagCount(), 2u);
72 coll::Simple<string, Tag> dest1;
73 dest.output(
intToPkg(pkgid, voc, inserter(dest1)));
75 assert_eq(dest1.itemCount(), 1u);
76 assert_eq(dest1.tagCount(), 2u);
78 std::set<Tag> tags = dest1.getTagsOfItem(
"debtags");
79 assert_eq(tags.size(), 2u);
81 Tag useEditing = voc.tagByName(
"use::editing");
82 Tag roleProgram = voc.tagByName(
"role::program");
84 assert(tags.find(useEditing) != tags.end());
85 assert(tags.find(roleProgram) != tags.end());
88 coll::Simple<string, string> dest2;
91 assert_eq(dest2.itemCount(), 1u);
92 assert_eq(dest2.tagCount(), 2u);
94 std::set<std::string> tags1 = dest2.getTagsOfItem(
"debtags");
95 assert_eq(tags1.size(), 2u);
97 assert(tags1.find(
"use::editing") != tags1.end());
98 assert(tags1.find(
"role::program") != tags1.end());
104 PatchList<string, string> change;
105 change.addPatch(Patch<string, string>(
"debtags",
106 wibble::singleton(
string(
"use::gameplaying")),
107 wibble::singleton(
string(
"use::editing"))));
110 PatchList<int, int> intChange;
112 assert_eq(intChange.size(), 1u);
113 assert_eq(intChange.begin()->second.added.size(), 1u);
114 assert_eq(intChange.begin()->second.removed.size(), 1u);
117 PatchList<string, string> change1;
119 assert_eq(change1.size(), 1u);
120 assert_eq(change1.begin()->first, string(
"debtags"));
121 assert_eq(change1.begin()->second.item, string(
"debtags"));
122 assert_eq(change1.begin()->second.added.size(), 1u);
123 assert_eq(*change1.begin()->second.added.begin(), string(
"use::gameplaying"));
124 assert_eq(change1.begin()->second.removed.size(), 1u);
125 assert_eq(*change1.begin()->second.removed.begin(), string(
"use::editing"));
130 #include <tagcoll/coll/simple.tcc>
131 #include <tagcoll/patch.tcc>