#include #include #include #include // namespace sort // { // typedef std::tuple // NMDimAscending; // inline std::string NMDimAscending_test_name( // const ::testing::TestParamInfo& info) // { // return STR( // std::get<0>(info.param)<<"x"<< // std::get<1>(info.param)<<"_"<< // "dim_"<(info.param)<<"_"<< // "ascending_"<<(std::get<3>(info.param)?"true":"false")); // }; // } // class SortTest : public ::testing::TestWithParam {}; // TEST_P(SortTest,random) // { // const int n = std::get<0>(GetParam()); // const int m = std::get<1>(GetParam()); // const int dim = std::get<2>(GetParam()); // const bool ascending = std::get<3>(GetParam()); // Eigen::MatrixXd X = Eigen::MatrixXd::Random(n,m); // // sort ascending // Eigen::MatrixXd Y; // Eigen::MatrixXi IX; // igl::sort(X,dim,ascending,Y,IX); // REQUIRE (Y.rows() == X.rows()); // REQUIRE (Y.cols() == X.cols()); // REQUIRE (IX.rows() == X.rows()); // REQUIRE (IX.cols() == X.cols()); // for(int i = 0;i= Y(i-(dim==1?1:0),j-(dim==2?1:0))); // }else // { // REQUIRE (Y(i,j) <= Y(i-(dim==1?1:0),j-(dim==2?1:0))); // } // } // } // } // INSTANTIATE_TEST_CASE_P // ( // suite, // SortTest, // ::testing::ValuesIn >( // std::vector { // sort::NMDimAscending{100,3,1,true}, // sort::NMDimAscending{100,3,2,true}, // sort::NMDimAscending{100,3,1,false}, // sort::NMDimAscending{100,3,2,false}, // sort::NMDimAscending{3,100,1,true}, // sort::NMDimAscending{3,100,2,true}, // sort::NMDimAscending{3,100,1,false}, // sort::NMDimAscending{3,100,2,false}, // sort::NMDimAscending{100,2,1,true}, // sort::NMDimAscending{100,2,2,true}, // sort::NMDimAscending{100,2,1,false}, // sort::NMDimAscending{100,2,2,false}, // sort::NMDimAscending{2,100,1,true}, // sort::NMDimAscending{2,100,2,true}, // sort::NMDimAscending{2,100,1,false}, // sort::NMDimAscending{2,100,2,false}, // sort::NMDimAscending{100,4,1,true}, // sort::NMDimAscending{100,4,2,true}, // sort::NMDimAscending{100,4,1,false}, // sort::NMDimAscending{100,4,2,false}, // sort::NMDimAscending{4,100,1,true}, // sort::NMDimAscending{4,100,2,true}, // sort::NMDimAscending{4,100,1,false}, // sort::NMDimAscending{4,100,2,false}, // }), // sort::NMDimAscending_test_name // );