closes https://github.com/assimp/assimp/issues/2297: introduce obj-unittest to validate working importer.
parent
dc10f24df1
commit
996fb4aae7
|
@ -78,7 +78,7 @@ static const float VertComponents[ 24 * 3 ] = {
|
||||||
0.500000, -0.500000, 0.500000f
|
0.500000, -0.500000, 0.500000f
|
||||||
};
|
};
|
||||||
|
|
||||||
static const std::string ObjModel =
|
static const char *ObjModel =
|
||||||
"o 1\n"
|
"o 1\n"
|
||||||
"\n"
|
"\n"
|
||||||
"# Vertex list\n"
|
"# Vertex list\n"
|
||||||
|
@ -105,7 +105,7 @@ static const std::string ObjModel =
|
||||||
"\n"
|
"\n"
|
||||||
"# End of file\n";
|
"# End of file\n";
|
||||||
|
|
||||||
static const std::string ObjModel_Issue1111 =
|
static const char *ObjModel_Issue1111 =
|
||||||
"o 1\n"
|
"o 1\n"
|
||||||
"\n"
|
"\n"
|
||||||
"# Vertex list\n"
|
"# Vertex list\n"
|
||||||
|
@ -231,7 +231,7 @@ TEST_F( utObjImportExport, exportObjFromFileTest ) {
|
||||||
#endif // ASSIMP_BUILD_NO_EXPORT
|
#endif // ASSIMP_BUILD_NO_EXPORT
|
||||||
|
|
||||||
TEST_F( utObjImportExport, obj_import_test ) {
|
TEST_F( utObjImportExport, obj_import_test ) {
|
||||||
const aiScene *scene = m_im->ReadFileFromMemory( (void*) ObjModel.c_str(), ObjModel.size(), 0 );
|
const aiScene *scene = m_im->ReadFileFromMemory( (void*) ObjModel, strlen(ObjModel), 0 );
|
||||||
aiScene *expected = createScene();
|
aiScene *expected = createScene();
|
||||||
EXPECT_NE( nullptr, scene );
|
EXPECT_NE( nullptr, scene );
|
||||||
|
|
||||||
|
@ -252,7 +252,7 @@ TEST_F( utObjImportExport, obj_import_test ) {
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F( utObjImportExport, issue1111_no_mat_name_Test ) {
|
TEST_F( utObjImportExport, issue1111_no_mat_name_Test ) {
|
||||||
const aiScene *scene = m_im->ReadFileFromMemory( ( void* ) ObjModel_Issue1111.c_str(), ObjModel_Issue1111.size(), 0 );
|
const aiScene *scene = m_im->ReadFileFromMemory( ( void* ) ObjModel_Issue1111, strlen(ObjModel_Issue1111), 0 );
|
||||||
EXPECT_NE( nullptr, scene );
|
EXPECT_NE( nullptr, scene );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -290,7 +290,7 @@ TEST_F( utObjImportExport, issue1923_vertex_color_Test ) {
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F( utObjImportExport, issue1453_segfault ) {
|
TEST_F( utObjImportExport, issue1453_segfault ) {
|
||||||
static const std::string ObjModel =
|
static const char *ObjModel =
|
||||||
"v 0.0 0.0 0.0\n"
|
"v 0.0 0.0 0.0\n"
|
||||||
"v 0.0 0.0 1.0\n"
|
"v 0.0 0.0 1.0\n"
|
||||||
"v 0.0 1.0 0.0\n"
|
"v 0.0 1.0 0.0\n"
|
||||||
|
@ -301,12 +301,12 @@ TEST_F( utObjImportExport, issue1453_segfault ) {
|
||||||
"v 1.0 1.0 1.0\nB";
|
"v 1.0 1.0 1.0\nB";
|
||||||
|
|
||||||
Assimp::Importer myimporter;
|
Assimp::Importer myimporter;
|
||||||
const aiScene *scene = myimporter.ReadFileFromMemory( ObjModel.c_str(), ObjModel.size(), aiProcess_ValidateDataStructure );
|
const aiScene *scene = myimporter.ReadFileFromMemory( ObjModel, strlen(ObjModel), aiProcess_ValidateDataStructure );
|
||||||
EXPECT_EQ( nullptr, scene );
|
EXPECT_EQ( nullptr, scene );
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(utObjImportExport, relative_indices_Test) {
|
TEST_F(utObjImportExport, relative_indices_Test) {
|
||||||
static const std::string ObjModel =
|
static const char *ObjModel =
|
||||||
"v -0.500000 0.000000 0.400000\n"
|
"v -0.500000 0.000000 0.400000\n"
|
||||||
"v -0.500000 0.000000 -0.800000\n"
|
"v -0.500000 0.000000 -0.800000\n"
|
||||||
"v -0.500000 1.000000 -0.800000\n"
|
"v -0.500000 1.000000 -0.800000\n"
|
||||||
|
@ -314,7 +314,7 @@ TEST_F(utObjImportExport, relative_indices_Test) {
|
||||||
"f -4 -3 -2 -1\nB";
|
"f -4 -3 -2 -1\nB";
|
||||||
|
|
||||||
Assimp::Importer myimporter;
|
Assimp::Importer myimporter;
|
||||||
const aiScene *scene = myimporter.ReadFileFromMemory(ObjModel.c_str(), ObjModel.size(), aiProcess_ValidateDataStructure);
|
const aiScene *scene = myimporter.ReadFileFromMemory(ObjModel, strlen(ObjModel), aiProcess_ValidateDataStructure);
|
||||||
EXPECT_NE(nullptr, scene);
|
EXPECT_NE(nullptr, scene);
|
||||||
|
|
||||||
EXPECT_EQ(scene->mNumMeshes, 1U);
|
EXPECT_EQ(scene->mNumMeshes, 1U);
|
||||||
|
@ -331,14 +331,14 @@ TEST_F(utObjImportExport, relative_indices_Test) {
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(utObjImportExport, homogeneous_coordinates_Test) {
|
TEST_F(utObjImportExport, homogeneous_coordinates_Test) {
|
||||||
static const std::string ObjModel =
|
static const char *ObjModel =
|
||||||
"v -0.500000 0.000000 0.400000 0.50000\n"
|
"v -0.500000 0.000000 0.400000 0.50000\n"
|
||||||
"v -0.500000 0.000000 -0.800000 1.00000\n"
|
"v -0.500000 0.000000 -0.800000 1.00000\n"
|
||||||
"v 0.500000 1.000000 -0.800000 0.5000\n"
|
"v 0.500000 1.000000 -0.800000 0.5000\n"
|
||||||
"f 1 2 3\nB";
|
"f 1 2 3\nB";
|
||||||
|
|
||||||
Assimp::Importer myimporter;
|
Assimp::Importer myimporter;
|
||||||
const aiScene *scene = myimporter.ReadFileFromMemory(ObjModel.c_str(), ObjModel.size(), aiProcess_ValidateDataStructure);
|
const aiScene *scene = myimporter.ReadFileFromMemory(ObjModel, strlen(ObjModel), aiProcess_ValidateDataStructure);
|
||||||
EXPECT_NE(nullptr, scene);
|
EXPECT_NE(nullptr, scene);
|
||||||
|
|
||||||
EXPECT_EQ(scene->mNumMeshes, 1U);
|
EXPECT_EQ(scene->mNumMeshes, 1U);
|
||||||
|
@ -354,26 +354,26 @@ TEST_F(utObjImportExport, homogeneous_coordinates_Test) {
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(utObjImportExport, homogeneous_coordinates_divide_by_zero_Test) {
|
TEST_F(utObjImportExport, homogeneous_coordinates_divide_by_zero_Test) {
|
||||||
static const std::string ObjModel =
|
static const char *ObjModel =
|
||||||
"v -0.500000 0.000000 0.400000 0.\n"
|
"v -0.500000 0.000000 0.400000 0.\n"
|
||||||
"v -0.500000 0.000000 -0.800000 1.00000\n"
|
"v -0.500000 0.000000 -0.800000 1.00000\n"
|
||||||
"v 0.500000 1.000000 -0.800000 0.5000\n"
|
"v 0.500000 1.000000 -0.800000 0.5000\n"
|
||||||
"f 1 2 3\nB";
|
"f 1 2 3\nB";
|
||||||
|
|
||||||
Assimp::Importer myimporter;
|
Assimp::Importer myimporter;
|
||||||
const aiScene *scene = myimporter.ReadFileFromMemory(ObjModel.c_str(), ObjModel.size(), aiProcess_ValidateDataStructure);
|
const aiScene *scene = myimporter.ReadFileFromMemory(ObjModel, strlen(ObjModel), aiProcess_ValidateDataStructure);
|
||||||
EXPECT_EQ(nullptr, scene);
|
EXPECT_EQ(nullptr, scene);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(utObjImportExport, 0based_array_Test) {
|
TEST_F(utObjImportExport, 0based_array_Test) {
|
||||||
static const std::string ObjModel =
|
static const char *ObjModel =
|
||||||
"v -0.500000 0.000000 0.400000\n"
|
"v -0.500000 0.000000 0.400000\n"
|
||||||
"v -0.500000 0.000000 -0.800000\n"
|
"v -0.500000 0.000000 -0.800000\n"
|
||||||
"v -0.500000 1.000000 -0.800000\n"
|
"v -0.500000 1.000000 -0.800000\n"
|
||||||
"f 0 1 2\nB";
|
"f 0 1 2\nB";
|
||||||
|
|
||||||
Assimp::Importer myimporter;
|
Assimp::Importer myImporter;
|
||||||
const aiScene *scene = myimporter.ReadFileFromMemory(ObjModel.c_str(), ObjModel.size(), 0);
|
const aiScene *scene = myImporter.ReadFileFromMemory(ObjModel, strlen(ObjModel), 0);
|
||||||
EXPECT_EQ(nullptr, scene);
|
EXPECT_EQ(nullptr, scene);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -396,3 +396,8 @@ TEST_F(utObjImportExport, import_point_cloud) {
|
||||||
ASSERT_NE(nullptr, scene);
|
ASSERT_NE(nullptr, scene);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_F(utObjImportExport, import_without_linend) {
|
||||||
|
Assimp::Importer myImporter;
|
||||||
|
const aiScene *scene = myImporter.ReadFile(ASSIMP_TEST_MODELS_DIR "/OBJ/box_without_lineending.obj", 0);
|
||||||
|
ASSERT_NE(nullptr, scene);
|
||||||
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
Open Asset Import Library (assimp)
|
Open Asset Import Library (assimp)
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
|
|
||||||
Copyright (c) 2006-2015, assimp team
|
Copyright (c) 2006-2019, assimp team
|
||||||
|
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
|
@ -2639,4 +2639,5 @@ int APIENTRY _tWinMain(HINSTANCE hInstance,
|
||||||
ShutdownDevice();
|
ShutdownDevice();
|
||||||
ShutdownD3D();
|
ShutdownD3D();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue