21 #include <wibble/test.h>
25 #include <tagcoll/utils/set.h>
26 #include <tagcoll/input/stdio.h>
33 int tagcmp(
const char* tag1,
const char* tag2);
53 assert( tags().hasFacet(
"works-with" ) );
54 assert( !tags().hasFacet(
"blah" ) );
59 assert( tags().hasTag(
"works-with::people" ) );
60 assert( !tags().hasTag(
"works-with::midgets" ) );
65 Tag people = tags().tagByName(
"works-with::people" ),
66 midgets = tags().tagByName(
"works-with::midgets" ),
67 blahg = tags().tagByName(
"works-with::blahg" ),
68 text = tags().tagByName(
"works-with::text" ),
69 people2 = tags().tagByName(
"works-with::people" );
70 assert( people != midgets );
71 assert( people != text );
72 assert( people != blahg );
73 assert( midgets == blahg );
74 assert( midgets == midgets );
75 assert( people == people2 );
76 assert( people == people );
81 Tag a = tags().tagByName(
"works-with::people" ),
82 b = tags().tagByName(
"works-with::midgets" );
83 std::set< Tag > s = tags().tags(),
84 f = tags().tags(
"works-with" ),
85 n = tags().tags(
"nonsense" );
86 assert( set_contains(s, a) );
87 assert( set_contains(f, a) );
88 assert( set_contains(s, f) );
89 assert( !set_contains(s, b) );
90 assert( !set_contains(f, b) );
96 Facet f = tags().facetByName(
"works-with" );
97 Tag t = tags().tagByName(
"works-with::people" );
98 assert_eq(f.
name(),
"works-with");
99 assert_eq(t.
name(),
"people");
100 assert_eq(t.
fullname(),
"works-with::people");
105 Facet f = tags().facetByName(
"works-with" );
106 std::set< Tag > x = tags().
tags(
"works-with" );
107 assert( x == f.
tags() );
112 Facet f = tags().facetByName(
"does-not-work-with" );
125 Facet f = tags().facetByName(
"legacy" );
134 assert( tags().hasTag(
"implemented-in::c" ) );
140 std::set<Facet> facets = tags().facets();
142 for (std::set<Facet>::const_iterator i = facets.begin();
143 i != facets.end(); i++)
145 i->name(
string(
"foo"));
146 i->shortDescription(
string(
"foo"));
147 i->longDescription(
string(
"foo"));
155 std::set<Tag> tags = this->tags().tags();
157 for (std::set<Tag>::const_iterator i = tags.begin();
158 i != tags.end(); i++)
160 i->name(
string(
"foo"));
161 i->fullname(
string(
"foo"));
162 i->shortDescription(
string(
"foo"));
163 i->longDescription(
string(
"foo"));
173 assert(first !=
Tag());
174 assert_eq(first.
fullname(), string(
"accessibility::TODO"));
175 assert_eq(first.
name(), string(
"TODO"));
179 assert(last !=
Tag());
180 assert_eq(last.fullname(), string(
"x11::xserver"));
181 assert_eq(last.name(), string(
"xserver"));
182 assert_eq(last.shortDescription(), string(
"X Server"));
188 std::set<Facet> facets = tags().facets();
190 for (std::set<Facet>::const_iterator i = facets.begin();
191 i != facets.end(); i++)
193 Facet f = tags().facetByID(i->id());
195 assert_eq(i->name(), f.
name());
198 assert_eq(i->tags().size(), f.
tags().size());
205 std::set<Tag> tags = this->tags().tags();
207 for (std::set<Tag>::const_iterator i = tags.begin();
208 i != tags.end(); i++)
210 Tag t = this->tags().tagByID(i->id());
212 assert_eq(i->name(), t.
name());
213 assert_eq(i->fullname(), t.
fullname());
222 std::set<Facet> facets = tags().facets();
224 for (std::set<Facet>::const_iterator i = facets.begin();
225 i != facets.end(); i++)
228 assert_eq(facets.size(), ids.size());
234 std::set<Tag> tags = this->tags().tags();
236 for (std::set<Tag>::const_iterator i = tags.begin();
237 i != tags.end(); i++)
240 assert_eq(tags.size(), ids.size());
249 std::set<std::string> all = voc.
tagNames();
250 for (std::set<std::string>::const_iterator i = all.begin();
252 assert(this->tags().hasTag(*i));
255 std::set<Tag> allTags = this->tags().tags();
256 assert_eq(all.size(), allTags.size());
291 std::set<Tag> t = tags().tags(
"accessibility");
292 assert_eq(t.size(), 10u);
294 t = tags().tags(
"works-with-format");
295 assert_eq(t.size(), 33u);
309 set<Facet> facets = empty.
facets();
310 assert_eq(facets.size(), 0u);
312 set<Tag> tags = empty.
tags();
313 assert_eq(tags.size(), 0u);
Test _6()
Definition: vocabulary.test.h:94
Vocabulary & tags()
Definition: vocabulary.test.h:44
Test _16()
Definition: vocabulary.test.h:219
Vocabulary m_tags
Definition: vocabulary.test.h:43
Test _4()
Definition: vocabulary.test.h:63
Test _19()
Definition: vocabulary.test.h:259
Test _14()
Definition: vocabulary.test.h:185
Test _3()
Definition: vocabulary.test.h:57
Definition: packagerecord.test.h:22
Test _12()
Definition: vocabulary.test.h:152
-*- C++ -*- (c) 2006, 2007 Petr Rockai me@mornfall.net
Definition: apt.cc:43
Test _8()
Definition: vocabulary.test.h:110
Test _18()
Definition: vocabulary.test.h:243
Test _10()
Definition: vocabulary.test.h:131
Definition: vocabulary.test.h:41
Test _13()
Definition: vocabulary.test.h:168
Test _7()
Definition: vocabulary.test.h:103
Test _11()
Definition: vocabulary.test.h:137
Test _17()
Definition: vocabulary.test.h:231
Test _21()
Definition: vocabulary.test.h:299
Test _1()
Definition: vocabulary.test.h:46
Test _2()
Definition: vocabulary.test.h:51
Test _5()
Definition: vocabulary.test.h:79
Test _20()
Definition: vocabulary.test.h:288
Test _15()
Definition: vocabulary.test.h:202
Test _9()
Definition: vocabulary.test.h:123