1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.springframework.richclient.settings;
17
18 import junit.framework.TestCase;
19
20
21
22
23 public class SettingsManagerTests extends TestCase {
24 public void testSetSettingsFactory() {
25 SettingsManager settingsManager = new SettingsManager();
26 assertTrue("Default must be TransientSettingsFactory",
27 settingsManager.getSettingsFactory() instanceof TransientSettingsFactory);
28
29 TestableSettingsFactory factory = new TestableSettingsFactory();
30 settingsManager.setSettingsFactory(factory);
31 assertEquals(factory, settingsManager.getSettingsFactory());
32
33 settingsManager.setSettingsFactory(null);
34 assertTrue("null resets factory", settingsManager.getSettingsFactory() instanceof TransientSettingsFactory);
35 }
36
37 public void testGetInternalSettings() throws SettingsException {
38 SettingsManager settingsManager = new SettingsManager();
39
40 TestableSettingsFactory factory = new TestableSettingsFactory();
41 settingsManager.setSettingsFactory(factory);
42
43 TransientSettings settings = new TransientSettings();
44 factory.setSettings(settings);
45
46 Settings internalSettings = settingsManager.getInternalSettings();
47 assertSame(settings, internalSettings);
48 assertEquals(1, factory.getCount());
49 assertEquals("internal", factory.getKey());
50
51 factory.reset();
52
53 Settings internalSettings2 = settingsManager.getInternalSettings();
54 assertSame(internalSettings, internalSettings2);
55 assertEquals(0, factory.getCount());
56 }
57
58 public void testGetUserSettings() throws SettingsException {
59 SettingsManager settingsManager = new SettingsManager();
60
61 TestableSettingsFactory factory = new TestableSettingsFactory();
62 settingsManager.setSettingsFactory(factory);
63
64 TransientSettings settings = new TransientSettings();
65 factory.setSettings(settings);
66
67 Settings userSettings = settingsManager.getUserSettings();
68 assertSame(settings, userSettings);
69 assertEquals(1, factory.getCount());
70 assertEquals("user", factory.getKey());
71
72 factory.reset();
73
74 Settings userSettings2 = settingsManager.getUserSettings();
75 assertSame(userSettings, userSettings2);
76 assertEquals(0, factory.getCount());
77 }
78
79 public void testCreateSettings() throws SettingsException {
80 SettingsManager settingsManager = new SettingsManager();
81
82 TestableSettingsFactory factory = new TestableSettingsFactory();
83 settingsManager.setSettingsFactory(factory);
84
85 TransientSettings settings = new TransientSettings();
86 factory.setSettings(settings);
87
88 Settings otherSettings = settingsManager.createSettings("key");
89 assertSame(settings, otherSettings);
90 assertEquals(1, factory.getCount());
91 assertEquals("key", factory.getKey());
92
93 factory.reset();
94 factory.setSettings(settings);
95
96 Settings otherSettings2 = settingsManager.createSettings("key");
97 assertSame(settings, otherSettings2);
98 assertEquals(1, factory.getCount());
99 assertEquals("key", factory.getKey());
100 }
101
102 }