| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| package com.sun.star.lib.uno.helper; |
| |
| import com.sun.star.uno.XInterface; |
| import java.util.Iterator; |
| import java.util.ListIterator; |
| import com.sun.star.uno.Type; |
| import com.sun.star.uno.XWeak; |
| import com.sun.star.lang.XTypeProvider; |
| import com.sun.star.lang.XEventListener; |
| import java.util.ArrayList; |
| import com.sun.star.lang.XMultiComponentFactory; |
| import com.sun.star.uno.XComponentContext; |
| import com.sun.star.comp.helper.Bootstrap; |
| import com.sun.star.bridge.XUnoUrlResolver; |
| import com.sun.star.uno.UnoRuntime; |
| import com.sun.star.lang.XMultiServiceFactory; |
| import com.sun.star.lang.XSingleServiceFactory; |
| import com.sun.star.uno.IQueryInterface; |
| //import com.sun.star.lib.uno.environments.java.IRequester; |
| import com.sun.star.bridge.XBridge; |
| //import com.sun.star.lib.uno.environments.java.Proxy; |
| import com.sun.star.lib.uno.environments.java.java_environment; |
| import com.sun.star.lib.uno.typedesc.TypeDescription; |
| import java.util.HashMap; |
| import java.util.List; |
| import java.util.NoSuchElementException; |
| |
| public class InterfaceContainer_Test |
| { |
| java_environment env= new java_environment(null); |
| /** Creates a new instance of InterfaceContainerTest */ |
| AWeakBase obj1,obj2,obj3,obj4; |
| Object proxyObj1Weak1; |
| Object proxyObj3Weak1; |
| Object proxyObj3Weak2; |
| Object proxyObj3TypeProv; |
| Object proxyObj2TypeProv; |
| //contains original objects |
| List list1; |
| //contains original objects + proxies |
| List list2; |
| //contains original object + proxies + null value |
| List list3; |
| |
| public InterfaceContainer_Test() |
| { |
| obj1= new AWeakBase(); |
| obj2= new AWeakBase(); |
| obj3= new AWeakBase(); |
| obj4= new AWeakBase(); |
| proxyObj1Weak1= ProxyProvider.createProxy(obj1, XWeak.class); |
| proxyObj3Weak1= ProxyProvider.createProxy(obj3, XWeak.class); |
| proxyObj3Weak2= ProxyProvider.createProxy(obj3, XWeak.class); |
| proxyObj2TypeProv= ProxyProvider.createProxy(obj2, XTypeProvider.class); |
| proxyObj3TypeProv= ProxyProvider.createProxy(obj3, XTypeProvider.class); |
| |
| list1= new ArrayList(); |
| list1.add(obj1); |
| list1.add(obj2); |
| list1.add(obj3); |
| list2= new ArrayList(); |
| list2.add(obj1); |
| list2.add(proxyObj2TypeProv); |
| list2.add(proxyObj3TypeProv); |
| list3= new ArrayList(); |
| list3.add(obj1); |
| list3.add(null); |
| list3.add(proxyObj2TypeProv); |
| list3.add(proxyObj3Weak1); |
| } |
| |
| /** Tests add(object), size(), clear(); |
| */ |
| public boolean add() |
| { |
| System.out.println("Testing List.add(Object), List.size(), List.clear(), List.isEmpty()"); |
| InterfaceContainer cont= new InterfaceContainer(); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| |
| r[i++]= cont.size() == 0; |
| r[i++]= cont.add(obj1); |
| r[i++]= cont.size() == 1; |
| r[i++]= cont.add(obj1); // add the same object again |
| r[i++]= cont.size() == 2; |
| r[i++]= cont.add(proxyObj3TypeProv); |
| r[i++]= cont.size() == 3; |
| r[i++]= cont.isEmpty() ? false: true; |
| cont.clear(); |
| r[i++]= cont.size() == 0; |
| r[i++]= cont.isEmpty(); |
| |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if (bOk == false) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| /**Tests list.addAll(Collection c), list.addAll(int index, Collection c) |
| */ |
| public boolean listConstructors() |
| { |
| System.out.println("Testing Constructors of InterfaceContainer"); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| InterfaceContainer cont= new InterfaceContainer(100); |
| |
| r[i++]= cont.elementData.length == 100; |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if (bOk == false) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| public boolean trimToSize() |
| { |
| System.out.println("Testing InterfaceContainer.trimToSize"); |
| InterfaceContainer cont= new InterfaceContainer(100); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| cont.trimToSize(); |
| r[i++]= cont.isEmpty(); |
| cont= new InterfaceContainer(10); |
| cont.addAll(list1); |
| cont.trimToSize(); |
| r[i++]= cont.elementData.length == list1.size(); |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if (bOk == false) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| public boolean ensureCapacity() |
| { |
| System.out.println("Testing InterfaceContainer.ensureCapacity"); |
| InterfaceContainer cont= new InterfaceContainer(10); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| |
| cont.ensureCapacity(9); |
| r[i++]= cont.elementData.length >= 9; |
| cont.ensureCapacity(11); |
| r[i++]= cont.elementData.length >= 11; |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if (bOk == false) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| public boolean addAll() |
| { |
| System.out.println("Testing List.addAll(Collection c), List.addAll(int index, Collection c)"); |
| InterfaceContainer cont= new InterfaceContainer(); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| |
| r[i++]= cont.addAll(list1); |
| r[i++]= cont.size() == list1.size(); |
| for (int c= 0; c < cont.size(); c++) |
| { |
| r[i++]= list1.get(c) == cont.get(c); |
| } |
| cont.add(obj1); |
| r[i++]= cont.addAll(1, list2); |
| r[i++]= cont.get(0) == list1.get(0); |
| r[i++]= cont.get(1) == list2.get(0); |
| r[i++]= cont.get(2) == list2.get(1); |
| r[i++]= cont.get(3) == list2.get(2); |
| r[i++]= cont.get(4) == list1.get(1); |
| r[i++]= cont.get(5) == list1.get(2); |
| r[i++]= cont.get(6) == obj1; |
| cont.clear(); |
| cont.addAll(list3); |
| // the null element in list3 at index 1 is not added to cont |
| r[i++]= cont.get(0) == list3.get(0); |
| r[i++]= cont.get(1) == list3.get(2); |
| r[i++]= cont.get(2) == list3.get(3); |
| |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if (bOk == false) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| /** Tests List.add(int index, Object element), List.get(int index) |
| */ |
| public boolean get() |
| { |
| System.out.println("Testing List.add(int index, Object element), List.get(int index)"); |
| InterfaceContainer cont= new InterfaceContainer(); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| |
| cont.add(0, obj1); |
| cont.add(1, obj2); |
| cont.add(1, proxyObj3Weak1); |
| cont.add(3, obj3); |
| r[i++]= cont.get(0) == obj1; |
| r[i++]= cont.get(1) == proxyObj3Weak1; |
| r[i++]= cont.get(2) == obj2; |
| r[i++]= cont.get(3) == obj3; |
| try |
| { |
| cont.add(5, obj1); |
| }catch( java.lang.Exception e) |
| { |
| r[i++]= true; |
| } |
| |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if (bOk == false) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| /** Tests List.contains |
| */ |
| public boolean contains() |
| { |
| System.out.println("Testing List.contains()"); |
| InterfaceContainer cont= new InterfaceContainer(); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| |
| r[i++]= cont.contains(obj1) ? false : true; // nothing in the list |
| cont.add(obj1); |
| cont.add(proxyObj2TypeProv); |
| cont.add(proxyObj3TypeProv); |
| r[i++]= cont.contains(obj1); |
| r[i++]= cont.contains(obj2); |
| r[i++]= cont.contains(proxyObj3Weak1); |
| r[i++]= cont.contains(proxyObj3Weak2); |
| r[i++]= cont.contains(proxyObj1Weak1); |
| r[i++]= cont.contains(obj3); |
| r[i++]= cont.contains(null) ? false : true; |
| |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if ( ! bOk ) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| /** Tests List.containsAll |
| */ |
| public boolean containsAll() |
| { |
| System.out.println("Testing List.containsAll"); |
| InterfaceContainer cont= new InterfaceContainer(); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| cont.addAll(list1); |
| r[i++]= cont.containsAll(list1); |
| cont.clear(); |
| cont.addAll(list2); |
| r[i++]= cont.containsAll(list2); |
| cont.clear(); |
| cont.addAll(list3); // the null element in list3 is not added to cont |
| r[i++]= cont.containsAll(list3) ? false : true; |
| cont.clear(); |
| for( int x= 0; x < 6; x++) |
| cont.add(obj4); |
| r[i++]= cont.contains(list1) ? false : true; |
| cont.add(1, list1.get(0)); |
| cont.add(3, list1.get(1)); |
| cont.add(5, list1.get(2)); |
| r[i++]= cont.contains(list1) ? false : true; |
| |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if ( ! bOk ) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| /** Tests List.indexOf, List.lastIndexOf |
| */ |
| public boolean indexOf() |
| { |
| System.out.println("Testing List.indexOf(Object element), List.lastIndexOf(Object element)"); |
| InterfaceContainer cont= new InterfaceContainer(); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| cont.addAll(list1); |
| cont.addAll(list1); |
| r[i++]= cont.indexOf(obj3) == 2; |
| r[i++]= cont.lastIndexOf(obj3) == 5; |
| cont.clear(); |
| cont.addAll(list2); |
| cont.addAll(list2); |
| r[i++]= cont.indexOf(proxyObj3Weak1) == 2; |
| r[i++]= cont.lastIndexOf(proxyObj3Weak2) == 5; |
| |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if ( ! bOk ) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| /** Tests List.remove(int index), List.remove(Object element), List.removeAll(Collection c) |
| */ |
| public boolean remove() |
| { |
| System.out.println("Testing List.remove(int index), List.remove(Object element), List.removeAll(Collection c)"); |
| InterfaceContainer cont= new InterfaceContainer(); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| |
| cont.addAll(list2); |
| r[i++]= proxyObj2TypeProv.equals(cont.remove(1)); |
| r[i++]= cont.size() == 2; |
| cont.clear(); |
| cont.addAll(list2); |
| r[i++]= cont.remove(obj1); |
| r[i++]= cont.remove(proxyObj2TypeProv); |
| r[i++]= cont.remove(proxyObj3Weak2); |
| r[i++]= cont.isEmpty(); |
| cont.clear(); |
| cont.addAll(list3); |
| r[i++]= cont.removeAll(list3); |
| r[i++]= cont.isEmpty(); |
| cont.addAll(list2); |
| |
| List list= new ArrayList(); |
| list.add(list2.get(0)); |
| list.add(list2.get(1)); |
| list.add(proxyObj3Weak2); |
| r[i++]= cont.removeAll(list); |
| r[i++]= cont.isEmpty(); |
| |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if ( ! bOk ) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| /** Tests List.retainAll |
| */ |
| public boolean retainAll() |
| { |
| System.out.println("Testing List.retainAll(Collection c)"); |
| InterfaceContainer cont= new InterfaceContainer(); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| |
| cont.addAll(list1); //obj1, obj2, obj3 |
| cont.addAll(list2); //obj1, proxyObj2TypeProv, proxyObj3TypeProv |
| List list = new ArrayList(); |
| list.add(obj1); |
| list.add(proxyObj3Weak1); |
| |
| r[i++]= cont.retainAll(list); |
| r[i++]= cont.get(0) == obj1; |
| r[i++]= cont.get(1) == obj3; |
| r[i++]= cont.get(2) == obj1; |
| r[i++]= cont.get(3) == proxyObj3TypeProv; |
| r[i++]= 4 == cont.size(); |
| |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if ( ! bOk ) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| /** Tests List.set(int index, Object element) |
| **/ |
| public boolean set() |
| { |
| System.out.println("Testing List.set(int index, Object element)"); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| InterfaceContainer cont= new InterfaceContainer(); |
| cont.addAll(list2); |
| Object o1= cont.set(0, obj3); |
| Object o2= cont.set(2, proxyObj3Weak1); |
| r[i++]= o1 == list2.get(0); |
| r[i++]= o2 == list2.get(2); |
| r[i++]= cont.get(0) == obj3; |
| r[i++]= cont.get(2) == proxyObj3Weak1; |
| |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if ( ! bOk ) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| /** Tests List.toArray(), List.toArray(Object[] a) |
| */ |
| public boolean toArray() |
| { |
| System.out.println("Testing List.toArray(), List.toArray(Object[] a)"); |
| InterfaceContainer cont= new InterfaceContainer(); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| |
| cont.addAll(list1); |
| Object[] ar= cont.toArray(); |
| Object[] arOrig= list1.toArray(); |
| r[i++]= ar.length == arOrig.length; |
| |
| r[i]= true; |
| for (int c= 0; c < ar.length; c++) |
| r[i]= r[i] && ar[c] == arOrig[c]; |
| |
| i++; |
| XWeak[] arWeak= new XWeak[3]; |
| XWeak[] arWeak2= (XWeak[])cont.toArray(arWeak); |
| r[i++]= ar.length == arWeak2.length; |
| r[i]= true; |
| for (int c= 0; c < ar.length; c++) |
| r[i]= r[i] && ar[c] == arWeak2[c]; |
| |
| i++; |
| |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if ( ! bOk ) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| public boolean Iterator_next() |
| { |
| System.out.println("Testing InterfaceContainer.iterator, Iterator.next()"); |
| InterfaceContainer cont= new InterfaceContainer(); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| |
| cont.addAll(list1); |
| Iterator it= cont.iterator(); |
| r[i++]= it.next() == list1.get(0); |
| r[i++]= it.next() == list1.get(1); |
| r[i++]= it.next() == list1.get(2); |
| try |
| { |
| it.next(); |
| }catch(java.util.NoSuchElementException ne) |
| { |
| r[i++]= true; |
| }catch(Exception e) |
| { |
| r[i++]= false; |
| } |
| |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if ( ! bOk ) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| public boolean Iterator_hasNext() |
| { |
| System.out.println("Testing, Iterator.next()"); |
| InterfaceContainer cont= new InterfaceContainer(); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| |
| Iterator it= cont.iterator(); |
| r[i++]= ! it.hasNext(); |
| cont.addAll(list1); |
| it= cont.iterator(); |
| r[i++]= it.hasNext(); |
| it.next(); |
| r[i++]= it.hasNext(); |
| it.next(); |
| r[i++]= it.hasNext(); |
| it.next(); |
| r[i++]= ! it.hasNext(); |
| |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if ( ! bOk ) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| public boolean Iterator_remove() |
| { |
| System.out.println("Testing, Iterator.remove()"); |
| InterfaceContainer cont= new InterfaceContainer(); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| |
| Iterator it= cont.iterator(); |
| try |
| { |
| it.remove(); |
| } |
| catch( IllegalStateException ie) |
| { |
| r[i++]= true; |
| } |
| catch(java.lang.Exception e) |
| { |
| r[i++]= false; |
| } |
| cont.add(obj1); |
| it= cont.iterator(); |
| it.next(); |
| it.remove(); |
| r[i++]= cont.isEmpty(); |
| try |
| { |
| it.remove(); |
| } |
| catch (IllegalStateException ie) |
| { |
| r[i++]= true; |
| } |
| catch (Exception e) |
| { |
| r[i++]= false; |
| } |
| cont.clear(); |
| cont.addAll(list1); |
| it= cont.iterator(); |
| while (it.hasNext()) |
| { |
| it.next(); |
| it.remove(); |
| } |
| r[i++]= cont.isEmpty(); |
| |
| // 2 iterators, remove must not impair the other iterator |
| cont.clear(); |
| cont.addAll(list1); |
| int size= cont.size(); |
| it= cont.iterator(); |
| Iterator it2= cont.iterator(); |
| while (it.hasNext()) |
| { |
| it.next(); |
| it.remove(); |
| } |
| try |
| { |
| for( int c= 0; c < size; c++) |
| it2.next(); |
| r[i++]= true; |
| } |
| catch(Exception e) |
| { |
| r[i++]= false; |
| } |
| r[i++]= cont.size() == 0; |
| |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if ( ! bOk ) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| public boolean ListIterator_next() |
| { |
| System.out.println("Testing InterfaceContainer.listIerator, ListIterator.next()"); |
| InterfaceContainer cont= new InterfaceContainer(); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| |
| cont.addAll(list1); |
| Iterator it= cont.listIterator(); |
| r[i++]= it.next() == list1.get(0); |
| r[i++]= it.next() == list1.get(1); |
| r[i++]= it.next() == list1.get(2); |
| try |
| { |
| it.next(); |
| }catch(java.util.NoSuchElementException ne) |
| { |
| r[i++]= true; |
| }catch(Exception e) |
| { |
| r[i++]= false; |
| } |
| |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if ( ! bOk ) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| public boolean ListIterator_hasNext() |
| { |
| System.out.println("Testing ListIterator.hasNext()"); |
| InterfaceContainer cont= new InterfaceContainer(); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| |
| Iterator it= cont.listIterator(); |
| r[i++]= ! it.hasNext(); |
| cont.addAll(list1); |
| it= cont.listIterator(); |
| r[i++]= it.hasNext(); |
| it.next(); |
| r[i++]= it.hasNext(); |
| it.next(); |
| r[i++]= it.hasNext(); |
| it.next(); |
| r[i++]= ! it.hasNext(); |
| |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if ( ! bOk ) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| public boolean ListIterator_remove() |
| { |
| System.out.println("Testing ListIterator.remove()"); |
| InterfaceContainer cont= new InterfaceContainer(); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| |
| ListIterator it= cont.listIterator(); |
| try |
| { |
| it.remove(); |
| } |
| catch( IllegalStateException ie) |
| { |
| r[i++]= true; |
| } |
| catch(java.lang.Exception e) |
| { |
| r[i++]= false; |
| } |
| cont.add(obj1); |
| it= cont.listIterator(); |
| it.next(); |
| it.remove(); |
| r[i++]= cont.isEmpty(); |
| try |
| { |
| it.remove(); |
| } |
| catch (IllegalStateException ie) |
| { |
| r[i++]= true; |
| } |
| catch (Exception e) |
| { |
| r[i++]= false; |
| } |
| cont.clear(); |
| cont.addAll(list1); |
| it= cont.listIterator(); |
| while (it.hasNext()) |
| { |
| it.next(); |
| it.remove(); |
| } |
| r[i++]= cont.isEmpty(); |
| |
| // 2 iterators, remove must not impair the other iterator |
| cont.clear(); |
| cont.addAll(list1); |
| int size= cont.size(); |
| it= cont.listIterator(); |
| Iterator it2= cont.listIterator(); |
| while (it.hasNext()) |
| { |
| it.next(); |
| it.remove(); |
| } |
| try |
| { |
| for( int c= 0; c < size; c++) |
| it2.next(); |
| r[i++]= true; |
| } |
| catch(Exception e) |
| { |
| r[i++]= false; |
| } |
| r[i++]= cont.size() == 0; |
| |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if ( ! bOk ) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| public boolean ListIterator_hasPrevious() |
| { |
| System.out.println("Testing ListIterator.hasPrevious()"); |
| InterfaceContainer cont= new InterfaceContainer(); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| |
| ListIterator it= cont.listIterator(); |
| r[i++]= ! it.hasPrevious(); |
| cont.addAll(list1); |
| it= cont.listIterator(); |
| while (it.hasNext()) |
| { |
| it.next(); |
| r[i++]= it.hasPrevious(); |
| } |
| |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if ( ! bOk ) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| public boolean ListIterator_previous() |
| { |
| System.out.println("Testing ListIterator.previous()"); |
| InterfaceContainer cont= new InterfaceContainer(); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| boolean bOk= true; |
| |
| cont.addAll(list1); |
| // go to the end of our list and list1 |
| ListIterator it= cont.listIterator(); |
| while (it.hasNext()) |
| it.next(); |
| ListIterator it_list1= list1.listIterator(); |
| while (it_list1.hasNext()) |
| it_list1.next(); |
| |
| while (it.hasPrevious()) |
| { |
| r[i++]= it.previous() == it_list1.previous(); |
| } |
| try |
| { |
| it.previous(); |
| r[i++]= false; |
| } |
| catch (java.util.NoSuchElementException e) |
| { |
| r[i++]=true; |
| } |
| |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if ( ! bOk ) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| public boolean ListIterator_nextIndex() |
| { |
| System.out.println("Testing ListIterator.nextIndex()"); |
| InterfaceContainer cont= new InterfaceContainer(); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| boolean bOk= true; |
| |
| ListIterator it= cont.listIterator(); |
| cont.addAll(list1); |
| it= cont.listIterator(); |
| r[i++]= it.nextIndex() == 0; |
| it.next(); |
| r[i++]= it.nextIndex() == 1; |
| it.next(); |
| r[i++]= it.nextIndex() == 2; |
| |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if ( ! bOk ) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| public boolean ListIterator_previousIndex() |
| { |
| System.out.println("Testing ListIterator.previousIndex()"); |
| InterfaceContainer cont= new InterfaceContainer(); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| boolean bOk= true; |
| |
| ListIterator it= cont.listIterator(); |
| cont.addAll(list1); |
| it= cont.listIterator(); |
| while (it.hasNext()) |
| it.next(); |
| |
| r[i++]= it.previousIndex() == 2; |
| it.previous(); |
| r[i++]= it.previousIndex() == 1; |
| it.previous(); |
| r[i++]= it.previousIndex() == 0; |
| it.previous(); |
| |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if ( ! bOk ) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| public boolean ListIterator_add() |
| { |
| System.out.println("Testing ListIterator.add()"); |
| InterfaceContainer cont= new InterfaceContainer(); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| boolean bOk= true; |
| |
| ListIterator it= cont.listIterator(); |
| it.add(obj1); |
| r[i++]= cont.size() == 1; |
| it.add(obj2); |
| r[i++]= cont.size() == 2; |
| it.add(obj3); |
| r[i++]= it.previous() == obj3; |
| r[i++]= it.previous() == obj2; |
| r[i++]= it.previous() == obj1; |
| |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if ( ! bOk ) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| public boolean disposeAndClear() |
| { |
| System.out.println("Testing InterfaceContainer.disposeAndClear"); |
| InterfaceContainer cont= new InterfaceContainer(10); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| |
| cont.add(obj1); |
| cont.add(obj2); |
| cont.add(obj3); |
| cont.add(proxyObj1Weak1); |
| cont.add(proxyObj3TypeProv); |
| System.out.println("Two proxies are called. Check the output:"); |
| cont.disposeAndClear(new com.sun.star.lang.EventObject()); |
| r[i++]= obj1.nDisposingCalled == 1; |
| r[i++]= obj2.nDisposingCalled == 1; |
| r[i++]= obj3.nDisposingCalled == 1; |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if (bOk == false) |
| System.out.println("Failed"); |
| else |
| System.out.println("Ok"); |
| return bOk; |
| } |
| |
| |
| public static void main(String[] args) |
| { |
| InterfaceContainer_Test test= new InterfaceContainer_Test(); |
| boolean r[]= new boolean[50]; |
| int i= 0; |
| r[i++]= test.listConstructors(); |
| r[i++]= test.trimToSize(); |
| r[i++]= test.ensureCapacity(); |
| r[i++]= test.add(); |
| r[i++]= test.indexOf(); |
| r[i++]= test.contains(); |
| r[i++]= test.containsAll(); |
| r[i++]= test.get(); |
| r[i++]= test.addAll(); |
| r[i++]= test.remove(); |
| r[i++]= test.retainAll(); |
| r[i++]= test.set(); |
| r[i++]= test.toArray(); |
| r[i++]= test.Iterator_next(); |
| r[i++]= test.Iterator_hasNext(); |
| r[i++]= test.Iterator_remove(); |
| r[i++]= test.ListIterator_next(); |
| r[i++]= test.ListIterator_hasNext(); |
| r[i++]= test.ListIterator_remove(); |
| r[i++]= test.ListIterator_hasPrevious(); |
| r[i++]= test.ListIterator_previous(); |
| r[i++]= test.ListIterator_nextIndex(); |
| r[i++]= test.ListIterator_previousIndex(); |
| r[i++]= test.ListIterator_add(); |
| r[i++]= test.disposeAndClear(); |
| boolean bOk= true; |
| for (int c= 0; c < i; c++) |
| bOk= bOk && r[c]; |
| if ( ! bOk ) |
| System.out.println("Test finished.\nErrors occured!!!"); |
| else |
| System.out.println("Test finished. \nNo errors."); |
| |
| } |
| |
| } |