/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.bearsoft.gui.grid.tree; import com.bearsoft.gui.grid.data.TableFront2TreedModel; import com.bearsoft.gui.grid.data.TreedModel; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JToolBar; import javax.swing.table.TableModel; import org.junit.Test; import static org.junit.Assert.*; /** * * @author Gala */ public class FacadeVisualTest extends FacadeBaseTest { @Test public void collapsedVisualTest() throws InterruptedException { System.out.println("collapsedVisualTest"); initTree(); JFrame frame = new JFrame(); frame.getContentPane().setLayout(new BorderLayout()); TreedModel model = new TestTreedModel(); TableModel tModel = new TableFront2TreedModel(model); JTable tbl = new JTable(tModel); frame.getContentPane().add(new JScrollPane(tbl), BorderLayout.CENTER); frame.setSize(800, 700); //frame.setVisible(true); //frame.setVisible(false); } @Test public void expandedSomeRootsVisualTest() throws InterruptedException { System.out.println("expandedSomeRootsVisualTest"); initTree(); JFrame frame = new JFrame(); frame.getContentPane().setLayout(new BorderLayout()); TreedModel model = new TestTreedModel(); TableFront2TreedModel tModel = new TableFront2TreedModel(model); tModel.expand(tree.get(37), false); tModel.expand(tree.get(7), false); tModel.expand(tree.get(56), false); tModel.expand(tree.get(138), false); JTable tbl = new JTable(tModel); frame.getContentPane().add(new JScrollPane(tbl), BorderLayout.CENTER); frame.setSize(800, 700); //frame.setVisible(true); //frame.setVisible(false); } protected class ExpandAction extends AbstractAction { protected TableFront2TreedModel tModel; protected JTable table; public ExpandAction(TableFront2TreedModel aTModel, JTable aTable) { super(); putValue(Action.NAME, "expand"); tModel = aTModel; table = aTable; } public void actionPerformed(ActionEvent e) { tModel.expand(tModel.getElementAt(table.getSelectedRow()), false); } } protected class CollapseAction extends AbstractAction { protected TableFront2TreedModel tModel; protected JTable table; public CollapseAction(TableFront2TreedModel aTModel, JTable aTable) { super(); putValue(Action.NAME, "collapse"); tModel = aTModel; table = aTable; } public void actionPerformed(ActionEvent e) { tModel.collapse(tModel.getElementAt(table.getSelectedRow())); } } @Test public void dynamicExpandCollapseVisualTest() throws InterruptedException { System.out.println("dynamicExpandCollapseVisualTest"); int oldFirstLevelCount = firstLevelCount; try { firstLevelCount = 3000; initTree(); System.out.println("\tbig tree initialized successfully"); JFrame frame = new JFrame(); frame.getContentPane().setLayout(new BorderLayout()); TreedModel model = new TestTreedModel(); TableFront2TreedModel tModel = new TableFront2TreedModel(model); JTable tbl = new JTable(tModel); JToolBar tb = new JToolBar(); JButton collapseBtn = new JButton(new CollapseAction(tModel, tbl)); JButton expandBtn = new JButton(new ExpandAction(tModel, tbl)); tb.add(collapseBtn); tb.add(expandBtn); frame.getContentPane().add(tb, BorderLayout.NORTH); frame.getContentPane().add(new JScrollPane(tbl), BorderLayout.CENTER); frame.setSize(800, 700); //frame.setVisible(true); // assertEquals(tree.size(), tbl.getModel().getRowCount()); tModel.expand(tree.get(37), false); assertEquals(tree.size() + secondLevelCount, tbl.getModel().getRowCount()); tModel.expand(tree.get(7), false); assertEquals(tree.size() + 2 * secondLevelCount, tbl.getModel().getRowCount()); tModel.expand(tree.get(56), false); assertEquals(tree.size() + 3 * secondLevelCount, tbl.getModel().getRowCount()); tModel.expand(tree.get(138), false); assertEquals(tree.size() + 4 * secondLevelCount, tbl.getModel().getRowCount()); tModel.expand(tree.get(7).children.get(16), false); assertEquals(tree.size() + 4 * secondLevelCount + thirdLevelCount, tbl.getModel().getRowCount()); tModel.expand(tree.get(7).children.get(23), false); assertEquals(tree.size() + 4 * secondLevelCount + 2 * thirdLevelCount, tbl.getModel().getRowCount()); tModel.collapse(tree.get(7)); assertEquals(tree.size() + 3 * secondLevelCount, tbl.getModel().getRowCount()); tModel.expand(tree.get(7), false); assertEquals(tree.size() + 4 * secondLevelCount + 2 * thirdLevelCount, tbl.getModel().getRowCount()); tModel.collapse(tree.get(7)); assertEquals(tree.size() + 3 * secondLevelCount, tbl.getModel().getRowCount()); tModel.collapse(tree.get(7).children.get(16)); tModel.expand(tree.get(7), false); assertEquals(tree.size() + 4 * secondLevelCount + thirdLevelCount, tbl.getModel().getRowCount()); // //frame.setVisible(false); } finally { firstLevelCount = oldFirstLevelCount; System.out.println("uugph! dynamicExpandCollapseVisualTest completed"); } } }