aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/sparse_basic.cpp
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2017-01-23 22:06:08 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2017-01-23 22:06:08 +0100
commitba3f977946ed0ac5dde82a15a9c11784513155f2 (patch)
tree0957843366137775716aed69feb8bf59c43b2b79 /test/sparse_basic.cpp
parentb0db4eff367017f8b273b7d407b3fe0e86808ed2 (diff)
bug #1376: add missing assertion on size mismatch with compound assignment operators (e.g., mat += mat.col(j))
Diffstat (limited to 'test/sparse_basic.cpp')
-rw-r--r--test/sparse_basic.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/test/sparse_basic.cpp b/test/sparse_basic.cpp
index 271e55eba..208a66f12 100644
--- a/test/sparse_basic.cpp
+++ b/test/sparse_basic.cpp
@@ -214,6 +214,14 @@ template<typename SparseMatrixType> void sparse_basic(const SparseMatrixType& re
VERIFY_IS_APPROX(m1+=m2, refM1+=refM2);
VERIFY_IS_APPROX(m1-=m2, refM1-=refM2);
+ if (rows>=2 && cols>=2)
+ {
+ VERIFY_RAISES_ASSERT( m1 += m1.innerVector(0) );
+ VERIFY_RAISES_ASSERT( m1 -= m1.innerVector(0) );
+ VERIFY_RAISES_ASSERT( refM1 -= m1.innerVector(0) );
+ VERIFY_RAISES_ASSERT( refM1 += m1.innerVector(0) );
+ }
+
// test aliasing
VERIFY_IS_APPROX((m1 = -m1), (refM1 = -refM1));
VERIFY_IS_APPROX((m1 = m1.transpose()), (refM1 = refM1.transpose().eval()));
@@ -428,7 +436,7 @@ template<typename SparseMatrixType> void sparse_basic(const SparseMatrixType& re
m3 = m2.template triangularView<StrictlyLower>();
VERIFY_IS_APPROX(m3, refMat3);
- // check sparse-traingular to dense
+ // check sparse-triangular to dense
refMat3 = m2.template triangularView<StrictlyUpper>();
VERIFY_IS_APPROX(refMat3, DenseMatrix(refMat2.template triangularView<StrictlyUpper>()));
}