1ef39d40dSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3ef39d40dSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4ef39d40dSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5ef39d40dSAndrew Rist  * distributed with this work for additional information
6ef39d40dSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7ef39d40dSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8ef39d40dSAndrew Rist  * "License"); you may not use this file except in compliance
9ef39d40dSAndrew Rist  * with the License.  You may obtain a copy of the License at
10ef39d40dSAndrew Rist  *
11ef39d40dSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12ef39d40dSAndrew Rist  *
13ef39d40dSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14ef39d40dSAndrew Rist  * software distributed under the License is distributed on an
15ef39d40dSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16ef39d40dSAndrew Rist  * KIND, either express or implied.  See the License for the
17ef39d40dSAndrew Rist  * specific language governing permissions and limitations
18ef39d40dSAndrew Rist  * under the License.
19ef39d40dSAndrew Rist  *
20ef39d40dSAndrew Rist  *************************************************************/
21ef39d40dSAndrew Rist 
22ef39d40dSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir package ifc.linguistic2;
25cdf0e10cSrcweir 
26cdf0e10cSrcweir import lib.MultiMethodTest;
27cdf0e10cSrcweir 
28cdf0e10cSrcweir import com.sun.star.lang.EventObject;
29cdf0e10cSrcweir import com.sun.star.lang.Locale;
30cdf0e10cSrcweir import com.sun.star.linguistic2.DictionaryListEvent;
31cdf0e10cSrcweir import com.sun.star.linguistic2.XDictionary;
32cdf0e10cSrcweir import com.sun.star.linguistic2.XDictionaryList;
33cdf0e10cSrcweir import com.sun.star.linguistic2.XDictionaryListEventListener;
34cdf0e10cSrcweir 
35cdf0e10cSrcweir /**
36cdf0e10cSrcweir * Testing <code>com.sun.star.linguistic2.XDictionaryList</code>
37cdf0e10cSrcweir * interface methods:
38cdf0e10cSrcweir * <ul>
39cdf0e10cSrcweir *   <li><code>getCount()</code></li>
40cdf0e10cSrcweir *   <li><code>getDictionaries()</code></li>
41cdf0e10cSrcweir *   <li><code>getDictionaryByName()</code></li>
42cdf0e10cSrcweir *   <li><code>addDictionary()</code></li>
43cdf0e10cSrcweir *   <li><code>removeDictionary()</code></li>
44cdf0e10cSrcweir *   <li><code>addDictionaryListEventListener()</code></li>
45cdf0e10cSrcweir *   <li><code>removeDictionaryListEventListener()</code></li>
46cdf0e10cSrcweir *   <li><code>beginCollectEvents()</code></li>
47cdf0e10cSrcweir *   <li><code>endCollectEvents()</code></li>
48cdf0e10cSrcweir *   <li><code>flushEvents()</code></li>
49cdf0e10cSrcweir *   <li><code>createDictionary()</code></li>
50cdf0e10cSrcweir * </ul> <p>
51cdf0e10cSrcweir * @see com.sun.star.linguistic2.XDictionaryList
52cdf0e10cSrcweir */
53cdf0e10cSrcweir public class _XDictionaryList extends MultiMethodTest {
54cdf0e10cSrcweir 
55cdf0e10cSrcweir     public XDictionaryList oObj = null;
56cdf0e10cSrcweir     public XDictionary addedDic = null;
57cdf0e10cSrcweir 
58cdf0e10cSrcweir     /**
59cdf0e10cSrcweir     * Flag for testing of listeners.
60cdf0e10cSrcweir     */
61cdf0e10cSrcweir     public boolean listenerCalled = false;
62cdf0e10cSrcweir 
63cdf0e10cSrcweir     /**
64cdf0e10cSrcweir     * Class implements interface <code>XDictionaryListEventListener</code>
65cdf0e10cSrcweir     * for test method <code>addDictionaryListEventListener</code>.
66cdf0e10cSrcweir     * @see com.sun.star.linguistic2.XDictionaryListEventListener
67cdf0e10cSrcweir     */
68cdf0e10cSrcweir     public class MyDictionaryListEventListener implements
69cdf0e10cSrcweir             XDictionaryListEventListener {
70cdf0e10cSrcweir 
disposing( EventObject oEvent )71cdf0e10cSrcweir         public void disposing ( EventObject oEvent ) {
72cdf0e10cSrcweir             log.println("Listener has been disposed");
73cdf0e10cSrcweir         }
processDictionaryListEvent( DictionaryListEvent aDicEvent)74cdf0e10cSrcweir         public void processDictionaryListEvent( DictionaryListEvent aDicEvent) {
75cdf0e10cSrcweir             listenerCalled = true;
76cdf0e10cSrcweir         }
77*170fb961SPedro Giffuni     }
78cdf0e10cSrcweir 
79cdf0e10cSrcweir     XDictionaryListEventListener listener = new MyDictionaryListEventListener();
80cdf0e10cSrcweir 
81cdf0e10cSrcweir     short count = 0;
82cdf0e10cSrcweir 
83cdf0e10cSrcweir     /**
84cdf0e10cSrcweir     * Test calls the method and checks returned value. <p>
85cdf0e10cSrcweir     * Has <b> OK </b> status if returned value is greater than zero. <p>
86cdf0e10cSrcweir     */
_getCount()87cdf0e10cSrcweir     public void _getCount() {
88cdf0e10cSrcweir         count = oObj.getCount();
89cdf0e10cSrcweir         tRes.tested("getCount()",(count > 0) );
90cdf0e10cSrcweir     }
91cdf0e10cSrcweir 
92cdf0e10cSrcweir     /**
93cdf0e10cSrcweir     * Test calls the method and checks number of obtained dictionaries
94cdf0e10cSrcweir     * with value that was returned by method <code>getCount</code>. <p>
95cdf0e10cSrcweir     * Has <b> OK </b> status if values are equal. <p>
96cdf0e10cSrcweir     * The following method tests are to be completed successfully before :
97cdf0e10cSrcweir     * <ul>
98cdf0e10cSrcweir     *  <li> <code> getCount() </code> : to have number of dictionaries </li>
99cdf0e10cSrcweir     * </ul>
100cdf0e10cSrcweir     */
_getDictionaries()101cdf0e10cSrcweir     public void _getDictionaries() {
102cdf0e10cSrcweir         requiredMethod("getCount()");
103cdf0e10cSrcweir 
104cdf0e10cSrcweir         XDictionary[] dics = oObj.getDictionaries();
105cdf0e10cSrcweir         boolean res = (dics.length == count);
106cdf0e10cSrcweir         if (!res) {
107cdf0e10cSrcweir             log.println("Expected: " + oObj.getCount());
108cdf0e10cSrcweir             log.println("Gained: " + dics.length);
109cdf0e10cSrcweir         }
110cdf0e10cSrcweir         tRes.tested("getDictionaries()", res);
111cdf0e10cSrcweir     }
112cdf0e10cSrcweir 
113cdf0e10cSrcweir     /**
114cdf0e10cSrcweir     * Test calls the method, makes some actions that leads to event
115cdf0e10cSrcweir     * <code>processDictionaryListEvent</code>, removes listener, checks flag
116cdf0e10cSrcweir     * <code>listenerCalled</code> and checks returned value. <p>
117cdf0e10cSrcweir     * Has <b> OK </b> status if returned value is true and value of flag
118cdf0e10cSrcweir     * <code>listenerCallled</code> is true. <p>
119cdf0e10cSrcweir     */
_addDictionaryListEventListener()120cdf0e10cSrcweir     public void _addDictionaryListEventListener() {
121cdf0e10cSrcweir         listenerCalled = false;
122cdf0e10cSrcweir 
123cdf0e10cSrcweir         XDictionary xDic = oObj.createDictionary("ListenDic",
124cdf0e10cSrcweir             new Locale("en","US","WIN"),
125cdf0e10cSrcweir             com.sun.star.linguistic2.DictionaryType.POSITIVE,"");
126cdf0e10cSrcweir 
127cdf0e10cSrcweir         boolean res = oObj.addDictionaryListEventListener(listener, false);
128cdf0e10cSrcweir 
129cdf0e10cSrcweir         oObj.flushEvents();
130cdf0e10cSrcweir         oObj.addDictionary(xDic);
131cdf0e10cSrcweir         xDic.add("Positiv", false, "");
132cdf0e10cSrcweir         xDic.setActive(true);
133cdf0e10cSrcweir         oObj.flushEvents();
134cdf0e10cSrcweir         oObj.removeDictionary(xDic);
135cdf0e10cSrcweir 
136cdf0e10cSrcweir         oObj.removeDictionaryListEventListener(listener);
137cdf0e10cSrcweir 
138cdf0e10cSrcweir         tRes.tested("addDictionaryListEventListener()",listenerCalled && res);
139cdf0e10cSrcweir     }
140cdf0e10cSrcweir 
141cdf0e10cSrcweir     /**
142cdf0e10cSrcweir     * Test calls the method, makes some actions that leads to event
143cdf0e10cSrcweir     * <code>processDictionaryListEvent</code>, checks flag
144cdf0e10cSrcweir     * <code>listenerCalled</code> and checks returned value. <p>
145cdf0e10cSrcweir     * Has <b> OK </b> status if returned value is false and value of flag
146cdf0e10cSrcweir     * <code>listenerCallled</code> is false. <p>
147cdf0e10cSrcweir     */
_removeDictionaryListEventListener()148cdf0e10cSrcweir     public void _removeDictionaryListEventListener() {
149cdf0e10cSrcweir         listenerCalled = false;
150cdf0e10cSrcweir 
151cdf0e10cSrcweir         XDictionary xDic = oObj.createDictionary("ListenDic",
152cdf0e10cSrcweir             new Locale("en","US","WIN"),
153cdf0e10cSrcweir             com.sun.star.linguistic2.DictionaryType.POSITIVE,"");
154cdf0e10cSrcweir 
155cdf0e10cSrcweir         oObj.addDictionaryListEventListener(listener,false);
156cdf0e10cSrcweir 
157cdf0e10cSrcweir         oObj.flushEvents();
158cdf0e10cSrcweir         oObj.addDictionary(xDic);
159cdf0e10cSrcweir         xDic.add("Positiv", false,"");
160cdf0e10cSrcweir         xDic.setActive(true);
161cdf0e10cSrcweir 
162cdf0e10cSrcweir         listenerCalled = false;
163cdf0e10cSrcweir         boolean res = oObj.removeDictionaryListEventListener(listener);
164cdf0e10cSrcweir 
165cdf0e10cSrcweir         oObj.flushEvents();
166cdf0e10cSrcweir         oObj.removeDictionary(xDic);
167cdf0e10cSrcweir 
168cdf0e10cSrcweir         tRes.tested(
169cdf0e10cSrcweir             "removeDictionaryListEventListener()",
170cdf0e10cSrcweir             listenerCalled == false && res == true );
171cdf0e10cSrcweir     }
172cdf0e10cSrcweir 
173cdf0e10cSrcweir     /**
174cdf0e10cSrcweir     * Test creates new dictionary, adds the dictionary to list and compares
175cdf0e10cSrcweir     * number of dictionaries after adding with number of dictionaries before.<p>
176cdf0e10cSrcweir     * Has <b> OK </b> status if number of dictionaries after method call is
177cdf0e10cSrcweir     * greater than number of dictionaries before method call. <p>
178cdf0e10cSrcweir     */
_addDictionary()179cdf0e10cSrcweir     public void _addDictionary() {
180cdf0e10cSrcweir         short previous = oObj.getCount();
181cdf0e10cSrcweir         addedDic = oObj.createDictionary("AddedDic",new Locale("en","US","WIN"),
182cdf0e10cSrcweir                         com.sun.star.linguistic2.DictionaryType.POSITIVE,"");
183cdf0e10cSrcweir         addedDic.add("Positiv",false,"");
184cdf0e10cSrcweir 
185cdf0e10cSrcweir         oObj.addDictionary(addedDic);
186cdf0e10cSrcweir 
187cdf0e10cSrcweir         short after = oObj.getCount();
188cdf0e10cSrcweir 
189cdf0e10cSrcweir         tRes.tested( "addDictionary()", (after > previous) );
190cdf0e10cSrcweir     }
191cdf0e10cSrcweir 
192cdf0e10cSrcweir     /**
193cdf0e10cSrcweir     * Test calls the method and compares number of dictionaries
194cdf0e10cSrcweir     * before method call and after. <p>
195cdf0e10cSrcweir     * Has <b> OK </b> status if number of dictionaries before method call is
196cdf0e10cSrcweir     * less than number of dictionaries after method call. <p>
197cdf0e10cSrcweir     */
_removeDictionary()198cdf0e10cSrcweir     public void _removeDictionary() {
199cdf0e10cSrcweir         short previous = oObj.getCount();
200cdf0e10cSrcweir         oObj.removeDictionary(addedDic);
201cdf0e10cSrcweir         short after = oObj.getCount();
202cdf0e10cSrcweir         tRes.tested("removeDictionary()",(after < previous) );
203cdf0e10cSrcweir     }
204cdf0e10cSrcweir 
205cdf0e10cSrcweir     /**
206cdf0e10cSrcweir     * Test calls the method and checks returned value. <p>
207cdf0e10cSrcweir     * Has <b> OK </b> status if returned value isn't null. <p>
208cdf0e10cSrcweir     */
_getDictionaryByName()209cdf0e10cSrcweir     public void _getDictionaryByName() {
210cdf0e10cSrcweir         XDictionary getting = oObj.getDictionaryByName("NegativDic");
211cdf0e10cSrcweir         tRes.tested("getDictionaryByName()", getting != null );
212cdf0e10cSrcweir     }
213cdf0e10cSrcweir 
214cdf0e10cSrcweir     /**
215cdf0e10cSrcweir     * Test calls the method and checks returned value. <p>
216cdf0e10cSrcweir     * Has <b> OK </b> status if returned value isn't null. <p>
217cdf0e10cSrcweir     */
_createDictionary()218cdf0e10cSrcweir     public void _createDictionary() {
219cdf0e10cSrcweir         XDictionary tmpDic = oObj.createDictionary("AddedDic",
220cdf0e10cSrcweir             new Locale("en","US","WIN"),
221cdf0e10cSrcweir             com.sun.star.linguistic2.DictionaryType.POSITIVE,"");
222cdf0e10cSrcweir         tRes.tested("createDictionary()", tmpDic != null );
223cdf0e10cSrcweir     }
224cdf0e10cSrcweir 
225cdf0e10cSrcweir     /**
226cdf0e10cSrcweir     * Test creates dictionary, adds dictionary list event listener,
227cdf0e10cSrcweir     * begins collect events, makes some actions that leads to event
228cdf0e10cSrcweir     * <code>processDictionaryListEvent</code>, ends collect events,
229cdf0e10cSrcweir     * removes the listener and checks the flag <code>listenerCalled</code> . <p>
230cdf0e10cSrcweir     * Has <b> OK </b> status if value of the flag is true. <p>
231cdf0e10cSrcweir     */
_beginCollectEvents()232cdf0e10cSrcweir     public void _beginCollectEvents() {
233cdf0e10cSrcweir         listenerCalled = false;
234cdf0e10cSrcweir 
235cdf0e10cSrcweir         XDictionary xDic = oObj.createDictionary("ListenDic",
236cdf0e10cSrcweir             new Locale("en","US","WIN"),
237cdf0e10cSrcweir             com.sun.star.linguistic2.DictionaryType.POSITIVE,"");
238cdf0e10cSrcweir 
239cdf0e10cSrcweir         oObj.addDictionaryListEventListener(listener,false);
240cdf0e10cSrcweir         oObj.beginCollectEvents();
241cdf0e10cSrcweir 
242cdf0e10cSrcweir         oObj.addDictionary(xDic);
243cdf0e10cSrcweir         xDic.add("Positiv",false,"");
244cdf0e10cSrcweir         xDic.setActive(true);
245cdf0e10cSrcweir 
246cdf0e10cSrcweir         oObj.removeDictionary(xDic);
247cdf0e10cSrcweir         oObj.endCollectEvents();
248cdf0e10cSrcweir 
249cdf0e10cSrcweir         oObj.removeDictionaryListEventListener(listener);
250cdf0e10cSrcweir 
251cdf0e10cSrcweir         tRes.tested("beginCollectEvents()", listenerCalled );
252cdf0e10cSrcweir     }
253cdf0e10cSrcweir 
254cdf0e10cSrcweir     /**
255cdf0e10cSrcweir     * Test does nothing. <p>
256cdf0e10cSrcweir     * Has <b> OK </b> status if method
257cdf0e10cSrcweir     * <code>addDictionaryListEventListener()</code> was completed
258cdf0e10cSrcweir     * successfully. <p>
259cdf0e10cSrcweir     * The following method tests are to be completed successfully before :
260cdf0e10cSrcweir     * <ul>
261cdf0e10cSrcweir     *  <li> <code> addDictionaryListEventListener() </code> :
262cdf0e10cSrcweir     *  if listener adding worked, flushEvents was already used and worked </li>
263cdf0e10cSrcweir     * </ul>
264cdf0e10cSrcweir     */
_flushEvents()265cdf0e10cSrcweir     public void _flushEvents() {
266cdf0e10cSrcweir         requiredMethod("addDictionaryListEventListener()");
267cdf0e10cSrcweir         // if listener adding worked, flushEvents was already used and worked
268cdf0e10cSrcweir         tRes.tested("flushEvents()",true);
269cdf0e10cSrcweir     }
270cdf0e10cSrcweir 
271cdf0e10cSrcweir     /**
272cdf0e10cSrcweir     * Test does nothing. <p>
273cdf0e10cSrcweir     * Has <b> OK </b> status if method
274cdf0e10cSrcweir     * <code>beginCollectEvents()</code> was completed successfully. <p>
275cdf0e10cSrcweir     * The following method tests are to be completed successfully before :
276cdf0e10cSrcweir     * <ul>
277cdf0e10cSrcweir     *  <li> <code> beginCollectEvents() </code> :
278cdf0e10cSrcweir     *  if beginCollectEvents() worked then endCollectEvents was already
279cdf0e10cSrcweir     *  used and worked </li>
280cdf0e10cSrcweir     * </ul>
281cdf0e10cSrcweir     */
_endCollectEvents()282cdf0e10cSrcweir     public void _endCollectEvents() {
283cdf0e10cSrcweir         requiredMethod("beginCollectEvents()");
284cdf0e10cSrcweir         // if beginCollectEvents() worked, endCollectEvents
285cdf0e10cSrcweir         // was already used and worked
286cdf0e10cSrcweir         tRes.tested("endCollectEvents()",true);
287cdf0e10cSrcweir     }
288cdf0e10cSrcweir 
289cdf0e10cSrcweir }  // finish class _XDictionaryList
290cdf0e10cSrcweir 
291cdf0e10cSrcweir 
292