ply-exporter: add unittest.

pull/1300/head
Kim Kulling 2017-06-07 14:06:38 +02:00
parent 6730d658d7
commit 548c09271b
2 changed files with 24 additions and 5 deletions

View File

@ -51,14 +51,12 @@ struct aiScene;
struct aiNode; struct aiNode;
struct aiMesh; struct aiMesh;
namespace Assimp namespace Assimp {
{
// ------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------
/** Helper class to export a given scene to a Stanford Ply file. */ /** Helper class to export a given scene to a Stanford Ply file. */
// ------------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------------
class PlyExporter class PlyExporter {
{
public: public:
/// The class constructor for a specific scene to export /// The class constructor for a specific scene to export
PlyExporter(const char* filename, const aiScene* pScene, bool binary = false); PlyExporter(const char* filename, const aiScene* pScene, bool binary = false);

View File

@ -41,6 +41,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "UnitTestPCH.h" #include "UnitTestPCH.h"
#include <assimp/Importer.hpp> #include <assimp/Importer.hpp>
#include <assimp/Exporter.hpp>
#include "AbstractImportExportBase.h" #include "AbstractImportExportBase.h"
using namespace ::Assimp; using namespace ::Assimp;
@ -52,12 +53,32 @@ public:
const aiScene *scene = importer.ReadFile( ASSIMP_TEST_MODELS_DIR "/PLY/cube.ply", 0 ); const aiScene *scene = importer.ReadFile( ASSIMP_TEST_MODELS_DIR "/PLY/cube.ply", 0 );
return nullptr != scene; return nullptr != scene;
} }
#ifndef ASSIMP_BUILD_NO_EXPORT
virtual bool exporterTest() {
Importer importer;
Exporter exporter;
const aiScene *scene = importer.ReadFile(ASSIMP_TEST_MODELS_DIR "/PLY/cube.ply", 0);
EXPECT_NE(nullptr, scene);
EXPECT_EQ(aiReturn_SUCCESS, exporter.Export(scene, "ply", ASSIMP_TEST_MODELS_DIR "/ply/cube_test.ply"));
return true;
}
#endif // ASSIMP_BUILD_NO_EXPORT
}; };
TEST_F( utPLYImportExport, importTest ) { TEST_F( utPLYImportExport, importTest_Success ) {
EXPECT_TRUE( importerTest() ); EXPECT_TRUE( importerTest() );
} }
#ifndef ASSIMP_BUILD_NO_EXPORT
TEST_F(utPLYImportExport, exportTest_Success ) {
EXPECT_TRUE(exporterTest());
}
#endif // ASSIMP_BUILD_NO_EXPORT
TEST_F( utPLYImportExport, vertexColorTest ) { TEST_F( utPLYImportExport, vertexColorTest ) {
Assimp::Importer importer; Assimp::Importer importer;
const aiScene *scene = importer.ReadFile( ASSIMP_TEST_MODELS_DIR "/PLY/float-color.ply", 0 ); const aiScene *scene = importer.ReadFile( ASSIMP_TEST_MODELS_DIR "/PLY/float-color.ply", 0 );