Statistics
| Revision:

root / branches / v2_0_0_prep / libraries / libTools / src-test / org / gvsig / tools / observer / BaseWeakReferencingObservableTest.java @ 31544

History | View | Annotate | Download (6.89 KB)

1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 */
22

    
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2008 {DiSiD Technologies}  {{Task}}
26
 */
27
package org.gvsig.tools.observer;
28

    
29
import java.lang.ref.WeakReference;
30

    
31
import junit.framework.TestCase;
32

    
33
import org.easymock.MockControl;
34
import org.gvsig.tools.observer.impl.BaseWeakReferencingObservable;
35

    
36
/**
37
 * Unit tests for the {@link BaseWeakReferencingObservable} class.
38
 *
39
 * @author <a href="mailto:cordin@disid.com">C?sar Ordi?ana</a>
40
 */
41
public class BaseWeakReferencingObservableTest extends TestCase {
42

    
43
    private BaseWeakReferencingObservable observable;
44
    private MockControl obsControl;
45
    private Observer observer;
46

    
47
    protected void setUp() throws Exception {
48
        super.setUp();
49
        observable = new BaseWeakReferencingObservable();
50
        obsControl = MockControl.createStrictControl(Observer.class);
51
        observer = (Observer) obsControl.getMock();
52
    }
53

    
54
    protected void tearDown() throws Exception {
55
        super.tearDown();
56
    }
57

    
58
    /**
59
     * Test method for
60
     * {@link org.gvsig.tools.observer.impl.BaseWeakReferencingObservable#enableNotifications()}
61
     * .
62
     */
63
    public void testEnableNotifications() {
64
        observer.update(observable, null);
65
        obsControl.replay();
66

    
67
        observable.addObserver(observer);
68
        observable.enableNotifications();
69
        observable.notifyObservers();
70

    
71
        obsControl.verify();
72
    }
73

    
74
    /**
75
     * Test method for {@link org.gvsig.tools.observer.impl.BaseWeakReferencingObservable#dis}.
76
     */
77
    public void testDisableNotifications() {
78
        // The observer must not be notified
79
        obsControl.replay();
80

    
81
        observable.addObserver(observer);
82
        observable.disableNotifications();
83
        observable.notifyObservers();
84

    
85
        obsControl.verify();
86
    }
87

    
88
    /**
89
     * Test method for
90
     * {@link org.gvsig.tools.observer.impl.BaseWeakReferencingObservable#isEnabledNotifications()}
91
     * .
92
     */
93
    public void testIsEnabledNotifications() {
94
        assertTrue(observable.isEnabledNotifications());
95

    
96
        observable.disableNotifications();
97
        assertFalse(observable.isEnabledNotifications());
98

    
99
        observable.enableNotifications();
100
        assertTrue(observable.isEnabledNotifications());
101
    }
102

    
103
    /**
104
     * Test method for
105
     * {@link org.gvsig.tools.observer.impl.BaseWeakReferencingObservable#addObserver(org.gvsig.tools.observer.Observer)}
106
     * .
107
     */
108
    public void testAddObserverObserver() {
109
        assertEquals(0, observable.countObservers());
110
        observable.addObserver(observer);
111
        assertEquals(1, observable.countObservers());
112
        observable.addObserver(observer);
113
        assertEquals(1, observable.countObservers());
114
    }
115

    
116
    /**
117
     * Test method for
118
     * {@link org.gvsig.tools.observer.impl.BaseWeakReferencingObservable#addObserver(java.lang.ref.Reference)}
119
     * .
120
     */
121
    public void testAddObserverReference() {
122
        assertEquals(0, observable.countObservers());
123
        observable.addObserver(new WeakReference(observer));
124
        assertEquals(1, observable.countObservers());
125
        observable.addObserver(new WeakReference(observer));
126
        assertEquals(1, observable.countObservers());
127
    }
128

    
129
    /**
130
     * Test method for
131
     * {@link org.gvsig.tools.observer.impl.BaseObservable#addObservers(org.gvsig.tools.observer.impl.BaseObservable)}
132
     * .
133
     */
134
    // public void testAddObservers() {
135
    // fail("Not yet implemented");
136
    // }
137
    /**
138
     * Test method for
139
     * {@link org.gvsig.tools.observer.impl.BaseWeakReferencingObservable#deleteObserver(org.gvsig.tools.observer.Observer)}
140
     * .
141
     */
142
    public void testDeleteObserverObserver() {
143
        observable.addObserver(observer);
144
        assertEquals(1, observable.countObservers());
145
        observable.deleteObserver(observer);
146
        assertEquals(0, observable.countObservers());
147
    }
148

    
149
    /**
150
     * Test method for
151
     * {@link org.gvsig.tools.observer.impl.BaseWeakReferencingObservable#deleteObserver(java.lang.ref.Reference)}
152
     * .
153
     */
154
    public void testDeleteObserverReference() {
155
        observable.addObserver(new WeakReference(observer));
156
        assertEquals(1, observable.countObservers());
157
        observable.deleteObserver(new WeakReference(observer));
158
        assertEquals(0, observable.countObservers());
159
    }
160

    
161
    /**
162
     * Test method for
163
     * {@link org.gvsig.tools.observer.impl.BaseObservable#notifyObservers()}.
164
     */
165
    // public void testNotifyObservers() {
166
    // fail("Not yet implemented");
167
    // }
168
    /**
169
     * Test method for
170
     * {@link org.gvsig.tools.observer.impl.BaseObservable#notifyObservers(org.gvsig.tools.observer.Observable, java.lang.Object)}
171
     * .
172
     */
173
    // public void testNotifyObserversObservableObject() {
174
    // fail("Not yet implemented");
175
    // }
176
    /**
177
     * Test method for
178
     * {@link org.gvsig.tools.observer.impl.BaseObservable#deleteObservers()}.
179
     */
180
    // public void testDeleteObservers() {
181
    // fail("Not yet implemented");
182
    // }
183
    /**
184
     * Test method for
185
     * {@link org.gvsig.tools.observer.impl.BaseObservable#hasChanged()}.
186
     */
187
    // public void testHasChanged() {
188
    // fail("Not yet implemented");
189
    // }
190
    /**
191
     * Test method for
192
     * {@link org.gvsig.tools.observer.impl.BaseObservable#countObservers()}.
193
     */
194
    // public void testCountObservers() {
195
    // fail("Not yet implemented");
196
    // }
197
    /**
198
     * Test method for
199
     * {@link org.gvsig.tools.observer.impl.BaseObservable#inComplex()}.
200
     */
201
    // public void testInComplex() {
202
    // fail("Not yet implemented");
203
    // }
204
    /**
205
     * Test method for
206
     * {@link org.gvsig.tools.observer.impl.BaseObservable#beginComplexNotification(org.gvsig.tools.observer.ComplexNotification)}
207
     * .
208
     */
209
    // public void testBeginComplexNotification() {
210
    // fail("Not yet implemented");
211
    // }
212
    /**
213
     * Test method for
214
     * {@link org.gvsig.tools.observer.impl.BaseObservable#endComplexNotification(org.gvsig.tools.observer.Observable)}
215
     * .
216
     */
217
    // public void testEndComplexNotification() {
218
    // fail("Not yet implemented");
219
    // }
220
}