COIN-OR::LEMON - Graph Library

source: lemon-0.x/src/test/xy_test.cc @ 774:4297098d9677

Last change on this file since 774:4297098d9677 was 774:4297098d9677, checked in by Alpar Juttner, 16 years ago

Merge back the whole branches/hugo++ to trunk.

File size: 1.3 KB
Line 
1#include <hugo/xy.h>
2#include <iostream>
3#include "test_tools.h"
4
5using namespace std;
6using namespace hugo;
7int main()
8{
9
10  cout << "Testing classes `xy' and `boundingbox'." << endl;
11
12        typedef xy<int> XY;
13       
14        XY seged;
15        XY a(1,2);
16        XY b(3,4);
17
18        seged = a+b;
19        check(seged.x==4 && seged.y==6, "Wrong vector addition");
20
21        seged = a-b;
22        check(seged.x==-2 && seged.y==-2, "a-b");
23
24        check(a.normSquare()==5,"Wrong norm calculation");
25        check(a*b==11, "a*b");
26
27        int l=2;
28        seged = a*l;
29        check(seged.x==2 && seged.y==4, "a*l");
30
31        seged = b/l;
32        check(seged.x==1 && seged.y==2, "b/l");
33
34        typedef BoundingBox<int> BB;
35        BB doboz1;
36        check(doboz1.empty(), "It should be empty.");
37       
38        doboz1 += a;
39        check(!doboz1.empty(), "It should not be empty.");
40        doboz1 += b;
41
42        check(doboz1.bottomLeft().x==1 &&
43              doboz1.bottomLeft().y==2 &&
44              doboz1.topRight().x==3 &&
45              doboz1.topRight().y==4, 
46              "added points to box");
47
48        seged.x=2;seged.y=3;
49        check(doboz1.inside(seged),"It should be inside.");
50
51        seged.x=1;seged.y=3;
52        check(doboz1.inside(seged),"It should be inside.");
53
54        seged.x=0;seged.y=3;
55        check(!doboz1.inside(seged),"It should not be inside.");
56
57        BB doboz2(seged);
58        check(!doboz2.empty(),
59              "It should not be empty. Constructed from 1 point.");
60
61        doboz2 += doboz1;
62        check(doboz2.inside(seged),
63              "It should be inside. Incremented a box with an other.");
64}
Note: See TracBrowser for help on using the repository browser.