COIN-OR::LEMON - Graph Library

source: lemon-0.x/src/test/xy_test.cc @ 516:c37949721c61

Last change on this file since 516:c37949721c61 was 516:c37949721c61, checked in by athos, 20 years ago

Test file xy_test.cc finished.

File size: 1.4 KB
RevLine 
[201]1#include <xy.h>
2#include <iostream>
3using namespace std;
[207]4using namespace hugo;
[513]5
6bool passed = true;
7
[516]8void check(bool rc, char *msg="") {
[513]9  passed = passed && rc;
10  if(!rc) {
[516]11    std::cerr << "Test failed! ("<< msg << ")" << std::endl; \
12 
13
[513]14  }
15}
16
17
18
[201]19int main()
20{
[207]21
22
[201]23
[513]24        typedef xy<int> XY;
25       
26        XY seged;
27        XY a(1,2);
28        XY b(3,4);
[201]29
[513]30        seged = a+b;
31        check(seged.x==4 && seged.y==6);
[201]32
[513]33        seged = a-b;
[516]34        check(seged.x==-2 && seged.y==-2, "a-b");
[513]35
36        check(a.normSquare()==5);
[516]37        check(a*b==11, "a*b");
[513]38
39        int l=2;
40        seged = a*l;
[516]41        check(seged.x==2 && seged.y==4, "a*l");
[513]42
43        seged = b/l;
[516]44        check(seged.x==1 && seged.y==2, "b/l");
[513]45
46        typedef BoundingBox<int> BB;
47        BB doboz1;
[516]48        check(doboz1.empty(), "empty? Should be.");
49       
[513]50        doboz1 += a;
[516]51        check(!doboz1.empty(), "empty? Should not be.");
[513]52        doboz1 += b;
53
[516]54        check(doboz1.bottomLeft().x==1 &&
55              doboz1.bottomLeft().y==2 &&
56              doboz1.topRight().x==3 &&
57              doboz1.topRight().y==4, 
58              "added points to box");
59
60        seged.x=2;seged.y=3;
61        check(doboz1.inside(seged),"Inside? Should be.");
62
63        seged.x=1;seged.y=3;
64        check(doboz1.inside(seged),"Inside? Should be.");
65
66        seged.x=0;seged.y=3;
67        check(!doboz1.inside(seged),"Inside? Should not be.");
68
69        BB doboz2(seged);
70        check(!doboz2.empty(), "empty? Should not be.");
71
72        doboz2 += doboz1;
73        check(doboz2.inside(seged),"Inside? Should be.");
74
[513]75        cout << (passed ? "All tests passed." : "Some of the tests failed!!!")
76             << endl;
77
78        return passed ? 0 : 1;
79
[201]80}
Note: See TracBrowser for help on using the repository browser.