COIN-OR::LEMON - Graph Library

source: lemon-0.x/src/test/xy_test.cc @ 740:7237eaaf5d84

Last change on this file since 740:7237eaaf5d84 was 727:aada518af30f, checked in by Alpar Juttner, 20 years ago
  • Better Makefile.am. (I hope.)
  • Some more tests
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(), "empty? Should be.");
37       
38        doboz1 += a;
39        check(!doboz1.empty(), "empty? Should not be.");
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),"Inside? It should be.");
50
51        seged.x=1;seged.y=3;
52        check(doboz1.inside(seged),"Inside? It should be.");
53
54        seged.x=0;seged.y=3;
55        check(!doboz1.inside(seged),"Inside? It should not be.");
56
57        BB doboz2(seged);
58        check(!doboz2.empty(),
59              "empty? Should not be. Constructed from 1 point.");
60
61        doboz2 += doboz1;
62        check(doboz2.inside(seged),
63              "Not inside? It should be. Incremented a box with an other.");
64}
Note: See TracBrowser for help on using the repository browser.