]>
git.saurik.com Git - apt.git/blob - test/libapt/assert.h
3 #define equals(x,y) assertEquals(y, x, __LINE__)
5 template < typename X
, typename Y
>
6 void OutputAssertEqual(X expect
, char const* compare
, Y get
, unsigned long const &line
) {
7 std::cerr
<< "Test FAILED: »" << expect
<< "« " << compare
<< " »" << get
<< "« at line " << line
<< std::endl
;
10 template < typename X
, typename Y
>
11 void assertEquals(X expect
, Y get
, unsigned long const &line
) {
14 OutputAssertEqual(expect
, "==", get
, line
);
17 void assertEquals(unsigned int const &expect
, int const &get
, unsigned long const &line
) {
19 OutputAssertEqual(expect
, "==", get
, line
);
20 assertEquals
<unsigned int const&, unsigned int const&>(expect
, get
, line
);
23 void assertEquals(int const &expect
, unsigned int const &get
, unsigned long const &line
) {
25 OutputAssertEqual(expect
, "==", get
, line
);
26 assertEquals
<unsigned int const&, unsigned int const&>(expect
, get
, line
);
29 void assertEquals(unsigned long const &expect
, int const &get
, unsigned long const &line
) {
31 OutputAssertEqual(expect
, "==", get
, line
);
32 assertEquals
<unsigned long const&, unsigned long const&>(expect
, get
, line
);
35 void assertEquals(int const &expect
, unsigned long const &get
, unsigned long const &line
) {
37 OutputAssertEqual(expect
, "==", get
, line
);
38 assertEquals
<unsigned long const&, unsigned long const&>(expect
, get
, line
);
42 #define equalsOr2(x,y,z) assertEqualsOr2(y, z, x, __LINE__)
44 template < typename X
, typename Y
>
45 void OutputAssertEqualOr2(X expect1
, X expect2
, char const* compare
, Y get
, unsigned long const &line
) {
46 std::cerr
<< "Test FAILED: »" << expect1
<< "« or »" << expect2
<< "« " << compare
<< " »" << get
<< "« at line " << line
<< std::endl
;
49 template < typename X
, typename Y
>
50 void assertEqualsOr2(X expect1
, X expect2
, Y get
, unsigned long const &line
) {
51 if (expect1
== get
|| expect2
== get
)
53 OutputAssertEqualOr2(expect1
, expect2
, "==", get
, line
);
56 void assertEqualsOr2(unsigned int const &expect1
, unsigned int const &expect2
, int const &get
, unsigned long const &line
) {
58 OutputAssertEqualOr2(expect1
, expect2
, "==", get
, line
);
59 assertEqualsOr2
<unsigned int const&, unsigned int const&>(expect1
, expect2
, get
, line
);
62 void assertEqualsOr2(int const &expect1
, int const &expect2
, unsigned int const &get
, unsigned long const &line
) {
63 if (expect1
< 0 && expect2
< 0)
64 OutputAssertEqualOr2(expect1
, expect2
, "==", get
, line
);
65 assertEqualsOr2
<unsigned int const&, unsigned int const&>(expect1
, expect2
, get
, line
);
69 #define equalsOr3(w,x,y,z) assertEqualsOr3(x, y, z, w, __LINE__)
71 template < typename X
, typename Y
>
72 void OutputAssertEqualOr3(X expect1
, X expect2
, X expect3
, char const* compare
, Y get
, unsigned long const &line
) {
73 std::cerr
<< "Test FAILED: »" << expect1
<< "« or »" << expect2
<< "« or »" << expect3
<< "« " << compare
<< " »" << get
<< "« at line " << line
<< std::endl
;
76 template < typename X
, typename Y
>
77 void assertEqualsOr3(X expect1
, X expect2
, X expect3
, Y get
, unsigned long const &line
) {
78 if (expect1
== get
|| expect2
== get
|| expect3
== get
)
80 OutputAssertEqualOr3(expect1
, expect2
, expect3
, "==", get
, line
);
84 // simple helper to quickly output a vectors
85 template < typename X
>
86 void dumpVector(X vec
) {
87 for (typename
X::const_iterator v
= vec
.begin();
89 std::cout
<< *v
<< std::endl
;