/******************************************************************************* * Copyright 2015 xWic group (http://www.xwic.de) * * Licensed 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 de.jwic.controls; import javax.swing.tree.DefaultMutableTreeNode; import de.jwic.base.Control; import de.jwic.base.IControlContainer; import de.jwic.events.ElementSelectedEvent; import de.jwic.events.ElementSelectedListener; import de.jwic.test.ControlTestCase; /** * @author Florian Lippisch * @version $Revision: 1.1 $ */ public class TreeControlTest extends ControlTestCase { private TreeControl tree; private DefaultMutableTreeNode rootNode = null; private int invocationCount = 0; private class TestListener implements ElementSelectedListener { public void elementSelected(ElementSelectedEvent event) { invocationCount++; } } /* (non-Javadoc) * @see de.jwic.test.ControlTestCase#createControl(de.jwic.base.IControlContainer) */ public Control createControl(IControlContainer container) { tree = new TreeControl(container); return tree; } private void addTestNodes() { rootNode = new DefaultMutableTreeNode("root"); tree.setRootNode(rootNode); rootNode.add(new DefaultMutableTreeNode("node1")); rootNode.add(new DefaultMutableTreeNode("node2")); rootNode.add(new DefaultMutableTreeNode("node3")); DefaultMutableTreeNode node4 = new DefaultMutableTreeNode("node4"); node4.add(new DefaultMutableTreeNode("node4.1")); node4.add(new DefaultMutableTreeNode("node4.2")); node4.add(new DefaultMutableTreeNode("node4.3")); } /* * Test method for 'de.jwic.controls.TreeControl.addElementSelectedListener(ElementSelectedListener)' */ public void testElementSelectedListener() { addTestNodes(); ElementSelectedListener listener1 = new TestListener(); ElementSelectedListener listener2 = new ElementSelectedListener() { public void elementSelected(ElementSelectedEvent event) { assertEquals(1, tree.getSelected().size()); assertEquals(event.getElement(), tree.getSelected().iterator().next()); }; }; tree.addElementSelectedListener(listener1); tree.addElementSelectedListener(listener2); invocationCount = 0; sendAction(tree, TreeControl.ACTION_CLICK, "0"); assertEquals(1, invocationCount); invocationCount = 0; sendAction(tree, TreeControl.ACTION_CLICK, "0-1"); assertEquals(1, invocationCount); //tree.removeElementSelectedListener(listener); // test manual selection invocationCount = 0; tree.clearSelection(); tree.select("0"); assertEquals(1, invocationCount); // test remove tree.removeElementSelectedListener(listener1); tree.removeElementSelectedListener(listener2); invocationCount = 0; tree.clearSelection(); tree.select("0"); assertEquals(0, invocationCount); } }