Home | History | Annotate | Download | only in tests
      1 // This may look like C code, but it is really -*- C++ -*-
      2 //
      3 // Copyright Dirk Lemstra 2015
      4 //
      5 // Test Magick::Geometry class
      6 //
      7 
      8 #include <Magick++.h>
      9 #include <string>
     10 #include <iostream>
     11 
     12 using namespace std;
     13 
     14 using namespace Magick;
     15 
     16 int main(int, char **argv)
     17 {
     18 
     19   // Initialize ImageMagick install location for Windows
     20   InitializeMagick(*argv);
     21 
     22   int failures=0;
     23 
     24   try
     25   {
     26 
     27     //
     28     // Verify conversion from and to string
     29     //
     30 
     31     string input="100x50+10-5!";
     32     Geometry geometry(input);
     33 
     34     if ((geometry.width() != 100) || (geometry.height() != 50) ||
     35         (geometry.xOff() != 10) || (geometry.yOff() != -5) ||
     36         (geometry.aspect() == false))
     37       {
     38         ++failures;
     39         cout << "Line: " << __LINE__
     40         << " Conversion from " << input << " failed"
     41         << endl;
     42       }
     43 
     44     string output=geometry;
     45     if (output != input)
     46       {
     47         ++failures;
     48         cout << "Line: " << __LINE__
     49         << " Output " << output << " is not the same as " << input
     50         << endl;
     51       }
     52   }
     53   catch( Exception &error_ )
     54     {
     55       cout << "Caught exception: " << error_.what() << endl;
     56       return 1;
     57     }
     58   catch( exception &error_ )
     59     {
     60       cout << "Caught exception: " << error_.what() << endl;
     61       return 1;
     62     }
     63 
     64   if ( failures )
     65     {
     66       cout << failures << " failures" << endl;
     67       return 1;
     68     }
     69 
     70   return 0;
     71 }
     72