diff --git a/modules/geom/pymod/export_mat2.cc b/modules/geom/pymod/export_mat2.cc index 0338f1ddd482fea1c6c5bf0078b262234119374a..446aca95ce24f013b8fa3c3c58953f0d28383973 100644 --- a/modules/geom/pymod/export_mat2.cc +++ b/modules/geom/pymod/export_mat2.cc @@ -23,8 +23,17 @@ using namespace boost::python; -const Real Mat2_getitem(const geom::Mat2& m, tuple i) {return m(extract<int> (i[0]),extract<int> (i[1]));} -void Mat2_setitem(geom::Mat2& m,const tuple i,const Real val) {m(extract<int> (i[0]),extract<int> (i[1]))=val;} +const Real Mat2_getitem(const geom::Mat2& m, tuple i) { + int a = extract<int> (i[0]); + int b = extract<int> (i[1]); + return m.At(a, b); +} + +void Mat2_setitem(geom::Mat2& m,const tuple i,const Real val) { + int a = extract<int> (i[0]); + int b = extract<int> (i[1]); + m.At(a, b) = val; +} String mat2_repr(const geom::Mat2& m) { std::stringstream ss; diff --git a/modules/geom/pymod/export_mat3.cc b/modules/geom/pymod/export_mat3.cc index 1e543b7d912cb9b20f96f54ba8de2bb902dd5249..c12f6402c86e1b1a8426007bfa71fec4044bba74 100644 --- a/modules/geom/pymod/export_mat3.cc +++ b/modules/geom/pymod/export_mat3.cc @@ -25,8 +25,16 @@ using namespace geom; -const Real Mat3_getitem(const geom::Mat3& m, tuple i) {return m(extract<int> (i[0]),extract<int> (i[1]));} -void Mat3_setitem(geom::Mat3& m,const tuple i,const Real val) {m(extract<int> (i[0]),extract<int> (i[1]))=val;} +const Real Mat3_getitem(const geom::Mat3& m, tuple i) { + int a = extract<int> (i[0]); + int b = extract<int> (i[1]); + return m.At(a, b); +} +void Mat3_setitem(geom::Mat3& m,const tuple i,const Real val) { + int a = extract<int> (i[0]); + int b = extract<int> (i[1]); + m.At(a, b) = val; +} Mat2 Mat3_getslice(const geom::Mat3& m, slice s) { tuple start=extract<tuple> (s.start()); diff --git a/modules/geom/pymod/export_mat4.cc b/modules/geom/pymod/export_mat4.cc index 1745e35b7e64a277eb102497736b343b4089f5d8..ec003a0e36105c29014fc8c93c1c80845cf5b805 100644 --- a/modules/geom/pymod/export_mat4.cc +++ b/modules/geom/pymod/export_mat4.cc @@ -26,8 +26,17 @@ using namespace geom; -const Real Mat4_getitem(const geom::Mat4& m, tuple i) {return m(extract<int> (i[0]),extract<int> (i[1]));} -void Mat4_setitem(geom::Mat4& m,const tuple i,const Real val) {m(extract<int> (i[0]),extract<int> (i[1]))=val;} +const Real Mat4_getitem(const geom::Mat4& m, tuple i) { + int a = extract<int> (i[0]); + int b = extract<int> (i[1]); + return m.At(a, b); +} + +void Mat4_setitem(geom::Mat4& m,const tuple i,const Real val) { + int a = extract<int> (i[0]); + int b = extract<int> (i[1]); + m.At(a, b) = val; +} Mat3 Mat4_getslice(const geom::Mat4& m, slice s) { tuple start=extract<tuple> (s.start()); @@ -38,7 +47,9 @@ Mat3 Mat4_getslice(const geom::Mat4& m, slice s) { int end1=extract<int> (end[1]); if(end0-start0==1 && end1-start1==1) throw GeomException("Invalid slice: Only Mat3 slices allowed"); if(end0-start0!=2 || end1-start1!=2) throw GeomException("Invalid slice"); - return Mat3(m(start0,start1),m(start0,start1+1),m(start0,start1+2),m(start0+1,start1),m(start0+1,start1+1),m(start0+1,start1+2),m(start0+2,start1),m(start0+2,start1+1),m(start0+2,start1+2)); + return Mat3(m.At(start0+0,start1), m.At(start0+0,start1+1), m.At(start0+0,start1+2), + m.At(start0+1,start1), m.At(start0+1,start1+1), m.At(start0+1,start1+2), + m.At(start0+2,start1), m.At(start0+2,start1+1), m.At(start0+2,start1+2)); } void Mat4_setslice2(geom::Mat4& m,const slice s,const Mat2& m2) { @@ -49,10 +60,10 @@ void Mat4_setslice2(geom::Mat4& m,const slice s,const Mat2& m2) int end0=extract<int> (end[0]); int end1=extract<int> (end[1]); if(end0-start0!=1 || end1-start1!=1) throw GeomException("Invalid slice"); - m(start0,start1)=m2(0,0); - m(start0,start1+1)=m2(0,1); - m(start0+1,start1)=m2(1,0); - m(start0+1,start1+1)=m2(1,1); + m.At(start0,start1)=m2(0,0); + m.At(start0,start1+1)=m2(0,1); + m.At(start0+1,start1)=m2(1,0); + m.At(start0+1,start1+1)=m2(1,1); } void Mat4_setslice3(geom::Mat4& m,const slice s,const Mat3& m2) { @@ -63,15 +74,15 @@ void Mat4_setslice3(geom::Mat4& m,const slice s,const Mat3& m2) int end0=extract<int> (end[0]); int end1=extract<int> (end[1]); if(end0-start0!=2 || end1-start1!=2) throw GeomException("Invalid slice"); - m(start0,start1)=m2(0,0); - m(start0,start1+1)=m2(0,1); - m(start0,start1+2)=m2(0,2); - m(start0+1,start1)=m2(1,0); - m(start0+1,start1+1)=m2(1,1); - m(start0+1,start1+2)=m2(1,2); - m(start0+2,start1)=m2(2,0); - m(start0+2,start1+1)=m2(2,1); - m(start0+2,start1+2)=m2(2,2); + m.At(start0,start1)=m2(0,0); + m.At(start0,start1+1)=m2(0,1); + m.At(start0,start1+2)=m2(0,2); + m.At(start0+1,start1)=m2(1,0); + m.At(start0+1,start1+1)=m2(1,1); + m.At(start0+1,start1+2)=m2(1,2); + m.At(start0+2,start1)=m2(2,0); + m.At(start0+2,start1+1)=m2(2,1); + m.At(start0+2,start1+2)=m2(2,2); } String mat4_repr(const geom::Mat4& m) { diff --git a/modules/geom/pymod/export_vec2.cc b/modules/geom/pymod/export_vec2.cc index 161bda9f6d93b2515d59eb941c785adac4df0d71..f760d7e7032f74cd89d2690f76d24e1096b8c6ec 100644 --- a/modules/geom/pymod/export_vec2.cc +++ b/modules/geom/pymod/export_vec2.cc @@ -24,8 +24,12 @@ using namespace boost::python; -const Real Vec2_getitem(const geom::Vec2& v, int i) {return v[i];} -void Vec2_setitem(geom::Vec2& v,const int i,const Real val) {v[i]=val;} +const Real Vec2_getitem(const geom::Vec2& v, int i) { + return v.At(i); +} +void Vec2_setitem(geom::Vec2& v,const int i,const Real val) { + v.At(i)=val; +} String vec2_repr(const geom::Vec2& v) diff --git a/modules/geom/pymod/export_vec3.cc b/modules/geom/pymod/export_vec3.cc index aab91add33e3a2fa09378c5e1734789199eb2bfb..e0c4ac6c8e4b7bf4184bf79ddfa445188a643f59 100644 --- a/modules/geom/pymod/export_vec3.cc +++ b/modules/geom/pymod/export_vec3.cc @@ -24,8 +24,12 @@ using namespace boost::python; -const Real Vec3_getitem(const geom::Vec3& v, int i) {return v[i];} -void Vec3_setitem(geom::Vec3& v,const int i,const Real val) {v[i]=val;} +const Real Vec3_getitem(const geom::Vec3& v, int i) { + return v.At(i); +} +void Vec3_setitem(geom::Vec3& v,const int i,const Real val) { + v.At(i)=val; +} geom::Vec3 NormalizeV3(const geom::Vec3& v) { return geom::Normalize(v); diff --git a/modules/geom/pymod/export_vec4.cc b/modules/geom/pymod/export_vec4.cc index 986fbfa73a8b61b04eb077f75d25026fa0e3dccc..810c9de1c7cde2d5a19e6e1c3d2931ade3bb893b 100644 --- a/modules/geom/pymod/export_vec4.cc +++ b/modules/geom/pymod/export_vec4.cc @@ -23,8 +23,13 @@ using namespace boost::python; -const Real Vec4_getitem(const geom::Vec4& v, int i) {return v[i];} -void Vec4_setitem(geom::Vec4& v,const int i,const Real val) {v[i]=val;} +const Real Vec4_getitem(const geom::Vec4& v, int i) { + return v.At(i); +} + +void Vec4_setitem(geom::Vec4& v,const int i,const Real val) { + v.At(i)=val; +} String vec4_repr(const geom::Vec4& v) { diff --git a/modules/geom/src/mat2.hh b/modules/geom/src/mat2.hh index cb5910df4dac9a292e575cf3f88bf3e84985b40e..b7743dfc03e18656648513bf48be068d901f4038 100644 --- a/modules/geom/src/mat2.hh +++ b/modules/geom/src/mat2.hh @@ -64,20 +64,35 @@ public: //! comparable bool operator==(const Mat2& rhs) const; + + //! const element access + const Real& At(std::size_t r, std::size_t c) const + { + if (r>1 || c>1) { + throw std::out_of_range("indices must be smaller than 2"); + } + return data_[r][c]; + } + //! element access - Real& operator()(std::size_t r, std::size_t c) + Real& At(std::size_t r, std::size_t c) { - if (r>1 || c >1) { - throw std::out_of_range("row and column must be in the range [0-1]"); + if (r>1 || c>1) { + throw std::out_of_range("indices must be smaller than 2"); } return data_[r][c]; } + + //! element access + Real& operator()(std::size_t r, std::size_t c) + { + assert(r<2 && c<2); + return data_[r][c]; + } //! const element access const Real& operator()(std::size_t r, std::size_t c) const { - if (r>1 || c >1) { - throw std::out_of_range("row and column must be in the range [0-1]"); - } + assert(r<2 && c<2); return data_[r][c]; } diff --git a/modules/geom/src/mat3.hh b/modules/geom/src/mat3.hh index 3cef352edb5fdce4b0b802c66d35352939d804c3..35cae2f03f078e7d7c7fa9e97c5bf06ba09c0344 100644 --- a/modules/geom/src/mat3.hh +++ b/modules/geom/src/mat3.hh @@ -82,19 +82,31 @@ public: this->set(x, 0.0, 0.0, 0.0, y, 0.0, 0.0, 0.0, z); } //! element access - Real& operator()(std::size_t r, std::size_t c) + Real& At(std::size_t r, std::size_t c) + { + if (r>2 || c>2) { + throw std::out_of_range("indices must be smaller than 3"); + } + return data_[r][c]; + } + //! element access + const Real& At(std::size_t r, std::size_t c) const { - if (r>2 || c >2) { - throw std::out_of_range("row and column must be in the range [0-2]"); + if (r>2 || c>2) { + throw std::out_of_range("indices must be smaller than 3"); } return data_[r][c]; } + //! element access + Real& operator()(std::size_t r, std::size_t c) + { + assert(r<3 && c<3); + return data_[r][c]; + } //! const element access const Real& operator()(std::size_t r, std::size_t c) const { - if (r>2 || c >2) { - throw std::out_of_range("row and column must be in the range [0-2]"); - } + assert(r<3 && c<3); return data_[r][c]; } diff --git a/modules/geom/src/mat4.cc b/modules/geom/src/mat4.cc index fbbc1c2a05d811e78793ee8fe1b933aee729bbe8..c43780e0a44f1b35447b82a6af60422f25ffc8cc 100644 --- a/modules/geom/src/mat4.cc +++ b/modules/geom/src/mat4.cc @@ -121,17 +121,6 @@ bool Mat4::operator==(const Mat4& rhs) const data_[3][3] == rhs.data_[3][3]; } -Real& Mat4::operator()(std::size_t r, std::size_t c) -{ - if(r>3 || c>3) throw std::out_of_range("row and column must be in range [0-3]"); - return data_[r][c]; -} - -const Real& Mat4::operator()(std::size_t r, std::size_t c) const -{ - if(r>3 || c>3) throw std::out_of_range("row and column must be in range [0-3]"); - return data_[r][c]; -} Mat4& Mat4::operator+=(const Mat4& rhs) diff --git a/modules/geom/src/mat4.hh b/modules/geom/src/mat4.hh index 0c504a5710d95a411e90555d3d01d9d1c029d176..998bbc485fe885d0f3734ef543dc4dec724d0a2c 100644 --- a/modules/geom/src/mat4.hh +++ b/modules/geom/src/mat4.hh @@ -19,6 +19,7 @@ #ifndef GEOM_MAT4_HH #define GEOM_MAT4_HH +#include <cassert> #include <cstddef> // for size_t #include <ostream> @@ -77,10 +78,33 @@ public: //! comparable bool operator==(const Mat4& rhs) const; - //! element access - Real& operator()(std::size_t r, std::size_t c); - //! const element access - const Real& operator()(std::size_t r, std::size_t c) const; + const Real& At(std::size_t r, std::size_t c) const + { + if (r>3 || c>3) { + throw std::out_of_range("indices must be smaller than 4"); + } + return data_[r][c]; + } + + Real& At(std::size_t r, std::size_t c) + { + if (r>3 || c>3) { + throw std::out_of_range("indices must be smaller than 4"); + } + return data_[r][c]; + } + + Real& operator()(std::size_t r, std::size_t c) + { + assert(r<4 && c < 4); + return data_[r][c]; + } + + const Real& operator()(std::size_t r, std::size_t c) const + { + assert(r<4 && c < 4); + return data_[r][c]; + } //! addable op Mat4& operator+=(const Mat4& rhs); diff --git a/modules/geom/src/vec2.hh b/modules/geom/src/vec2.hh index 6978381ff33734f35ff5f8a2d2c5ab4ace8bd72b..b0191ac7f4be32ef99592e46f91f02288bcffae3 100644 --- a/modules/geom/src/vec2.hh +++ b/modules/geom/src/vec2.hh @@ -20,6 +20,7 @@ #define GEOM_VEC2_H #include <stdexcept> +#include <cassert> #include <cstddef> // for size_t #include <ostream> #include <vector> @@ -83,17 +84,27 @@ public: //! element access Real& operator[](std::size_t indx) { - if (indx>1) { - throw std::out_of_range("Index must be in the range [0-1]"); - } + assert(indx<2); return (&x)[indx]; } //! const element access const Real& operator[](std::size_t indx) const { + assert(indx<2); + return (&x)[indx]; + } + + Real& At(size_t indx) { + if (indx>1) { + throw std::out_of_range("index must be smaller than 2"); + } + return (&x)[indx]; + } + + const Real& At(size_t indx) const { if (indx>1) { - throw std::out_of_range("Index must be in the range [0-1]"); + throw std::out_of_range("index must be smaller than 2"); } return (&x)[indx]; } diff --git a/modules/geom/src/vec3.hh b/modules/geom/src/vec3.hh index c1cde046c0174c7571701ca6ee82e9645ccc41c8..b585d4a76e5e8ba29e618794338e888deca3584f 100644 --- a/modules/geom/src/vec3.hh +++ b/modules/geom/src/vec3.hh @@ -20,6 +20,7 @@ #define GEOM_VEC3_H #include <stdexcept> +#include <cassert> #include <cstddef> // for size_t #include <ostream> #include <vector> @@ -90,17 +91,27 @@ public: //! element access Real& operator[](std::size_t indx) { - if (indx>2) { - throw std::out_of_range("Index must be in the range [0-2]"); - } + assert(indx<3); return (&x)[indx]; } //! const element access const Real& operator[](std::size_t indx) const { + assert(indx<3); + return (&x)[indx]; + } + + Real& At(size_t indx) { + if (indx>2) { + throw std::out_of_range("index must be smaller than 3"); + } + return (&x)[indx]; + } + + const Real& At(size_t indx) const { if (indx>2) { - throw std::out_of_range("Index must be in the range [0-2]"); + throw std::out_of_range("index must be smaller than 3"); } return (&x)[indx]; } diff --git a/modules/geom/src/vec4.hh b/modules/geom/src/vec4.hh index 20b5fd2a748e6d5e9677eea7c7b0d65da1af4aed..5947a1c06a1d18c898c0ff08a4ff84e364d5e451 100644 --- a/modules/geom/src/vec4.hh +++ b/modules/geom/src/vec4.hh @@ -20,6 +20,7 @@ #define GEOM_VEC4_H #include <stdexcept> +#include <cassert> #include <cstddef> // for size_t #include <ostream> @@ -83,20 +84,31 @@ public: //! element access Real& operator[](std::size_t indx) { - if (indx>3) { - throw std::out_of_range("Index must be in the range [0-3]"); - } + assert(indx<4); return (&x)[indx]; } //! const element access const Real& operator[](std::size_t indx) const { + assert(indx<4); + return (&x)[indx]; + } + + Real& At(size_t indx) { if (indx>3) { - throw std::out_of_range("Index must be in the range [0-3]"); + throw std::out_of_range("index must be smaller than 4"); } return (&x)[indx]; } + + const Real& At(size_t indx) const { + if (indx>3) { + throw std::out_of_range("index must be smaller than 4"); + } + return (&x)[indx]; + } + //! element access Real GetX() const { return x; } Real GetY() const { return y; } diff --git a/modules/geom/tests/test_geom.py b/modules/geom/tests/test_geom.py index f563add91955b88fcc383b714df2f472a1a9b64e..60a989ac42e19ad9e237f6560947ffdc5389d63c 100644 --- a/modules/geom/tests/test_geom.py +++ b/modules/geom/tests/test_geom.py @@ -78,7 +78,104 @@ class TestGeom(unittest.TestCase): 5,6,7,8, 9,10,11,12, 13,14,15,16]) - + + def test_boundary_checks_vec2(self): + v = geom.Vec2() + + v[0] = v[0] + v[1] = v[1] + self.assertRaises(IndexError, v.__setitem__, (-1), 1) + self.assertRaises(IndexError, v.__setitem__, ( 2), 1) + self.assertRaises(IndexError, v.__getitem__, (-1)) + self.assertRaises(IndexError, v.__getitem__, ( 2)) + + def test_boundary_checks_vec3(self): + v = geom.Vec3() + + v[0] = v[0] + v[1] = v[1] + v[2] = v[2] + self.assertRaises(IndexError, v.__setitem__, (-1), 1) + self.assertRaises(IndexError, v.__setitem__, ( 3), 1) + self.assertRaises(IndexError, v.__getitem__, (-1)) + self.assertRaises(IndexError, v.__getitem__, ( 3)) + + def test_boundary_checks_vec4(self): + v = geom.Vec4() + v[0] = v[0] + v[1] = v[1] + v[2] = v[2] + v[3] = v[3] + self.assertRaises(IndexError, v.__setitem__, (-1), 1) + self.assertRaises(IndexError, v.__setitem__, ( 4), 1) + self.assertRaises(IndexError, v.__getitem__, (-1)) + self.assertRaises(IndexError, v.__getitem__, ( 4)) + + def test_boundary_checks_mat2(self): + m = geom.Mat2() + m[0,0] = m[0,0] + m[0,1] = m[0,1] + m[1,0] = m[1,0] + m[1,1] = m[1,1] + self.assertRaises(IndexError, m.__setitem__, (-1,0), 1) + self.assertRaises(IndexError, m.__setitem__, ( 2,0), 1) + self.assertRaises(IndexError, m.__setitem__, (0,-1), 1) + self.assertRaises(IndexError, m.__setitem__, (-1,2), 1) + + self.assertRaises(IndexError, m.__getitem__, (-1,0)) + self.assertRaises(IndexError, m.__getitem__, ( 2,0)) + self.assertRaises(IndexError, m.__getitem__, (0,-1)) + self.assertRaises(IndexError, m.__getitem__, (0,2)) + + def test_boundary_checks_mat3(self): + m = geom.Mat3() + m[0,0] = m[0,0] + m[0,1] = m[0,1] + m[0,2] = m[0,2] + m[1,0] = m[1,0] + m[1,1] = m[1,1] + m[1,2] = m[1,2] + m[2,0] = m[2,0] + m[2,1] = m[2,1] + m[2,2] = m[2,2] + self.assertRaises(IndexError, m.__setitem__, (-1,0), 1) + self.assertRaises(IndexError, m.__setitem__, ( 3,0), 1) + self.assertRaises(IndexError, m.__setitem__, (0,-1), 1) + self.assertRaises(IndexError, m.__setitem__, (-1,3), 1) + + self.assertRaises(IndexError, m.__getitem__, (-1,0)) + self.assertRaises(IndexError, m.__getitem__, ( 3,0)) + self.assertRaises(IndexError, m.__getitem__, (0,-1)) + self.assertRaises(IndexError, m.__getitem__, (0,3)) + + def test_boundary_checks_mat4(self): + m = geom.Mat4() + m[0,0] = m[0,0] + m[0,1] = m[0,1] + m[0,2] = m[0,2] + m[0,3] = m[0,3] + m[1,0] = m[1,0] + m[1,1] = m[1,1] + m[1,2] = m[1,2] + m[1,3] = m[1,3] + m[2,0] = m[2,0] + m[2,1] = m[2,1] + m[2,2] = m[2,2] + m[2,3] = m[2,3] + m[3,0] = m[3,0] + m[3,1] = m[3,1] + m[3,2] = m[3,2] + m[3,3] = m[3,3] + self.assertRaises(IndexError, m.__setitem__, (-1,0), 1) + self.assertRaises(IndexError, m.__setitem__, ( 4,0), 1) + self.assertRaises(IndexError, m.__setitem__, (0,-1), 1) + self.assertRaises(IndexError, m.__setitem__, (-1,4), 1) + + self.assertRaises(IndexError, m.__getitem__, (-1,0)) + self.assertRaises(IndexError, m.__getitem__, ( 4,0)) + self.assertRaises(IndexError, m.__getitem__, (0,-1)) + self.assertRaises(IndexError, m.__getitem__, (0,4)) + if __name__== '__main__': from ost import testutils testutils.RunTests() diff --git a/modules/geom/tests/test_mat2.cc b/modules/geom/tests/test_mat2.cc index c7da1125e3edef8c78e4f1304f535199be6618cd..613b01ee0049fd800fabdfb10358a8f78273a1e9 100644 --- a/modules/geom/tests/test_mat2.cc +++ b/modules/geom/tests/test_mat2.cc @@ -53,13 +53,4 @@ BOOST_AUTO_TEST_CASE(init_mat2) BOOST_CHECK(match(m1,m4(0,0),m4(0,1),m4(1,0),m4(1,1))); } - - -BOOST_AUTO_TEST_CASE(access_mat2) -{ - Mat2 m; - BOOST_CHECK_THROW( m(2,2)=1.0, std::out_of_range); - BOOST_CHECK_THROW( m(2,2), std::out_of_range); -} - BOOST_AUTO_TEST_SUITE_END(); diff --git a/modules/geom/tests/test_mat3.cc b/modules/geom/tests/test_mat3.cc index 8a8b40e53c7749832c8143379950a6ee66cc9670..381271a43a9b6d2d1a1968da7be6f1e7604dab99 100644 --- a/modules/geom/tests/test_mat3.cc +++ b/modules/geom/tests/test_mat3.cc @@ -55,18 +55,6 @@ BOOST_AUTO_TEST_CASE(init_mat3) BOOST_CHECK(match(m5,2.0,3.0,0.0,4.0,5.0,0.0,0.0,0.0,1.0)); } -BOOST_AUTO_TEST_CASE(access_mat3) -{ - Mat3 m; - BOOST_CHECK_THROW( m(3,3)=1.0, std::out_of_range); - BOOST_CHECK_THROW( m(3,0)=1.0, std::out_of_range); - BOOST_CHECK_THROW( m(0,3)=1.0, std::out_of_range); - BOOST_CHECK_THROW( m(3,3), std::out_of_range); - BOOST_CHECK_THROW( m(3,0), std::out_of_range); - BOOST_CHECK_THROW( m(0,3), std::out_of_range); -} - - BOOST_AUTO_TEST_CASE(mult_mat3) { Mat3 m1=rnd_mat3(); diff --git a/modules/geom/tests/test_mat4.cc b/modules/geom/tests/test_mat4.cc index 36ea668c19a2ffa7483a98bc1a2c697afc57bc8e..2b3160dbf3cece9b9b58e685a0df3acf07dddd9d 100644 --- a/modules/geom/tests/test_mat4.cc +++ b/modules/geom/tests/test_mat4.cc @@ -91,15 +91,4 @@ BOOST_AUTO_TEST_CASE(init_mat4) } -BOOST_AUTO_TEST_CASE(access_mat4) -{ - Mat4 m; - BOOST_CHECK_THROW( m(4,4)=1.0, std::out_of_range); - BOOST_CHECK_THROW( m(4,0)=1.0, std::out_of_range); - BOOST_CHECK_THROW( m(0,4)=1.0, std::out_of_range); - BOOST_CHECK_THROW( m(4,4), std::out_of_range); - BOOST_CHECK_THROW( m(4,0), std::out_of_range); - BOOST_CHECK_THROW( m(0,4), std::out_of_range); -} - BOOST_AUTO_TEST_SUITE_END(); diff --git a/modules/geom/tests/test_vec2.cc b/modules/geom/tests/test_vec2.cc index 87cc3aba086dbd08cd72409859175713cbf81616..db5d681737dcfe0067b6cbc4e47d5329d645922a 100644 --- a/modules/geom/tests/test_vec2.cc +++ b/modules/geom/tests/test_vec2.cc @@ -61,16 +61,6 @@ BOOST_AUTO_TEST_CASE(init_vec2) BOOST_CHECK_THROW( Vec2(Vec4(1.0,1.0,1.0,0.0)), DivideByZeroException); } -BOOST_AUTO_TEST_CASE(access_vec2) -{ - Vec2 v; - v[0]=1.1; - v[1]=2.3; - BOOST_CHECK(match(v,1.1,2.3)); - BOOST_CHECK_NO_THROW( v[0]=1.0); - BOOST_CHECK_THROW( v[2]=1.0, std::out_of_range); -} - BOOST_AUTO_TEST_CASE(operators_vec2) { Vec2 v1(1.2,2.3); diff --git a/modules/geom/tests/test_vec3.cc b/modules/geom/tests/test_vec3.cc index 3964daf007ade2efcb4db4b0d97547761135fbd5..2d166b98825d0d46dc279e0b8273c250e541b80a 100644 --- a/modules/geom/tests/test_vec3.cc +++ b/modules/geom/tests/test_vec3.cc @@ -62,23 +62,6 @@ BOOST_AUTO_TEST_CASE(init_vec3) BOOST_CHECK(match(Vec3(Vec4(2.0,1.0,3.0,0.0)),2.0,1.0,3.0)); } -BOOST_AUTO_TEST_CASE(access_vec3) -{ - Vec3 v; - v[0]=1.1; - v[1]=2.3; - v[2]=5.6; - BOOST_CHECK(match(v,1.1,2.3,5.6)); - - BOOST_CHECK_NO_THROW(v[0]=1); - BOOST_CHECK_NO_THROW(v[1]=1); - BOOST_CHECK_NO_THROW(v[2]=1); - BOOST_CHECK_NO_THROW(v[0]); - BOOST_CHECK_NO_THROW(v[1]); - BOOST_CHECK_NO_THROW(v[2]); - BOOST_CHECK_THROW( v[3]=1.0, std::out_of_range); - BOOST_CHECK_THROW( v[3], std::out_of_range); -} BOOST_AUTO_TEST_CASE(operators_vec3) { diff --git a/modules/geom/tests/test_vec4.cc b/modules/geom/tests/test_vec4.cc index 25276e4f33e55055ce3a75383e724bbb8f4ab8ee..665e2f168b5cc91ded628f38427c5b193ed57a08 100644 --- a/modules/geom/tests/test_vec4.cc +++ b/modules/geom/tests/test_vec4.cc @@ -61,18 +61,6 @@ BOOST_AUTO_TEST_CASE(init_vec4) } -BOOST_AUTO_TEST_CASE(access_vec4) -{ - Vec4 v; - v[0]=1.1; - v[1]=2.3; - v[2]=5.6; - v[3]=2.0; - BOOST_CHECK(match(v,1.1,2.3,5.6,2.0)); - - BOOST_CHECK_THROW( v[4]=1.0, std::out_of_range); -} - BOOST_AUTO_TEST_CASE(operators_vec4) { Vec4 v1(0.8,1.2,2.3,3.4);