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