diff options
author | Brecht Van Lommel <brecht@blender.org> | 2020-08-07 17:43:42 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2020-08-10 19:14:00 +0300 |
commit | 53d203dea8230da4e80f3cc61468a4e24ff6759c (patch) | |
tree | 3f1b7498fb1a3108e60a4355bec0e4eef76110e4 /tests/gtests/alembic/abc_export_test.cc | |
parent | af77bf1f0f94cb07d5bf681d1f771d4106873780 (diff) |
Tests: move remaining gtests into their own module folders
And make them part of the blender_test runner. The one exception is blenlib
performance tests, which we don't want to run by default. They remain in their
own executable.
Differential Revision: https://developer.blender.org/D8498
Diffstat (limited to 'tests/gtests/alembic/abc_export_test.cc')
-rw-r--r-- | tests/gtests/alembic/abc_export_test.cc | 161 |
1 files changed, 0 insertions, 161 deletions
diff --git a/tests/gtests/alembic/abc_export_test.cc b/tests/gtests/alembic/abc_export_test.cc deleted file mode 100644 index 5c2b505958e..00000000000 --- a/tests/gtests/alembic/abc_export_test.cc +++ /dev/null @@ -1,161 +0,0 @@ -#include "testing/testing.h" - -// Keep first since utildefines defines AT which conflicts with STL -#include "exporter/abc_archive.h" -#include "intern/abc_util.h" - -#include "BKE_main.h" -#include "BLI_fileops.h" -#include "BLI_math.h" -#include "BLI_utildefines.h" -#include "DNA_scene_types.h" - -#include "DEG_depsgraph.h" - -namespace blender { -namespace io { -namespace alembic { - -class AlembicExportTest : public testing::Test { - protected: - ABCArchive *abc_archive; - - AlembicExportParams params; - Scene scene; - Depsgraph *depsgraph; - Main *bmain; - - virtual void SetUp() - { - abc_archive = nullptr; - - /* Fake a 25 FPS scene with a nonzero base (because that's sometimes forgotten) */ - scene.r.frs_sec = 50; - scene.r.frs_sec_base = 2; - strcpy(scene.id.name, "SCTestScene"); - - bmain = BKE_main_new(); - - /* TODO(sergey): Pass scene layer somehow? */ - ViewLayer *view_layer = (ViewLayer *)scene.view_layers.first; - depsgraph = DEG_graph_new(bmain, &scene, view_layer, DAG_EVAL_RENDER); - } - - virtual void TearDown() - { - BKE_main_free(bmain); - DEG_graph_free(depsgraph); - deleteArchive(); - } - - // Call after setting up the parameters. - void createArchive() - { - if (abc_archive != nullptr) { - deleteArchive(); - } - abc_archive = new ABCArchive(bmain, &scene, params, "somefile.abc"); - } - - void deleteArchive() - { - delete abc_archive; - if (BLI_exists("somefile.abc")) { - BLI_delete("somefile.abc", false, false); - } - abc_archive = nullptr; - } -}; - -TEST_F(AlembicExportTest, TimeSamplesFullShutterUniform) -{ - /* Test 5 samples per frame, for 2 frames. */ - params.shutter_open = 0.0; - params.shutter_close = 1.0; - params.frame_start = 31.0; - params.frame_end = 32.0; - params.frame_samples_xform = params.frame_samples_shape = 5; - createArchive(); - std::vector<double> frames(abc_archive->frames_begin(), abc_archive->frames_end()); - EXPECT_EQ(10, frames.size()); - EXPECT_NEAR(31.0, frames[0], 1e-5); - EXPECT_NEAR(31.2, frames[1], 1e-5); - EXPECT_NEAR(31.4, frames[2], 1e-5); - EXPECT_NEAR(31.6, frames[3], 1e-5); - EXPECT_NEAR(31.8, frames[4], 1e-5); - EXPECT_NEAR(32.0, frames[5], 1e-5); - EXPECT_NEAR(32.2, frames[6], 1e-5); - EXPECT_NEAR(32.4, frames[7], 1e-5); - EXPECT_NEAR(32.6, frames[8], 1e-5); - EXPECT_NEAR(32.8, frames[9], 1e-5); - - for (double frame : frames) { - EXPECT_TRUE(abc_archive->is_xform_frame(frame)); - EXPECT_TRUE(abc_archive->is_shape_frame(frame)); - } -} - -TEST_F(AlembicExportTest, TimeSamplesFullShutterDifferent) -{ - /* Test 3 samples per frame for transforms, and 2 per frame for shapes, for 2 frames. */ - params.shutter_open = 0.0; - params.shutter_close = 1.0; - params.frame_start = 31.0; - params.frame_end = 32.0; - params.frame_samples_xform = 3; - params.frame_samples_shape = 2; - createArchive(); - std::vector<double> frames(abc_archive->frames_begin(), abc_archive->frames_end()); - EXPECT_EQ(8, frames.size()); - EXPECT_NEAR(31.0, frames[0], 1e-5); // transform + shape - EXPECT_TRUE(abc_archive->is_xform_frame(frames[0])); - EXPECT_TRUE(abc_archive->is_shape_frame(frames[0])); - EXPECT_NEAR(31.33333, frames[1], 1e-5); // transform - EXPECT_TRUE(abc_archive->is_xform_frame(frames[1])); - EXPECT_FALSE(abc_archive->is_shape_frame(frames[1])); - EXPECT_NEAR(31.5, frames[2], 1e-5); // shape - EXPECT_FALSE(abc_archive->is_xform_frame(frames[2])); - EXPECT_TRUE(abc_archive->is_shape_frame(frames[2])); - EXPECT_NEAR(31.66666, frames[3], 1e-5); // transform - EXPECT_TRUE(abc_archive->is_xform_frame(frames[3])); - EXPECT_FALSE(abc_archive->is_shape_frame(frames[3])); - EXPECT_NEAR(32.0, frames[4], 1e-5); // transform + shape - EXPECT_TRUE(abc_archive->is_xform_frame(frames[4])); - EXPECT_TRUE(abc_archive->is_shape_frame(frames[4])); - EXPECT_NEAR(32.33333, frames[5], 1e-5); // transform - EXPECT_TRUE(abc_archive->is_xform_frame(frames[5])); - EXPECT_FALSE(abc_archive->is_shape_frame(frames[5])); - EXPECT_NEAR(32.5, frames[6], 1e-5); // shape - EXPECT_FALSE(abc_archive->is_xform_frame(frames[6])); - EXPECT_TRUE(abc_archive->is_shape_frame(frames[6])); - EXPECT_NEAR(32.66666, frames[7], 1e-5); // transform - EXPECT_TRUE(abc_archive->is_xform_frame(frames[7])); - EXPECT_FALSE(abc_archive->is_shape_frame(frames[7])); -} - -TEST_F(AlembicExportTest, TimeSamples180degShutter) -{ - /* Test 5 samples per frame, for 2 frames. */ - params.shutter_open = -0.25; - params.shutter_close = 0.25; - params.frame_start = 31.0; - params.frame_end = 32.0; - params.frame_samples_xform = params.frame_samples_shape = 5; - createArchive(); - std::vector<double> frames(abc_archive->frames_begin(), abc_archive->frames_end()); - EXPECT_EQ(10, frames.size()); - EXPECT_NEAR(31 - 0.25, frames[0], 1e-5); - EXPECT_NEAR(31 - 0.15, frames[1], 1e-5); - EXPECT_NEAR(31 - 0.05, frames[2], 1e-5); - EXPECT_NEAR(31 + 0.05, frames[3], 1e-5); - EXPECT_NEAR(31 + 0.15, frames[4], 1e-5); - EXPECT_NEAR(32 - 0.25, frames[5], 1e-5); - EXPECT_NEAR(32 - 0.15, frames[6], 1e-5); - EXPECT_NEAR(32 - 0.05, frames[7], 1e-5); - EXPECT_NEAR(32 + 0.05, frames[8], 1e-5); - EXPECT_NEAR(32 + 0.15, frames[9], 1e-5); -} - -} // namespace alembic -} // namespace io -} // namespace blender |