[mlpack-git] master: More comprehensive tests. (a58837e)
gitdub at big.cc.gt.atl.ga.us
gitdub at big.cc.gt.atl.ga.us
Thu Mar 5 21:55:08 EST 2015
Repository : https://github.com/mlpack/mlpack
On branch : master
Link : https://github.com/mlpack/mlpack/compare/904762495c039e345beba14c1142fd719b3bd50e...f94823c800ad6f7266995c700b1b630d5ffdcf40
>---------------------------------------------------------------
commit a58837ed7988f5cd7107927374cd3ee5d6236060
Author: Ryan Curtin <ryan at ratml.org>
Date: Mon Jul 28 19:52:39 2014 +0000
More comprehensive tests.
>---------------------------------------------------------------
a58837ed7988f5cd7107927374cd3ee5d6236060
src/mlpack/tests/arma_extend_test.cpp | 81 +++++++++++++++++++++++++++++------
1 file changed, 68 insertions(+), 13 deletions(-)
diff --git a/src/mlpack/tests/arma_extend_test.cpp b/src/mlpack/tests/arma_extend_test.cpp
index dd0b0b3..f523d4e 100644
--- a/src/mlpack/tests/arma_extend_test.cpp
+++ b/src/mlpack/tests/arma_extend_test.cpp
@@ -54,17 +54,44 @@ BOOST_AUTO_TEST_CASE(InplaceReshapeMatrixTest)
BOOST_AUTO_TEST_CASE(ConstRowColIteratorTest)
{
mat X;
- X.ones(2, 2);
- // make sure default costructor works okay
+ X.zeros(5, 5);
+ for (size_t i = 0; i < 5; ++i)
+ X.col(i) += i;
+
+ for (size_t i = 0; i < 5; ++i)
+ X.row(i) += 3 * i;
+
+ // Make sure default constructor works okay.
mat::const_row_col_iterator it;
- // make sure ++ operator, operator* and comparison operators work fine
+ // Make sure ++ operator, operator* and comparison operators work fine.
size_t count = 0;
- for(it = X.begin_row_col();it != X.end_row_col();it++)
+ for (it = X.begin_row_col(); it != X.end_row_col(); it++)
{
+ // Check iterator value.
+ BOOST_REQUIRE_EQUAL(*it, (count % 5) * 3 + (count / 5));
+
+ // Check iterator position.
+ BOOST_REQUIRE_EQUAL(it.row(), count % 5);
+ BOOST_REQUIRE_EQUAL(it.col(), count / 5);
+
count++;
- BOOST_REQUIRE_EQUAL(*it, 1);
}
- BOOST_REQUIRE_EQUAL(count, 4);
+ BOOST_REQUIRE_EQUAL(count, 25);
+ it = X.end_row_col();
+ do
+ {
+ it--;
+ count--;
+
+ // Check iterator value.
+ BOOST_REQUIRE_EQUAL(*it, (count % 5) * 3 + (count / 5));
+
+ // Check iterator position.
+ BOOST_REQUIRE_EQUAL(it.row(), count % 5);
+ BOOST_REQUIRE_EQUAL(it.col(), count / 5);
+ } while (it != X.begin_row_col());
+
+ BOOST_REQUIRE_EQUAL(count, 0);
// make sure it can be constructed from row_iterator
it = X.begin_row(0);
}
@@ -75,18 +102,46 @@ BOOST_AUTO_TEST_CASE(ConstRowColIteratorTest)
BOOST_AUTO_TEST_CASE(RowColIteratorTest)
{
mat X;
- X.ones(2, 2);
- // make sure default costructor works okay
+ X.zeros(5, 5);
+ for (size_t i = 0; i < 5; ++i)
+ X.col(i) += i;
+
+ for (size_t i = 0; i < 5; ++i)
+ X.row(i) += 3 * i;
+
+ // Make sure default constructor works okay.
mat::row_col_iterator it;
- // make sure ++ operator, operator* and comparison operators work fine
+ // Make sure ++ operator, operator* and comparison operators work fine.
size_t count = 0;
- for(it = X.begin_row_col();it != X.end_row_col();it++)
+ for (it = X.begin_row_col(); it != X.end_row_col(); it++)
{
+ // Check iterator value.
+ BOOST_REQUIRE_EQUAL(*it, (count % 5) * 3 + (count / 5));
+
+ // Check iterator position.
+ BOOST_REQUIRE_EQUAL(it.row(), count % 5);
+ BOOST_REQUIRE_EQUAL(it.col(), count / 5);
+
count++;
- BOOST_REQUIRE_EQUAL(*it, 1);
}
- BOOST_REQUIRE_EQUAL(count, 4);
- // make sure it can be constructed from row_iterator
+ BOOST_REQUIRE_EQUAL(count, 25);
+ it = X.end_row_col();
+ do
+ {
+ it--;
+ count--;
+
+ // Check iterator value.
+ BOOST_REQUIRE_EQUAL(*it, (count % 5) * 3 + (count / 5));
+
+ // Check iterator position.
+ BOOST_REQUIRE_EQUAL(it.row(), count % 5);
+ BOOST_REQUIRE_EQUAL(it.col(), count / 5);
+ } while (it != X.begin_row_col());
+
+ BOOST_REQUIRE_EQUAL(count, 0);
+
+ // Make sure it can be constructed from row_iterator.
it = X.begin_row(0);
}
More information about the mlpack-git
mailing list