public async Task CanWriteAndReadSimplisticPointCloud(PlyFileFormat plyFileFormat)
        {
            var point = new List <Vector3>
            {
                new Vector3(0, 0, 0),
                new Vector3(1, 1, 1)
            };

            var    pointCloud = new PointCloud(point.Select(p => new Vertex(p)).ToArray());
            var    scene      = PointCloudToSceneAdapter.GenerateSceneFromPointCloud(pointCloud);
            string filePath   = Path.Combine(TestConstants.ResourcesFolderPath, "tmp.ply");

            try
            {
                _mockSettings.Object.DefaultPlyFileFormat = plyFileFormat;

                _importerExporter = new PlyAssetImporterExporter(_mockSettings.Object, null);
                await _importerExporter.ExportFileAsync(scene, filePath, true);

                var importedScene = await _importerExporter.ImportFileAsync(filePath);

                var importedMesh = importedScene.Meshes.First();

                Assert.AreEqual(point.Count, importedMesh.Points.Count);
                Assert.AreEqual(point[0], importedMesh.Points[0]);
                Assert.AreEqual(point[1], importedMesh.Points[1]);
            }
            finally
            {
                if (File.Exists(filePath))
                {
                    File.Delete(filePath);
                }
            }
        }
        public async Task ReadInSmallPlyEnsureStructureIsCorrect()
        {
            Scene scene = await _importerExporter.ImportFileAsync(_basicPlyFilePath);

            var mesh = scene.Meshes[0];

            Assert.AreEqual(8, mesh.Points.Count);
            Assert.AreEqual(false, mesh.ContainsNormals);
        }