src/test/xy_test.cc
author deba
Wed, 08 Sep 2004 12:06:45 +0000
changeset 822 88226d9fe821
parent 727 aada518af30f
child 906 17f31d280385
permissions -rw-r--r--
The MapFactories have been removed from the code because
if we use macros then they increases only the complexity.

The pair iterators of the maps are separeted from the maps.

Some macros and comments has been changed.
     1 #include <hugo/xy.h>
     2 #include <iostream>
     3 #include "test_tools.h"
     4 
     5 using namespace std;
     6 using namespace hugo;
     7 int 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 }