1
# Author: Prabhu Ramachandran <prabhu [at] aero . iitb . ac . in>
2
# Copyright (c) 2008, Enthought Inc.
6
from pkg_resources import resource_filename
8
from traits.api import Str, Int, Bool
9
from apptools.preferences.api import set_default_preferences
10
from apptools.preferences.api import Preferences, PreferencesHelper
11
from mayavi.tools.preferences_mirror import PreferencesMirror
14
class TestPreference(PreferencesHelper):
15
"""A simple test preference helper."""
16
preferences_path = "test"
23
class ClassNameTest(unittest.TestCase):
25
"""Called before each test is run"""
26
self.preferences = set_default_preferences(Preferences())
27
# The filename of the example preferences file.
28
pref_file = resource_filename('mayavi.tests',
29
'test_preference.ini')
30
self.preferences.load(pref_file)
31
self.pref = TestPreference()
32
self.mirror = PreferencesMirror()
33
self.mirror.preferences = self.pref
35
def test_mirroring(self):
36
"""Are the traits properly mirrored?"""
39
self.assertEqual(pref.bg, mirror.bg)
40
self.assertEqual(pref.width, mirror.width)
41
self.assertEqual(pref.show, mirror.show)
44
"""Does the mirror listen for changes on original preference."""
47
# Save original state.
49
pref.set(bg = 'white', width=20, show=True)
50
self.assertEqual(pref.bg, mirror.bg)
51
self.assertEqual(pref.width, mirror.width)
52
self.assertEqual(pref.show, mirror.show)
53
# Reset preferences back to defaults.
56
def test_no_reverse_sync(self):
57
"""mirror must not sync changes back to the original preferences."""
61
mirror.set(bg = 'white', width=20, show=True)
62
self.assertNotEqual(pref.bg, mirror.bg)
63
self.assertNotEqual(pref.width, mirror.width)
64
self.assertNotEqual(pref.show, mirror.show)
65
self.assertEqual(pref.bg, saved['bg'])
66
self.assertEqual(pref.width, saved['width'])
67
self.assertEqual(pref.show, saved['show'])
70
"""Are Mirror's preferences saved correctly"""
74
mirror.set(bg = 'white', width=20, show=True)
76
self.assertEqual(pref.bg, mirror.bg)
77
self.assertEqual(pref.width, mirror.width)
78
self.assertEqual(pref.show, mirror.show)
79
# Reset preferences back to defaults.
82
if __name__ == '__main__':