-#include <iostream>
-//#include "design.h"
+
+#include "config.hpp"
#include "filter.hpp"
#include "router.hpp"
#include "package.hpp"
-class FilterConstant: public yp2::Filter {
+#include <iostream>
+
+#define BOOST_AUTO_TEST_MAIN
+#include <boost/test/auto_unit_test.hpp>
+
+using namespace boost::unit_test;
+
+
+class FilterConstant: public yp2::filter::Base {
public:
- yp2::Package & process(yp2::Package & package) const {
- std::cout << name() + ".process()" << std::endl;
+ void process(yp2::Package & package) const {
package.data() = 1234;
- return package.move();
+ package.move();
};
};
-class FilterDouble: public yp2::Filter {
+class FilterDouble: public yp2::filter::Base {
public:
- yp2::Package & process(yp2::Package & package) const {
- std::cout << name() + ".process()" << std::endl;
+ void process(yp2::Package & package) const {
package.data() = package.data() * 2;
- return package.move();
+ package.move();
};
};
-int main(int argc, char **argv)
+BOOST_AUTO_TEST_CASE( testfilter2 )
{
try {
FilterConstant fc;
router1.rule(fc);
router1.rule(fd);
+
+ yp2::Session session;
+ yp2::Origin origin;
+ yp2::Package pack(session, origin);
- yp2::Package pack_in;
-
- yp2::Package pack_out;
-
- pack_out = pack_in.router(router1).move();
-
- if (pack_out.data() != 2468)
- {
- exit(1);
- }
- }
- {
- yp2::RouterChain router1;
-
- router1.rule(fd);
- router1.rule(fc);
-
- yp2::Package pack_in;
+ pack.router(router1).move();
- yp2::Package pack_out;
+ BOOST_CHECK (pack.data() == 2468);
+
+ }
+
+ {
+ yp2::RouterChain router2;
- pack_out = pack_in.router(router1).move();
+ router2.rule(fd);
+ router2.rule(fc);
- if (pack_out.data() != 1234)
- {
- exit(1);
- }
+ yp2::Session session;
+ yp2::Origin origin;
+ yp2::Package pack(session, origin);
+
+ pack.router(router2).move();
+
+ BOOST_CHECK (pack.data() == 1234);
+
}
}
catch (std::exception &e) {
std::cout << e.what() << "\n";
- exit(1);
+ BOOST_CHECK (false);
}
- exit(0);
+ catch ( ...) {
+ BOOST_CHECK (false);
+ }
+
}
/*