diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-10-26 13:49:57 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-10-26 13:49:57 +0300 |
commit | 654ee398ff0e37f4d5f5c4df96b1d521e4796de4 (patch) | |
tree | b20bdd1f96799bb5425816b355fe3edede218998 /tests/gtests/alembic/abc_export_test.cc | |
parent | d78bbe38bc5e5b5690a9388a5a4506463754fdb6 (diff) | |
parent | 03a582ceeb82e2fe70d8f9d7aa08374874aa0f1b (diff) |
Merge branch 'master' into blender2.8
Diffstat (limited to 'tests/gtests/alembic/abc_export_test.cc')
-rw-r--r-- | tests/gtests/alembic/abc_export_test.cc | 67 |
1 files changed, 41 insertions, 26 deletions
diff --git a/tests/gtests/alembic/abc_export_test.cc b/tests/gtests/alembic/abc_export_test.cc index 52ccbc1b93f..41ea32950eb 100644 --- a/tests/gtests/alembic/abc_export_test.cc +++ b/tests/gtests/alembic/abc_export_test.cc @@ -36,24 +36,47 @@ public: EvaluationContext eval_ctx; }; - -TEST(abc_export, TimeSamplesFullShutter) { +class AlembicExportTest : public testing::Test +{ +protected: ExportSettings settings; - settings.frame_start = 31.0; - settings.frame_end = 223.0; + Scene scene; + TestableAbcExporter *exporter; + + virtual void SetUp() + { + settings.frame_start = 31.0; + settings.frame_end = 223.0; + + /* 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; + + exporter = NULL; + } + + virtual void TearDown() + { + delete exporter; + } + + // Call after setting up the settings. + void createExporter() + { + exporter = new TestableAbcExporter(&scene, "somefile.abc", settings); + } +}; + + +TEST_F(AlembicExportTest, TimeSamplesFullShutter) { settings.shutter_open = 0.0; settings.shutter_close = 1.0; - /* Fake a 25 FPS scene with a nonzero base (because that's sometimes forgotten) */ - Scene scene; - scene.r.frs_sec = 50; - scene.r.frs_sec_base = 2; - - TestableAbcExporter exporter(&scene, "somefile.abc", settings); + createExporter(); std::vector<double> samples; /* test 5 samples per frame */ - exporter.getShutterSamples(5, true, samples); + exporter->getShutterSamples(5, true, samples); EXPECT_EQ(5, samples.size()); EXPECT_NEAR(1.240, samples[0], 1e-5f); EXPECT_NEAR(1.248, samples[1], 1e-5f); @@ -62,7 +85,7 @@ TEST(abc_export, TimeSamplesFullShutter) { EXPECT_NEAR(1.272, samples[4], 1e-5f); /* test same, but using frame number offset instead of time */ - exporter.getShutterSamples(5, false, samples); + exporter->getShutterSamples(5, false, samples); EXPECT_EQ(5, samples.size()); EXPECT_NEAR(0.0, samples[0], 1e-5f); EXPECT_NEAR(0.2, samples[1], 1e-5f); @@ -72,7 +95,7 @@ TEST(abc_export, TimeSamplesFullShutter) { /* use the same setup to test getFrameSet() */ std::set<double> frames; - exporter.getFrameSet(5, frames); + exporter->getFrameSet(5, frames); EXPECT_EQ(965, frames.size()); EXPECT_EQ(1, frames.count(31.0)); EXPECT_EQ(1, frames.count(31.2)); @@ -82,23 +105,15 @@ TEST(abc_export, TimeSamplesFullShutter) { } -TEST(abc_export, TimeSamples180degShutter) { - ExportSettings settings; - settings.frame_start = 31.0; - settings.frame_end = 223.0; +TEST_F(AlembicExportTest, TimeSamples180degShutter) { settings.shutter_open = -0.25; settings.shutter_close = 0.25; - /* Fake a 25 FPS scene with a nonzero base (because that's sometimes forgotten) */ - Scene scene; - scene.r.frs_sec = 50; - scene.r.frs_sec_base = 2; - - TestableAbcExporter exporter(&scene, "somefile.abc", settings); + createExporter(); std::vector<double> samples; /* test 5 samples per frame */ - exporter.getShutterSamples(5, true, samples); + exporter->getShutterSamples(5, true, samples); EXPECT_EQ(5, samples.size()); EXPECT_NEAR(1.230, samples[0], 1e-5f); EXPECT_NEAR(1.234, samples[1], 1e-5f); @@ -107,7 +122,7 @@ TEST(abc_export, TimeSamples180degShutter) { EXPECT_NEAR(1.246, samples[4], 1e-5f); /* test same, but using frame number offset instead of time */ - exporter.getShutterSamples(5, false, samples); + exporter->getShutterSamples(5, false, samples); EXPECT_EQ(5, samples.size()); EXPECT_NEAR(-0.25, samples[0], 1e-5f); EXPECT_NEAR(-0.15, samples[1], 1e-5f); @@ -118,7 +133,7 @@ TEST(abc_export, TimeSamples180degShutter) { /* Use the same setup to test getFrameSet(). * Here only a few numbers are tested, due to rounding issues. */ std::set<double> frames; - exporter.getFrameSet(5, frames); + exporter->getFrameSet(5, frames); EXPECT_EQ(965, frames.size()); EXPECT_EQ(1, frames.count(30.75)); EXPECT_EQ(1, frames.count(30.95)); |