2
from pitivi.project import Project
5
class TestExportSettings(unittest.TestCase):
6
"""Test the project.MultimediaSettings class."""
9
self.project = Project()
11
def testMasterAttributes(self):
12
self._testMasterAttribute('muxer', dependant_attr='containersettings')
13
self._testMasterAttribute('vencoder', dependant_attr='vcodecsettings')
14
self._testMasterAttribute('aencoder', dependant_attr='acodecsettings')
16
def _testMasterAttribute(self, attr, dependant_attr):
17
"""Test changing the specified attr has effect on its dependant attr."""
18
attr_value1 = "%s_value1" % attr
19
attr_value2 = "%s_value2" % attr
21
setattr(self.project, attr, attr_value1)
22
setattr(self.project, dependant_attr, {})
23
getattr(self.project, dependant_attr)["key1"] = "v1"
25
setattr(self.project, attr, attr_value2)
26
setattr(self.project, dependant_attr, {})
27
getattr(self.project, dependant_attr)["key2"] = "v2"
29
setattr(self.project, attr, attr_value1)
30
self.assertTrue("key1" in getattr(self.project, dependant_attr))
31
self.assertFalse("key2" in getattr(self.project, dependant_attr))
32
self.assertEqual("v1", getattr(self.project, dependant_attr)["key1"])
33
setattr(self.project, dependant_attr, {})
35
setattr(self.project, attr, attr_value2)
36
self.assertFalse("key1" in getattr(self.project, dependant_attr))
37
self.assertTrue("key2" in getattr(self.project, dependant_attr))
38
self.assertEqual("v2", getattr(self.project, dependant_attr)["key2"])
39
setattr(self.project, dependant_attr, {})
41
setattr(self.project, attr, attr_value1)
42
self.assertFalse("key1" in getattr(self.project, dependant_attr))
43
self.assertFalse("key2" in getattr(self.project, dependant_attr))
45
setattr(self.project, attr, attr_value2)
46
self.assertFalse("key1" in getattr(self.project, dependant_attr))
47
self.assertFalse("key2" in getattr(self.project, dependant_attr))