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 12using namespace std; 13 14using namespace Magick; 15 16int 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