------------------------------------------------------------------------------
| 8 | |
| 9 | //------------------------------------------------------------------------------ |
| 10 | int TestVectorOperators(int, char*[]) |
| 11 | { |
| 12 | vtkVector3i vec3i(0, 6, 9); |
| 13 | |
| 14 | // Store up any errors, return non-zero if something fails. |
| 15 | int retVal = 0; |
| 16 | |
| 17 | // Test out vtkVector3i and ensure the ostream operator is working. |
| 18 | std::cout << "vec3i -> " << vec3i << std::endl; |
| 19 | |
| 20 | // Test the equality operator. |
| 21 | vtkVector3i vec3ia(0, 6, 9); |
| 22 | vtkVector3i vec3ib(0, 6, 8); |
| 23 | vtkVector<int, 3> vector3f(vec3i.GetData()); |
| 24 | vector3f[0] = vector3f[2] = 6; |
| 25 | if (!(vec3i == vec3ia)) |
| 26 | { |
| 27 | std::cerr << "vec3i == vec3ia failed (are equal, but reported not)." << std::endl |
| 28 | << "vec3i = " << vec3i << ", vec3ia = " << vec3ia << std::endl; |
| 29 | ++retVal; |
| 30 | } |
| 31 | if (vec3ia == vec3ib) |
| 32 | { |
| 33 | std::cerr << "vec3ia == vec3ib failed (are not equal, but reported equal)." << std::endl |
| 34 | << "vec3i = " << vec3i << ", vec3ia = " << vec3ia << std::endl; |
| 35 | ++retVal; |
| 36 | } |
| 37 | if (vector3f == vec3i) |
| 38 | { |
| 39 | std::cerr << "vector3f == vec3ib failed (are not equal, but reported equal)." << std::endl |
| 40 | << "vec3i = " << vector3f << ", vec3ia = " << vec3ia << std::endl; |
| 41 | ++retVal; |
| 42 | } |
| 43 | |
| 44 | // Test the inequality operator. |
| 45 | if (vec3i != vec3ia) |
| 46 | { |
| 47 | std::cerr << "vec3i != vec3ia (reported as not equal, but are equal)." << std::endl |
| 48 | << "vec3i = " << vec3i << ", vec3ia = " << vec3ia << std::endl; |
| 49 | ++retVal; |
| 50 | } |
| 51 | |
| 52 | // Does the + operator work as expected??? |
| 53 | vtkVector3i result = vec3ia + vec3ib; |
| 54 | if (result != vtkVector3i(0, 12, 17)) |
| 55 | { |
| 56 | std::cerr << "Vector addition operator failed." << std::endl; |
| 57 | std::cerr << vec3ia << " + " << vec3ib << " = " << result << std::endl; |
| 58 | ++retVal; |
| 59 | } |
| 60 | |
| 61 | // Test the - operator. |
| 62 | result = vec3ia - vec3ib; |
| 63 | if (result != vtkVector3i(0, 0, 1)) |
| 64 | { |
| 65 | std::cerr << "Vector subtraction operator failed." << std::endl; |
| 66 | std::cerr << vec3ia << " - " << vec3ib << " = " << result << std::endl; |
| 67 | ++retVal; |
nothing calls this directly
no test coverage detected