aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/basicstuff.cpp
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2015-09-09 11:38:25 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2015-09-09 11:38:25 +0200
commit680d318352d0c740992a7e1d6ee5bac766487bbf (patch)
treeb662ab8ff9503c513869162a50b8d4f8657a4b91 /test/basicstuff.cpp
parent84e0c27b613d5ab70918272027e807e64272d244 (diff)
Add unit tests for bug #981: valid and invalid usage of ternary operator
Diffstat (limited to 'test/basicstuff.cpp')
-rw-r--r--test/basicstuff.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/basicstuff.cpp b/test/basicstuff.cpp
index c6bbf19ee..99d91f9da 100644
--- a/test/basicstuff.cpp
+++ b/test/basicstuff.cpp
@@ -126,6 +126,20 @@ template<typename MatrixType> void basicStuff(const MatrixType& m)
for(typename MatrixType::Index i=0;i<rows;++i)
sm2.col(i).noalias() -= sm1.row(i);
VERIFY_IS_APPROX(sm2,-sm1.transpose());
+
+ // check ternary usage
+ {
+ bool b = internal::random<int>(0,10)>5;
+ m3 = b ? m1 : m2;
+ if(b) VERIFY_IS_APPROX(m3,m1);
+ else VERIFY_IS_APPROX(m3,m2);
+ m3 = b ? -m1 : m2;
+ if(b) VERIFY_IS_APPROX(m3,-m1);
+ else VERIFY_IS_APPROX(m3,m2);
+ m3 = b ? m1 : -m2;
+ if(b) VERIFY_IS_APPROX(m3,m1);
+ else VERIFY_IS_APPROX(m3,-m2);
+ }
}
template<typename MatrixType> void basicStuffComplex(const MatrixType& m)