1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski package ifc.container; 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski import lib.MultiMethodTest; 27*b1cdbd2cSJim Jagielski 28*b1cdbd2cSJim Jagielski import com.sun.star.container.NoSuchElementException; 29*b1cdbd2cSJim Jagielski import com.sun.star.container.XNameAccess; 30*b1cdbd2cSJim Jagielski 31*b1cdbd2cSJim Jagielski /** 32*b1cdbd2cSJim Jagielski * Testing <code>com.sun.star.container.XNameAccess</code> interface methods. <p> 33*b1cdbd2cSJim Jagielski * Test is <b> NOT </b> multithread compilant. <p> 34*b1cdbd2cSJim Jagielski */ 35*b1cdbd2cSJim Jagielski public class _XNameAccess extends MultiMethodTest { 36*b1cdbd2cSJim Jagielski public XNameAccess oObj = null; 37*b1cdbd2cSJim Jagielski public String[] Names = null; 38*b1cdbd2cSJim Jagielski 39*b1cdbd2cSJim Jagielski /** 40*b1cdbd2cSJim Jagielski * Test calls the method and checks return value and that 41*b1cdbd2cSJim Jagielski * no exceptions were thrown. <p> 42*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if the method successfully returns 43*b1cdbd2cSJim Jagielski * not null value and no exceptions were thrown. <p> 44*b1cdbd2cSJim Jagielski */ _getElementNames()45*b1cdbd2cSJim Jagielski public void _getElementNames() { 46*b1cdbd2cSJim Jagielski boolean result = true; 47*b1cdbd2cSJim Jagielski log.println("getting elements names"); 48*b1cdbd2cSJim Jagielski Names = oObj.getElementNames(); 49*b1cdbd2cSJim Jagielski 50*b1cdbd2cSJim Jagielski result = (Names != null); 51*b1cdbd2cSJim Jagielski tRes.tested("getElementNames()", result); 52*b1cdbd2cSJim Jagielski return; 53*b1cdbd2cSJim Jagielski } // end getElementNames() 54*b1cdbd2cSJim Jagielski 55*b1cdbd2cSJim Jagielski /** 56*b1cdbd2cSJim Jagielski * First test calls the method with existing element name, 57*b1cdbd2cSJim Jagielski * then with non existing. <p> 58*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if in the first case the method returns 59*b1cdbd2cSJim Jagielski * true and in the second - false. <p> 60*b1cdbd2cSJim Jagielski * The following method tests are to be completed successfully before : 61*b1cdbd2cSJim Jagielski * <ul> 62*b1cdbd2cSJim Jagielski * <li> <code> getElementNames </code> : to retrieve at least one 63*b1cdbd2cSJim Jagielski * element name. </li> 64*b1cdbd2cSJim Jagielski * </ul> 65*b1cdbd2cSJim Jagielski */ _hasByName()66*b1cdbd2cSJim Jagielski public void _hasByName() { 67*b1cdbd2cSJim Jagielski requiredMethod("getElementNames()"); 68*b1cdbd2cSJim Jagielski log.println("testing hasByName() ..."); 69*b1cdbd2cSJim Jagielski 70*b1cdbd2cSJim Jagielski boolean result = true; 71*b1cdbd2cSJim Jagielski boolean loc_result = true; 72*b1cdbd2cSJim Jagielski 73*b1cdbd2cSJim Jagielski String name = null; 74*b1cdbd2cSJim Jagielski 75*b1cdbd2cSJim Jagielski if (Names.length != 0) { 76*b1cdbd2cSJim Jagielski name = Names[0]; 77*b1cdbd2cSJim Jagielski log.println("testing hasByName() with valid name '" + name + "'"); 78*b1cdbd2cSJim Jagielski loc_result = oObj.hasByName(name); 79*b1cdbd2cSJim Jagielski log.println("hasByName with valid names: " + loc_result); 80*b1cdbd2cSJim Jagielski result &= loc_result; 81*b1cdbd2cSJim Jagielski } 82*b1cdbd2cSJim Jagielski 83*b1cdbd2cSJim Jagielski name = "non_existant_name__1234"; 84*b1cdbd2cSJim Jagielski log.println("testing hasByName() with invalid name"); 85*b1cdbd2cSJim Jagielski try { 86*b1cdbd2cSJim Jagielski loc_result = !oObj.hasByName(name); 87*b1cdbd2cSJim Jagielski } catch ( Exception nsee) { 88*b1cdbd2cSJim Jagielski log.println("Expected exception was thrown"); 89*b1cdbd2cSJim Jagielski } 90*b1cdbd2cSJim Jagielski log.println("hasByName with invalid names: " + loc_result); 91*b1cdbd2cSJim Jagielski result &= loc_result; 92*b1cdbd2cSJim Jagielski 93*b1cdbd2cSJim Jagielski tRes.tested("hasByName()", result); 94*b1cdbd2cSJim Jagielski 95*b1cdbd2cSJim Jagielski return; 96*b1cdbd2cSJim Jagielski } // end hasByName() 97*b1cdbd2cSJim Jagielski 98*b1cdbd2cSJim Jagielski 99*b1cdbd2cSJim Jagielski /** 100*b1cdbd2cSJim Jagielski * First test calls the method with existing element name, 101*b1cdbd2cSJim Jagielski * then with non existing. <p> 102*b1cdbd2cSJim Jagielski * Has <b> OK </b> status if in the first case the method returns 103*b1cdbd2cSJim Jagielski * not null value and no exceptions were thrown, 104*b1cdbd2cSJim Jagielski * and in the second case <code>NoSuchElementException</code> was 105*b1cdbd2cSJim Jagielski * thrown. <p> 106*b1cdbd2cSJim Jagielski * The following method tests are to be completed successfully before : 107*b1cdbd2cSJim Jagielski * <ul> 108*b1cdbd2cSJim Jagielski * <li> <code> getElementNames </code> : to retrieve at least one 109*b1cdbd2cSJim Jagielski * element name. </li> 110*b1cdbd2cSJim Jagielski * </ul> 111*b1cdbd2cSJim Jagielski */ _getByName()112*b1cdbd2cSJim Jagielski public void _getByName() { 113*b1cdbd2cSJim Jagielski log.println("reqiure getElementNames() ..."); 114*b1cdbd2cSJim Jagielski requiredMethod("getElementNames()"); 115*b1cdbd2cSJim Jagielski log.println("require getElementNames() ...OK"); 116*b1cdbd2cSJim Jagielski log.println("testing getByName() ..."); 117*b1cdbd2cSJim Jagielski 118*b1cdbd2cSJim Jagielski boolean result = true; 119*b1cdbd2cSJim Jagielski boolean loc_result = true; 120*b1cdbd2cSJim Jagielski 121*b1cdbd2cSJim Jagielski String name = null; 122*b1cdbd2cSJim Jagielski 123*b1cdbd2cSJim Jagielski if (Names.length != 0) { 124*b1cdbd2cSJim Jagielski name = Names[0]; 125*b1cdbd2cSJim Jagielski log.println("testing with valid name '" + name + "'"); 126*b1cdbd2cSJim Jagielski try { 127*b1cdbd2cSJim Jagielski loc_result = (null != oObj.getByName(name)); 128*b1cdbd2cSJim Jagielski } catch (Exception e) { 129*b1cdbd2cSJim Jagielski log.println("Exception! - FAILED"); 130*b1cdbd2cSJim Jagielski log.println(e.toString()); 131*b1cdbd2cSJim Jagielski loc_result = false; 132*b1cdbd2cSJim Jagielski } 133*b1cdbd2cSJim Jagielski log.println("getByName with valid name: " + loc_result); 134*b1cdbd2cSJim Jagielski result &= loc_result; 135*b1cdbd2cSJim Jagielski } 136*b1cdbd2cSJim Jagielski 137*b1cdbd2cSJim Jagielski log.println("testing with non-existant name"); 138*b1cdbd2cSJim Jagielski name = "non_existant_name__1234"; 139*b1cdbd2cSJim Jagielski try { 140*b1cdbd2cSJim Jagielski loc_result = (null != oObj.getByName(name)); 141*b1cdbd2cSJim Jagielski loc_result = false; 142*b1cdbd2cSJim Jagielski log.println("getByName: Exception expected - FAILED"); 143*b1cdbd2cSJim Jagielski } catch (NoSuchElementException e) { 144*b1cdbd2cSJim Jagielski log.println("getByName: Expected exception - OK"); 145*b1cdbd2cSJim Jagielski loc_result = true; 146*b1cdbd2cSJim Jagielski } catch (com.sun.star.lang.WrappedTargetException e) { 147*b1cdbd2cSJim Jagielski log.println("getByName: Wrong exception - " + e + " - FAILED"); 148*b1cdbd2cSJim Jagielski loc_result = false; 149*b1cdbd2cSJim Jagielski } 150*b1cdbd2cSJim Jagielski 151*b1cdbd2cSJim Jagielski result &= loc_result; 152*b1cdbd2cSJim Jagielski tRes.tested("getByName()", result); 153*b1cdbd2cSJim Jagielski 154*b1cdbd2cSJim Jagielski return; 155*b1cdbd2cSJim Jagielski 156*b1cdbd2cSJim Jagielski } // end getByName() 157*b1cdbd2cSJim Jagielski } /// finished class _XNameAccess 158*b1cdbd2cSJim Jagielski 159*b1cdbd2cSJim Jagielski 160*b1cdbd2cSJim Jagielski 161