File: test_effect.py

package info (click to toggle)
opentimelineio 0.18.1-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 23,480 kB
  • sloc: cpp: 163,182; python: 50,821; ansic: 6,470; makefile: 1,091; sh: 892; xml: 182; javascript: 2
file content (119 lines) | stat: -rw-r--r-- 3,746 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# SPDX-License-Identifier: Apache-2.0
# Copyright Contributors to the OpenTimelineIO project

import unittest

import opentimelineio as otio
import opentimelineio.test_utils as otio_test_utils


class EffectTest(unittest.TestCase, otio_test_utils.OTIOAssertions):

    def test_cons(self):
        ef = otio.schema.Effect(
            name="blur it",
            effect_name="blur",
            metadata={"foo": "bar"},
            enabled=False
        )

        self.assertEqual(ef.enabled, False)

        encoded = otio.adapters.otio_json.write_to_string(ef)
        decoded = otio.adapters.otio_json.read_from_string(encoded)
        self.assertIsOTIOEquivalentTo(ef, decoded)
        self.assertEqual(decoded.name, "blur it")
        self.assertEqual(decoded.effect_name, "blur")
        self.assertEqual(decoded.metadata['foo'], 'bar')
        self.assertEqual(decoded.enabled, False)

    def test_eq(self):
        ef = otio.schema.Effect(
            name="blur it",
            effect_name="blur",
            metadata={"foo": "bar"}
        )
        ef2 = otio.schema.Effect(
            name="blur it",
            effect_name="blur",
            metadata={"foo": "bar"}
        )
        self.assertIsOTIOEquivalentTo(ef, ef2)

    def test_str(self):
        ef = otio.schema.Effect(
            name="blur it",
            effect_name="blur",
            metadata={"foo": "bar"},
            enabled=False
        )
        self.assertMultiLineEqual(
            str(ef),
            "Effect({}, {}, {}, {})".format(
                str(ef.name),
                str(ef.effect_name),
                str(ef.metadata),
                str(ef.enabled)
            )
        )
        self.assertMultiLineEqual(
            repr(ef),
            "otio.schema.Effect("
            "name={}, "
            "effect_name={}, "
            "metadata={}, "
            "enabled={}"
            ")".format(
                repr(ef.name),
                repr(ef.effect_name),
                repr(ef.metadata),
                repr(ef.enabled)
            )
        )

    def test_setters(self):
        ef = otio.schema.Effect(
            name="blur it",
            effect_name="blur",
            metadata={"foo": "bar"}
        )
        self.assertEqual(ef.effect_name, "blur")
        ef.effect_name = "flop"
        self.assertEqual(ef.effect_name, "flop")
        self.assertEqual(ef.enabled, True)


class TestLinearTimeWarp(unittest.TestCase, otio_test_utils.OTIOAssertions):
    def test_cons(self):
        ef = otio.schema.LinearTimeWarp("Foo", 2.5, {'foo': 'bar'})
        self.assertEqual(ef.effect_name, "LinearTimeWarp")
        self.assertEqual(ef.name, "Foo")
        self.assertEqual(ef.time_scalar, 2.5)
        self.assertEqual(ef.metadata, {"foo": "bar"})
        self.assertEqual(ef.enabled, True)

    def test_serialize(self):
        ef = otio.schema.LinearTimeWarp("Foo", 2.5, {'foo': 'bar'})
        encoded = otio.adapters.otio_json.write_to_string(ef)
        decoded = otio.adapters.otio_json.read_from_string(encoded)
        self.assertIsOTIOEquivalentTo(ef, decoded)

    def test_setters(self):
        ef = otio.schema.LinearTimeWarp("Foo", 2.5, {'foo': 'bar'})
        self.assertEqual(ef.time_scalar, 2.5)
        ef.time_scalar = 5.0
        self.assertEqual(ef.time_scalar, 5.0)


class TestFreezeFrame(unittest.TestCase):
    def test_cons(self):
        ef = otio.schema.FreezeFrame("Foo", {'foo': 'bar'})
        self.assertEqual(ef.effect_name, "FreezeFrame")
        self.assertEqual(ef.name, "Foo")
        self.assertEqual(ef.time_scalar, 0)
        self.assertEqual(ef.metadata, {"foo": "bar"})
        self.assertEqual(ef.enabled, True)


if __name__ == '__main__':
    unittest.main()