[mlpack-git] master: Adapt Keon's test into something harder. (b3fc468)
gitdub at mlpack.org
gitdub at mlpack.org
Tue May 31 14:56:40 EDT 2016
Repository : https://github.com/mlpack/mlpack
On branch : master
Link : https://github.com/mlpack/mlpack/compare/ee95e2030ddd526368e377b4e1c13484d471e307...a2440f163ac76edda36a9f7ba31cfecd3a55654e
>---------------------------------------------------------------
commit b3fc4684a0c14c1482fb58f6aac9be749f0f11c9
Author: Ryan Curtin <ryan at ratml.org>
Date: Tue May 31 14:56:40 2016 -0400
Adapt Keon's test into something harder.
>---------------------------------------------------------------
b3fc4684a0c14c1482fb58f6aac9be749f0f11c9
src/mlpack/tests/load_save_test.cpp | 50 +++++++++++++++++++------------------
1 file changed, 26 insertions(+), 24 deletions(-)
diff --git a/src/mlpack/tests/load_save_test.cpp b/src/mlpack/tests/load_save_test.cpp
index fc753f8..ecb089c 100644
--- a/src/mlpack/tests/load_save_test.cpp
+++ b/src/mlpack/tests/load_save_test.cpp
@@ -1094,43 +1094,45 @@ BOOST_AUTO_TEST_CASE(CategoricalNontransposedCSVLoadTest)
}
/**
- * The test CSV Keon suggested in #658.
+ * A harder test CSV based on the concerns in #658.
*/
-BOOST_AUTO_TEST_CASE(KeonsSimpleDatasetInfoTest)
+BOOST_AUTO_TEST_CASE(HarderKeonTest)
{
fstream f;
f.open("test.csv", fstream::out);
- f << "1, 1, 1" << endl;
- f << ", 1, 1" << endl;
- f << "1, 1, 1" << endl;
- f << "1, 1, 1" << endl;
+ f << "a,, 13,\t, 0" << endl;
+ f << "b, 3, 14, hello,1" << endl;
+ f << "b, 4, 15, , 2" << endl;
+ f << ", 5, 16, ," << endl;
f.close();
- // Load without transpose.
+ // Load transposed.
arma::mat dataset;
data::DatasetInfo info;
- data::Load("test.csv", dataset, info, true, false);
-
- BOOST_REQUIRE_EQUAL(dataset.n_rows, 4);
- BOOST_REQUIRE_EQUAL(dataset.n_cols, 3);
- BOOST_REQUIRE_EQUAL(info.Dimensionality(), 4);
- BOOST_REQUIRE_EQUAL(info.NumMappings(0), 0);
- BOOST_REQUIRE_EQUAL(info.NumMappings(1), 2);
- BOOST_REQUIRE_EQUAL(info.NumMappings(2), 0);
- BOOST_REQUIRE_EQUAL(info.NumMappings(3), 0);
-
- // Load with transpose.
- data::DatasetInfo newInfo;
data::Load("test.csv", dataset, info, true, true);
- BOOST_REQUIRE_EQUAL(dataset.n_rows, 3);
+ BOOST_REQUIRE_EQUAL(dataset.n_rows, 5);
BOOST_REQUIRE_EQUAL(dataset.n_cols, 4);
- BOOST_REQUIRE_EQUAL(info.Dimensionality(), 3);
- BOOST_REQUIRE_EQUAL(info.NumMappings(0), 2);
- BOOST_REQUIRE_EQUAL(info.NumMappings(1), 0);
+
+ BOOST_REQUIRE_EQUAL(info.Dimensionality(), 5);
+ BOOST_REQUIRE_EQUAL(info.NumMappings(0), 3);
+ BOOST_REQUIRE_EQUAL(info.NumMappings(1), 4);
BOOST_REQUIRE_EQUAL(info.NumMappings(2), 0);
+ BOOST_REQUIRE_EQUAL(info.NumMappings(3), 2); // \t and "" are equivalent.
+ BOOST_REQUIRE_EQUAL(info.NumMappings(4), 4);
- remove("test.csv");
+ // Now load non-transposed.
+ data::DatasetInfo ntInfo;
+ data::Load("test.csv", dataset, ntInfo, true, false);
+
+ BOOST_REQUIRE_EQUAL(dataset.n_rows, 4);
+ BOOST_REQUIRE_EQUAL(dataset.n_cols, 5);
+
+ BOOST_REQUIRE_EQUAL(ntInfo.Dimensionality(), 4);
+ BOOST_REQUIRE_EQUAL(ntInfo.NumMappings(0), 4);
+ BOOST_REQUIRE_EQUAL(ntInfo.NumMappings(1), 5);
+ BOOST_REQUIRE_EQUAL(ntInfo.NumMappings(2), 5);
+ BOOST_REQUIRE_EQUAL(ntInfo.NumMappings(3), 3);
}
/**
More information about the mlpack-git
mailing list