22{
25
27
28 try {
29
30 JParser<> zap(
"Example program to test router.");
31
33
34 zap(argc, argv);
35 }
36 catch(const exception &error) {
37 FATAL(error.what() << endl);
38 }
39
40 vector <int> buffer;
42
43 {
44 buffer.clear();
45 router.clear();
46
47 for (int i = 1; i <= 1000000; i *= 10) {
48 buffer.push_back(i);
49 }
50
51 for (size_t i = 0; i != buffer.size(); ++i) {
52 router.put(buffer[i], i);
53 }
54
55 ASSERT(!router.in_range(0),
"Test of router range.");
56 ASSERT(!router.has(2),
"Test of router has.");
57
58 for (int i = 1; i <= 1000000; i *= 10) {
59 ASSERT(router.in_range(i),
"Test of router range.");
60 ASSERT(router.has(i),
"Test of router has.");
61 ASSERT(buffer[router.get(i)] == i,
"Test of router lookup.");
62 }
63 }
64
65 {
66 buffer.clear();
67 router.clear();
68
69 for (int i = 1000000; i >= 1; i /= 10) {
70 buffer.push_back(i);
71 }
72
73 for (size_t i = 0; i != buffer.size(); ++i) {
74 router.put(buffer[i], i);
75 }
76
77 ASSERT(!router.in_range(0),
"Test of router range.");
78 ASSERT(!router.has(2),
"Test of router has.");
79
80 for (int i = 1000000; i >= 1; i /= 10) {
81 ASSERT(router.in_range(i),
"Test of router range.");
82 ASSERT(router.has(i),
"Test of router has.");
83 ASSERT(buffer[router.get(i)] == i,
"Test of router.");
84 }
85 }
86
87 return 0;
88}
#define ASSERT(A,...)
Assert macro.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Utility class to parse command line options.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).