[Debtags-commits] [svn] r1577 - in tagcoll/trunk: . tagcoll tests
Enrico Zini
enrico at costa.debian.org
Mon Feb 13 15:35:21 UTC 2006
Author: enrico
Date: Mon Feb 13 15:35:20 2006
New Revision: 1577
Modified:
tagcoll/trunk/ (props changed)
tagcoll/trunk/tagcoll/DerivedTags.cc
tagcoll/trunk/tagcoll/Expression.cc
tagcoll/trunk/tagcoll/Filter.cc
tagcoll/trunk/tagcoll/Filters.cc
tagcoll/trunk/tagcoll/Implications.cc
tagcoll/trunk/tagcoll/Patches.cc
tagcoll/trunk/tagcoll/TextFormat.cc
tagcoll/trunk/tagcoll/test-utils.cc
tagcoll/trunk/tests/test-textformat.cc
tagcoll/trunk/tests/test-utils.h
Log:
r7303 at viaza: enrico | 2006-02-13 16:12:26 +0100
Created gen_ensure_equals
Fixed gen_ensure to use a Location
Use gen_ensure instead of ensure
Fixed tests for DerivedTags, Patches, Filters
Modified: tagcoll/trunk/tagcoll/DerivedTags.cc
==============================================================================
--- tagcoll/trunk/tagcoll/DerivedTags.cc (original)
+++ tagcoll/trunk/tagcoll/DerivedTags.cc Mon Feb 13 15:35:20 2006
@@ -66,7 +66,7 @@
InputMerger<string, string> result;
AddDerived<string> filter(result);
- filter.derivedTags().add("cappuccino", Expression("coffe && milk && !sugar"));
+ filter.derivedTags().add("cappuccino", Expression("coffee && milk && !sugar"));
filter.derivedTags().add("sweet_cappuccino", Expression("coffee && milk && sugar"));
outputCollection(input_coll, filter);
@@ -74,7 +74,7 @@
InputMerger<string, string> reference;
outputCollection(output_coll, reference);
- ensure_coll_equal(reference, result);
+ gen_ensure_coll_equal(reference, result);
}
template<> template<>
@@ -95,7 +95,7 @@
InputMerger<string, string> result;
RemoveDerived<string> filter(result);
- filter.derivedTags().add("cappuccino", Expression("coffe && milk && !sugar"));
+ filter.derivedTags().add("cappuccino", Expression("coffee && milk && !sugar"));
filter.derivedTags().add("sweet_cappuccino", Expression("coffee && milk && sugar"));
outputCollection(input_coll, filter);
@@ -103,7 +103,7 @@
InputMerger<string, string> reference;
outputCollection(output_coll, reference);
- ensure_coll_equal(reference, result);
+ gen_ensure_coll_equal(reference, result);
}
}
Modified: tagcoll/trunk/tagcoll/Expression.cc
==============================================================================
--- tagcoll/trunk/tagcoll/Expression.cc (original)
+++ tagcoll/trunk/tagcoll/Expression.cc Mon Feb 13 15:35:20 2006
@@ -237,28 +237,34 @@
test += "sugar";
Expression e1("coffee");
- ensure(e1(test));
+ gen_ensure(e1(test));
Expression e2("coffee && tea");
- ensure(e2(test));
+ gen_ensure(e2(test));
e1 = Expression("!coffee");
- ensure(!e1(test));
+ gen_ensure(!e1(test));
e1 = Expression("coffee || milk");
- ensure(e1(test));
+ gen_ensure(e1(test));
e1 = Expression("coffee && !milk");
- ensure(e1(test));
+ gen_ensure(e1(test));
e1 = Expression("coffee && !tea");
- ensure(!e1(test));
+ gen_ensure(!e1(test));
e1 = Expression("(coffee || milk) && (tea && sugar)");
- ensure(e1(test));
+ gen_ensure(e1(test));
e1 = Expression("!(coffee && milk) && (tea && sugar)");
- ensure(e1(test));
+ gen_ensure(e1(test));
+
+ OpSet<string> test1;
+ test1 += "coffee";
+ test1 += "milk";
+ Expression e3("coffee && milk && !sugar");
+ gen_ensure(e3(test1));
}
template<> template<>
@@ -281,7 +287,7 @@
InputMerger<string, string> reference;
outputCollection(output_coll, reference);
- ensure_coll_equal(reference, result);
+ gen_ensure_coll_equal(reference, result);
}
template<> template<>
@@ -305,7 +311,7 @@
InputMerger<string, string> reference;
outputCollection(output_coll, reference);
- ensure_coll_equal(reference, result);
+ gen_ensure_coll_equal(reference, result);
}
}
Modified: tagcoll/trunk/tagcoll/Filter.cc
==============================================================================
--- tagcoll/trunk/tagcoll/Filter.cc (original)
+++ tagcoll/trunk/tagcoll/Filter.cc Mon Feb 13 15:35:20 2006
@@ -113,14 +113,14 @@
InputMerger<string, string> result;
TestFilter filter(result);
- ensure(filter.isComplete());
+ gen_ensure(filter.isComplete());
outputCollection(input_coll, filter);
InputMerger<string, string> reference;
outputCollection(output_coll, reference);
- ensure_coll_equal(reference, result);
+ gen_ensure_coll_equal(reference, result);
}
template<> template<>
@@ -144,23 +144,23 @@
TestFilter filter1;
TestFilter filter2("add2");
- ensure(!filter1.isComplete());
- ensure(!filter2.isComplete());
+ gen_ensure(!filter1.isComplete());
+ gen_ensure(!filter2.isComplete());
chain.appendFilter(filter1);
chain.setConsumer(result);
chain.appendFilter(filter2);
- ensure_equals(&(chain.getConsumer()), &filter1);
- ensure_equals(&(filter1.getConsumer()), &filter2);
- ensure_equals(&(filter2.getConsumer()), &result);
+ gen_ensure_equals(&(chain.getConsumer()), &filter1);
+ gen_ensure_equals(&(filter1.getConsumer()), &filter2);
+ gen_ensure_equals(&(filter2.getConsumer()), &result);
outputCollection(input_coll, chain);
InputMerger<string, string> reference;
outputCollection(output_coll, reference);
- ensure_coll_equal(reference, result);
+ gen_ensure_coll_equal(reference, result);
}
}
Modified: tagcoll/trunk/tagcoll/Filters.cc
==============================================================================
--- tagcoll/trunk/tagcoll/Filters.cc (original)
+++ tagcoll/trunk/tagcoll/Filters.cc Mon Feb 13 15:35:20 2006
@@ -106,10 +106,10 @@
"c::D: e::F\n"
);
std::string output_coll(
- "a: b, c\n"
+ "a: b\n"
"b:\n"
"c: \n"
- "d: c::D, e::F, f::g\n"
+ "d: c::D, f::g\n"
);
InputMerger<string, string> result;
Substitute<string, string> filter(result);
@@ -120,7 +120,7 @@
InputMerger<string, string> reference;
outputCollection(output_coll, reference);
- ensure_coll_equal(reference, result);
+ gen_ensure_coll_equal(reference, result);
}
template<> template<>
@@ -143,7 +143,7 @@
InputMerger<string, string> reference;
outputCollection(output_coll, reference);
- ensure_coll_equal(reference, result);
+ gen_ensure_coll_equal(reference, result);
}
template<> template<>
@@ -166,7 +166,7 @@
InputMerger<string, string> reference;
outputCollection(output_coll, reference);
- ensure_coll_equal(reference, result);
+ gen_ensure_coll_equal(reference, result);
}
}
Modified: tagcoll/trunk/tagcoll/Implications.cc
==============================================================================
--- tagcoll/trunk/tagcoll/Implications.cc (original)
+++ tagcoll/trunk/tagcoll/Implications.cc Mon Feb 13 15:35:20 2006
@@ -186,7 +186,7 @@
InputMerger<string, string> reference;
outputCollection(output_coll, reference);
- ensure_coll_equal(reference, result);
+ gen_ensure_coll_equal(reference, result);
}
template<> template<>
@@ -218,7 +218,7 @@
InputMerger<string, string> reference;
outputCollection(output_coll, reference);
- ensure_coll_equal(reference, result);
+ gen_ensure_coll_equal(reference, result);
}
}
Modified: tagcoll/trunk/tagcoll/Patches.cc
==============================================================================
--- tagcoll/trunk/tagcoll/Patches.cc (original)
+++ tagcoll/trunk/tagcoll/Patches.cc Mon Feb 13 15:35:20 2006
@@ -166,9 +166,7 @@
#ifdef COMPILE_TESTSUITE
#include <tests/test-utils.h>
-
-#include <tagcoll/TextFormat.h>
-#include <tagcoll/StringParserInput.h>
+#include <tagcoll/InputMerger.h>
namespace tut {
using namespace tut_tagcoll;
@@ -180,14 +178,20 @@
template<> template<>
void to::test<1>()
{
- StringParserInput input_coll(
+ string input_coll(
"a: b, c\n"
"b:\n"
"c: \n"
"d: c::D, e::F, f::g\n"
);
- TestConsumer<string, string> cons;
- PatchList<string, string> patches(cons);
+ string output_coll(
+ "a: b\n"
+ "b: b, c\n"
+ "c: \n"
+ "d: c::D, c::d, e::F\n"
+ );
+ InputMerger<string, string> result;
+ PatchList<string, string> patches(result);
OpSet<string> added;
OpSet<string> removed;
@@ -204,12 +208,12 @@
removed.clear(); removed += "f::g";
patches.addPatch(Patch<string, string>("d", added, removed));
- TrivialConverter<string, string> a;
- TextFormat<string, string>::parse(a, a, input_coll, patches);
+ outputCollection(input_coll, patches);
- ensure(cons.items == 4);
- ensure(cons.tags == 5);
+ InputMerger<string, string> reference;
+ outputCollection(output_coll, reference);
+ gen_ensure_coll_equal(reference, result);
}
}
Modified: tagcoll/trunk/tagcoll/TextFormat.cc
==============================================================================
--- tagcoll/trunk/tagcoll/TextFormat.cc (original)
+++ tagcoll/trunk/tagcoll/TextFormat.cc Mon Feb 13 15:35:20 2006
@@ -421,8 +421,8 @@
TrivialConverter<string, string> a;
TextFormat<string, string>::parse(a, a, coll, cons);
- ensure_equals(cons.items, 4);
- ensure_equals(cons.tags, 5);
+ gen_ensure_equals(cons.items, 4);
+ gen_ensure_equals(cons.tags, 5);
}
template<> template<>
@@ -447,19 +447,19 @@
i->second.getRemoved().size() << endl;
*/
- ensure_equals(plist.size(), 2u);
+ gen_ensure_equals(plist.size(), 2u);
gen_ensure(plist.find("a") != plist.end());
gen_ensure(plist.find("b") == plist.end());
gen_ensure(plist.find("c") == plist.end());
gen_ensure(plist.find("d") != plist.end());
PatchList<string, string>::const_iterator i = plist.find("a");
- ensure_equals(i->second.getAdded().size(), 2u);
- ensure_equals(i->second.getRemoved().size(), 0u);
+ gen_ensure_equals(i->second.getAdded().size(), 2u);
+ gen_ensure_equals(i->second.getRemoved().size(), 0u);
i = plist.find("d");
- ensure_equals(i->second.getAdded().size(), 1u);
- ensure_equals(i->second.getRemoved().size(), 2u);
+ gen_ensure_equals(i->second.getAdded().size(), 1u);
+ gen_ensure_equals(i->second.getRemoved().size(), 2u);
}
}
Modified: tagcoll/trunk/tagcoll/test-utils.cc
==============================================================================
--- tagcoll/trunk/tagcoll/test-utils.cc (original)
+++ tagcoll/trunk/tagcoll/test-utils.cc Mon Feb 13 15:35:20 2006
@@ -52,23 +52,14 @@
TextFormat<string, string>::parse(a, a, input, cons);
}
-void __tc_ensure_coll_equal(std::string f, int l, std::string s,
+void __tc_ensure_coll_equal(const Location& loc,
const Tagcoll::Collection<string, string>& c1, const Tagcoll::Collection<string, string>& c2)
{
PatchList<string, string> p;
p.addPatch(c1, c2);
if (!p.empty())
{
- char buf[64];
- snprintf(buf, 63, "%d", l);
- buf[63] = 0;
-
- f += ":";
- f += buf;
- f += ": '";
- f += s;
- f += "': ";
- f += "collections differ. Patch:\n";
+ string f = "collections differ. Patch:\n";
for (PatchList<string, string>::const_iterator i = p.begin();
i != p.end(); i++)
{
@@ -96,7 +87,7 @@
f += "\n";
}
- ensure(f.c_str(), false);
+ throw failure(loc.msg(f));
}
}
Modified: tagcoll/trunk/tests/test-textformat.cc
==============================================================================
--- tagcoll/trunk/tests/test-textformat.cc (original)
+++ tagcoll/trunk/tests/test-textformat.cc Mon Feb 13 15:35:20 2006
@@ -158,8 +158,8 @@
TDBIndexer<Item, Item> coll;
ItemChecker checker;
TextFormat<Item, Item>::parse(conv, conv, in0, checker);
- ensure_equals(checker.nullItems(), 2);
- ensure_equals(checker.nullTags(), 2);
+ gen_ensure_equals(checker.nullItems(), 2);
+ gen_ensure_equals(checker.nullTags(), 2);
StringParserInput in1(testCollection);
TextFormat<Item, Item>::parse(conv, conv, in1, coll);
Modified: tagcoll/trunk/tests/test-utils.h
==============================================================================
--- tagcoll/trunk/tests/test-utils.h (original)
+++ tagcoll/trunk/tests/test-utils.h Mon Feb 13 15:35:20 2006
@@ -86,17 +86,30 @@
void outputCollection(const std::string& str, Tagcoll::Consumer<string, string>& cons);
-#define ensure_coll_equal(a, b) \
- __tc_ensure_coll_equal(__FILE__, __LINE__, #a " == " #b, a, b)
-void __tc_ensure_coll_equal(std::string f, int l, std::string s,
- const Tagcoll::Collection<string, string>& c1,
- const Tagcoll::Collection<string, string>& c2);
-
#define gen_ensure(x) _gen_ensure(Location(__FILE__, __LINE__, #x), (x))
#define inner_ensure(x) _gen_ensure(Location(loc, __FILE__, __LINE__, #x), (x))
void _gen_ensure(const Location& loc, bool res);
-#define ensure_contains(a, b) \
+#define gen_ensure_equals(x, y) my_ensure_equals(Location(__FILE__, __LINE__, #x " == " #y), (x), (y))
+#define inner_ensure_equals(x, y) my_ensure_equals(Location(loc, __FILE__, __LINE__, #x " == " #y), (x), (y))
+template <class T,class Q>
+void my_ensure_equals(const Location& loc, const Q& actual, const T& expected)
+{
+ if( expected != actual )
+ {
+ std::stringstream ss;
+ ss << "expected " << expected << " actual " << actual;
+ throw failure(loc.msg(ss.str()));
+ }
+}
+
+#define gen_ensure_coll_equal(a, b) \
+ __tc_ensure_coll_equal(Location(__FILE__, __LINE__, #a " == " #b), a, b)
+void __tc_ensure_coll_equal(const Location& loc,
+ const Tagcoll::Collection<string, string>& c1,
+ const Tagcoll::Collection<string, string>& c2);
+
+#define gen_ensure_contains(a, b) \
_ensure_contains(Location(__FILE__, __LINE__, #a " contains " #b), a, b)
#define inner_ensure_contains(a, b) \
_ensure_contains(Location(loc, __FILE__, __LINE__, #a " contains " #b), a, b)
@@ -119,7 +132,7 @@
}
}
-#define ensure_not_contains(a, b) \
+#define gen_ensure_not_contains(a, b) \
_ensure_not_contains(Location(__FILE__, __LINE__, #a " contains " #b), a, b)
#define inner_ensure_not_contains(a, b) \
_ensure_not_contains(Location(loc, __FILE__, __LINE__, #a " contains " #b), a, b)
More information about the Debtags-commits
mailing list