[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