list_to_matrix.cpp 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #include <test_common.h>
  2. #include <igl/list_to_matrix.h>
  3. #include <igl/STR.h>
  4. #include <tuple>
  5. namespace list_to_matrix
  6. {
  7. typedef std::tuple<int/*n*/,int/*m*/> NM;
  8. // inline std::string NM_test_name(
  9. // const ::testing::TestParamInfo<NM>& info)
  10. // {
  11. // return STR(
  12. // std::get<0>(info.param)<<"x"<<
  13. // std::get<1>(info.param)<<"_");
  14. // };
  15. }
  16. TEST_CASE("ListToMatrixTest: matrix", "[igl]")
  17. {
  18. const auto test_case = [](const list_to_matrix::NM &param)
  19. {
  20. const int n = std::get<0>(param);
  21. const int m = std::get<1>(param);
  22. std::vector<std::vector<double> > vX(n,std::vector<double>(m));
  23. for(int i = 0;i<n;i++)
  24. {
  25. for(int j = 0;j<m;j++)
  26. {
  27. vX[i][j] = i+j*n;
  28. }
  29. }
  30. Eigen::MatrixXd mX;
  31. igl::list_to_matrix(vX,mX);
  32. for(int i = 0;i<n;i++)
  33. {
  34. for(int j = 0;j<m;j++)
  35. {
  36. REQUIRE (mX(i,j) == vX[i][j]);
  37. }
  38. }
  39. };
  40. std::vector<list_to_matrix::NM> params = {
  41. list_to_matrix::NM{100,4},
  42. list_to_matrix::NM{4,100},
  43. list_to_matrix::NM{100,1},
  44. list_to_matrix::NM{1,100},
  45. };
  46. test_common::run_test_cases(params, test_case);
  47. }