1*ef39d40dSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*ef39d40dSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*ef39d40dSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*ef39d40dSAndrew Rist  * distributed with this work for additional information
6*ef39d40dSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*ef39d40dSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*ef39d40dSAndrew Rist  * "License"); you may not use this file except in compliance
9*ef39d40dSAndrew Rist  * with the License.  You may obtain a copy of the License at
10*ef39d40dSAndrew Rist  *
11*ef39d40dSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*ef39d40dSAndrew Rist  *
13*ef39d40dSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*ef39d40dSAndrew Rist  * software distributed under the License is distributed on an
15*ef39d40dSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*ef39d40dSAndrew Rist  * KIND, either express or implied.  See the License for the
17*ef39d40dSAndrew Rist  * specific language governing permissions and limitations
18*ef39d40dSAndrew Rist  * under the License.
19*ef39d40dSAndrew Rist  *
20*ef39d40dSAndrew Rist  *************************************************************/
21*ef39d40dSAndrew Rist 
22*ef39d40dSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir package ifc.awt.tree;
25cdf0e10cSrcweir 
26cdf0e10cSrcweir import com.sun.star.awt.tree.XTreeNode;
27cdf0e10cSrcweir import com.sun.star.uno.AnyConverter;
28cdf0e10cSrcweir import lib.MultiMethodTest;
29cdf0e10cSrcweir import lib.Status;
30cdf0e10cSrcweir import lib.StatusException;
31cdf0e10cSrcweir 
32cdf0e10cSrcweir /**
33cdf0e10cSrcweir  * Testing <code>com.sun.star.awt.tree.XTreeDataModel</code>
34cdf0e10cSrcweir  * interface methods :
35cdf0e10cSrcweir  * <ul>
36cdf0e10cSrcweir  *  <li><code> getChildAt()</code></li>
37cdf0e10cSrcweir  *  <li><code> getChildCount()</code></li>
38cdf0e10cSrcweir  *  <li><code> getParent()</code></li>
39cdf0e10cSrcweir  *  <li><code> getIndex()</code></li>
40cdf0e10cSrcweir  *  <li><code> hasChildrenOnDemand()</code></li>
41cdf0e10cSrcweir  *  <li><code> getDisplayValue()</code></li>
42cdf0e10cSrcweir  *  <li><code> getNodeGraphicURL()</code></li>
43cdf0e10cSrcweir  *  <li><code> getExpandedGraphicURL()</code></li>
44cdf0e10cSrcweir  *  <li><code> getCollapsedGraphicURL()</code></li> * </ul> <p>
45cdf0e10cSrcweir  * Test is <b> NOT </b> multithread compilant. <p>
46cdf0e10cSrcweir  *
47cdf0e10cSrcweir  * @see com.sun.star.awt.tree.XTreeDataModel
48cdf0e10cSrcweir  */
49cdf0e10cSrcweir public class _XTreeNode extends MultiMethodTest {
50cdf0e10cSrcweir 
51cdf0e10cSrcweir     public XTreeNode oObj = null;
52cdf0e10cSrcweir 
53cdf0e10cSrcweir     private int mCount = 0;
54cdf0e10cSrcweir 
55cdf0e10cSrcweir     String msDisplayValue = null;
56cdf0e10cSrcweir     String msExpandedGraphicURL = null;
57cdf0e10cSrcweir     String msCollapsedGraphicURL = null;
58cdf0e10cSrcweir     String msNodeGraphicURL = null;
59cdf0e10cSrcweir 
60cdf0e10cSrcweir 
before()61cdf0e10cSrcweir     public void before(){
62cdf0e10cSrcweir         msDisplayValue = (String) tEnv.getObjRelation("XTreeNode_DisplayValue");
63cdf0e10cSrcweir         if (msDisplayValue == null){
64cdf0e10cSrcweir             throw new StatusException(Status.failed(
65cdf0e10cSrcweir                 "Couldn't get relation 'XTreeNode_DisplayVlaue'"));
66cdf0e10cSrcweir         }
67cdf0e10cSrcweir 
68cdf0e10cSrcweir         msExpandedGraphicURL = (String) tEnv.getObjRelation("XTreeNode_ExpandedGraphicURL");
69cdf0e10cSrcweir         if (msExpandedGraphicURL == null){
70cdf0e10cSrcweir             throw new StatusException(Status.failed(
71cdf0e10cSrcweir                 "Couldn't get relation 'XTreeNode_ExpandedGraphicURL'"));
72cdf0e10cSrcweir         }
73cdf0e10cSrcweir 
74cdf0e10cSrcweir         msCollapsedGraphicURL = (String) tEnv.getObjRelation("XTreeNode_CollapsedGraphicURL");
75cdf0e10cSrcweir         if (msCollapsedGraphicURL == null){
76cdf0e10cSrcweir             throw new StatusException(Status.failed(
77cdf0e10cSrcweir                 "Couldn't get relation 'XTreeNode_CollapsedGraphicURL'"));
78cdf0e10cSrcweir         }
79cdf0e10cSrcweir 
80cdf0e10cSrcweir         msNodeGraphicURL = (String) tEnv.getObjRelation("XTreeNode_NodeGraphicURL");
81cdf0e10cSrcweir         if(msNodeGraphicURL == null){
82cdf0e10cSrcweir             throw new StatusException(Status.failed(
83cdf0e10cSrcweir                 "Couldn't get relation 'XTreeNode_NodeGraphicURL'"));
84cdf0e10cSrcweir         }
85cdf0e10cSrcweir 
86cdf0e10cSrcweir     }
87cdf0e10cSrcweir 
88cdf0e10cSrcweir     /**
89cdf0e10cSrcweir      * Gets the title and compares it to the value set in
90cdf0e10cSrcweir      * <code>setTitle</code> method test. <p>
91cdf0e10cSrcweir      * Has <b>OK</b> status is set/get values are equal.
92cdf0e10cSrcweir      * The following method tests are to be completed successfully before :
93cdf0e10cSrcweir      * <ul>
94cdf0e10cSrcweir      *  <li> <code> setTitle </code>  </li>
95cdf0e10cSrcweir      * </ul>
96cdf0e10cSrcweir      */
_getChildAt()97cdf0e10cSrcweir     public void _getChildAt(){
98cdf0e10cSrcweir         this.requiredMethod("getChildCount()");
99cdf0e10cSrcweir         boolean bOK = true;
100cdf0e10cSrcweir 
101cdf0e10cSrcweir         for (int i=0; i < mCount ; i++){
102cdf0e10cSrcweir             XTreeNode xNode = null;
103cdf0e10cSrcweir             try {
104cdf0e10cSrcweir                 xNode = oObj.getChildAt(i);
105cdf0e10cSrcweir             } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
106cdf0e10cSrcweir                 log.println("ERROR: getChildAt(" + i + "): " + ex.toString());
107cdf0e10cSrcweir             }
108cdf0e10cSrcweir             if (xNode == null){
109cdf0e10cSrcweir                 log.println("ERROR: getChildAt(" + i + ") returns null => FAILED");
110cdf0e10cSrcweir                 bOK = false;
111cdf0e10cSrcweir             }
112cdf0e10cSrcweir         }
113cdf0e10cSrcweir 
114cdf0e10cSrcweir         tRes.tested("getChildAt()", bOK);
115cdf0e10cSrcweir     }
116cdf0e10cSrcweir 
117cdf0e10cSrcweir 
_getChildCount()118cdf0e10cSrcweir     public void _getChildCount(){
119cdf0e10cSrcweir 
120cdf0e10cSrcweir         boolean bOK = true;
121cdf0e10cSrcweir         mCount = oObj.getChildCount();
122cdf0e10cSrcweir         log.println("got count '" + mCount + "' of children");
123cdf0e10cSrcweir         if (mCount < 1 ) {
124cdf0e10cSrcweir             log.println("ERROR: got a count < 1. The test object must be support morw then zero children => FAILED");
125cdf0e10cSrcweir             bOK = false;
126cdf0e10cSrcweir         }
127cdf0e10cSrcweir         tRes.tested("getChildCount()", bOK);
128cdf0e10cSrcweir     }
129cdf0e10cSrcweir 
130cdf0e10cSrcweir 
_getParent()131cdf0e10cSrcweir     public void _getParent(){
132cdf0e10cSrcweir         this.requiredMethod("getChildAt()");
133cdf0e10cSrcweir 
134cdf0e10cSrcweir         boolean bOK = true;
135cdf0e10cSrcweir         XTreeNode xNode = null;
136cdf0e10cSrcweir         try {
137cdf0e10cSrcweir             log.println("try to getChildAt(0)");
138cdf0e10cSrcweir             xNode = oObj.getChildAt(0);
139cdf0e10cSrcweir         } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
140cdf0e10cSrcweir             log.println("ERROR: getChildAt(0): " + ex.toString());
141cdf0e10cSrcweir         }
142cdf0e10cSrcweir 
143cdf0e10cSrcweir         log.println("try to get parrent of children");
144cdf0e10cSrcweir         XTreeNode xParrent = xNode.getParent();
145cdf0e10cSrcweir 
146cdf0e10cSrcweir 
147cdf0e10cSrcweir         bOK = oObj.equals(xParrent);
148cdf0e10cSrcweir         log.println("original object and parrent should be the same: " + bOK);
149cdf0e10cSrcweir         tRes.tested("getParent()", bOK);
150cdf0e10cSrcweir     }
151cdf0e10cSrcweir 
152cdf0e10cSrcweir 
_getIndex()153cdf0e10cSrcweir     public void _getIndex(){
154cdf0e10cSrcweir         this.requiredMethod("getChildAt()");
155cdf0e10cSrcweir 
156cdf0e10cSrcweir         boolean bOK = true;
157cdf0e10cSrcweir         XTreeNode xNode = null;
158cdf0e10cSrcweir         try {
159cdf0e10cSrcweir             log.println("try to getChildAt(0)");
160cdf0e10cSrcweir             xNode = oObj.getChildAt(0);
161cdf0e10cSrcweir         } catch (com.sun.star.lang.IndexOutOfBoundsException ex) {
162cdf0e10cSrcweir             log.println("ERROR: getChildAt(0): " + ex.toString());
163cdf0e10cSrcweir         }
164cdf0e10cSrcweir 
165cdf0e10cSrcweir         log.println("try to get index from child...");
166cdf0e10cSrcweir         int index = oObj.getIndex(xNode);
167cdf0e10cSrcweir 
168cdf0e10cSrcweir         if (index != 0){
169cdf0e10cSrcweir             log.println("ERROR: getIndex() does not return '0' => FAILED");
170cdf0e10cSrcweir             bOK = false;
171cdf0e10cSrcweir         }
172cdf0e10cSrcweir 
173cdf0e10cSrcweir         tRes.tested("getIndex()", bOK);
174cdf0e10cSrcweir     }
175cdf0e10cSrcweir 
176cdf0e10cSrcweir 
_hasChildrenOnDemand()177cdf0e10cSrcweir     public void _hasChildrenOnDemand(){
178cdf0e10cSrcweir 
179cdf0e10cSrcweir         boolean bOK = true;
180cdf0e10cSrcweir 
181cdf0e10cSrcweir         bOK = oObj.hasChildrenOnDemand();
182cdf0e10cSrcweir         tRes.tested("hasChildrenOnDemand()", bOK);
183cdf0e10cSrcweir     }
184cdf0e10cSrcweir 
185cdf0e10cSrcweir 
_getDisplayValue()186cdf0e10cSrcweir     public void _getDisplayValue(){
187cdf0e10cSrcweir 
188cdf0e10cSrcweir         boolean bOK = true;
189cdf0e10cSrcweir         String DisplayValue = null;
190cdf0e10cSrcweir         Object dispVal = oObj.getDisplayValue();
191cdf0e10cSrcweir 
192cdf0e10cSrcweir         try {
193cdf0e10cSrcweir             DisplayValue = AnyConverter.toString(dispVal);
194cdf0e10cSrcweir         } catch (com.sun.star.lang.IllegalArgumentException ex) {
195cdf0e10cSrcweir             log.println("ERROR: could not convert the returned object of 'getDisplyValue()' " +
196cdf0e10cSrcweir                 "to String with AnyConverter: " + ex.toString());
197cdf0e10cSrcweir         }
198cdf0e10cSrcweir 
199cdf0e10cSrcweir         if ( ! this.msDisplayValue.equals(DisplayValue)){
200cdf0e10cSrcweir             log.println("ERROR: getNodeGraphicURL() does not return expected value:\n" +
201cdf0e10cSrcweir                 "\tExpected: " + this.msDisplayValue +"\n" +
202cdf0e10cSrcweir                 "\tGot: " + DisplayValue);
203cdf0e10cSrcweir             bOK = false;
204cdf0e10cSrcweir         }
205cdf0e10cSrcweir 
206cdf0e10cSrcweir         tRes.tested("getDisplayValue()", bOK);
207cdf0e10cSrcweir     }
208cdf0e10cSrcweir 
209cdf0e10cSrcweir 
_getNodeGraphicURL()210cdf0e10cSrcweir     public void _getNodeGraphicURL(){
211cdf0e10cSrcweir 
212cdf0e10cSrcweir         boolean bOK = true;
213cdf0e10cSrcweir         String graphicURL = oObj.getNodeGraphicURL();
214cdf0e10cSrcweir 
215cdf0e10cSrcweir         if ( ! this.msNodeGraphicURL.equals(graphicURL)){
216cdf0e10cSrcweir             log.println("ERROR: getNodeGraphicURL() does not return expected value:\n" +
217cdf0e10cSrcweir                 "\tExpected: " + this.msNodeGraphicURL +"\n" +
218cdf0e10cSrcweir                 "\tGot: " + graphicURL);
219cdf0e10cSrcweir             bOK = false;
220cdf0e10cSrcweir         }
221cdf0e10cSrcweir         tRes.tested("getNodeGraphicURL()", bOK);
222cdf0e10cSrcweir     }
223cdf0e10cSrcweir 
224cdf0e10cSrcweir 
_getExpandedGraphicURL()225cdf0e10cSrcweir     public void _getExpandedGraphicURL(){
226cdf0e10cSrcweir 
227cdf0e10cSrcweir         boolean bOK = true;
228cdf0e10cSrcweir         String ExpandedGraphicURL = oObj.getExpandedGraphicURL();
229cdf0e10cSrcweir 
230cdf0e10cSrcweir         if ( ! this.msExpandedGraphicURL.equals(ExpandedGraphicURL)){
231cdf0e10cSrcweir             log.println("ERROR: getExpandedGraphicURL() does not return expected value:\n" +
232cdf0e10cSrcweir                 "\tExpected: " + this.msExpandedGraphicURL +"\n" +
233cdf0e10cSrcweir                 "\tGot: " + ExpandedGraphicURL);
234cdf0e10cSrcweir             bOK = false;
235cdf0e10cSrcweir         }
236cdf0e10cSrcweir 
237cdf0e10cSrcweir         tRes.tested("getExpandedGraphicURL()", bOK);
238cdf0e10cSrcweir     }
239cdf0e10cSrcweir 
240cdf0e10cSrcweir 
_getCollapsedGraphicURL()241cdf0e10cSrcweir     public void _getCollapsedGraphicURL(){
242cdf0e10cSrcweir 
243cdf0e10cSrcweir         boolean bOK = true;
244cdf0e10cSrcweir 
245cdf0e10cSrcweir         String CollapsedGraphicURL = oObj.getCollapsedGraphicURL();
246cdf0e10cSrcweir 
247cdf0e10cSrcweir         if ( ! this.msCollapsedGraphicURL.equals(CollapsedGraphicURL)){
248cdf0e10cSrcweir             log.println("ERROR: getExpandedGraphicURL() does not return expected value:\n" +
249cdf0e10cSrcweir                 "\tExpected: " + this.msCollapsedGraphicURL +"\n" +
250cdf0e10cSrcweir                 "\tGot: " + CollapsedGraphicURL);
251cdf0e10cSrcweir             bOK = false;
252cdf0e10cSrcweir         }
253cdf0e10cSrcweir 
254cdf0e10cSrcweir         tRes.tested("getCollapsedGraphicURL()", bOK);
255cdf0e10cSrcweir     }
256cdf0e10cSrcweir 
257cdf0e10cSrcweir }