Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2017-10-26 13:49:57 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2017-10-26 13:49:57 +0300
commit654ee398ff0e37f4d5f5c4df96b1d521e4796de4 (patch)
treeb20bdd1f96799bb5425816b355fe3edede218998 /tests/gtests
parentd78bbe38bc5e5b5690a9388a5a4506463754fdb6 (diff)
parent03a582ceeb82e2fe70d8f9d7aa08374874aa0f1b (diff)
Merge branch 'master' into blender2.8
Diffstat (limited to 'tests/gtests')
-rw-r--r--tests/gtests/alembic/abc_export_test.cc67
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));