COIN-OR::LEMON - Graph Library

source: lemon-0.x/src/test/xy_test.cc @ 708:429dfcbbf47d

Last change on this file since 708:429dfcbbf47d was 542:69bde1d90c04, checked in by Akos Ladanyi, 19 years ago

Set up automake environment.

File size: 1.5 KB
RevLine 
[542]1#include <hugo/xy.h>
[201]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
[518]22  cout << "Testing classes xy and boundingbox." << endl;
[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);
[517]70        check(!doboz2.empty(), "empty? Should not be. Constructed from 1 point.");
[516]71
72        doboz2 += doboz1;
[517]73        check(doboz2.inside(seged),"Inside? Should be. Incremented a box with an other.");
[516]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.