package edu.hawaii.ics.yucheng; import java.awt.Dimension; import javax.swing.JButton; import javax.swing.JPanel; import junit.framework.TestCase; /** * Tests the AnchorLayoutManager class. */ public class AnchorLayoutManagerTest extends TestCase { /** * Tests the addLayoutComponent method. * * @throws Exception */ public void testAddLayoutComponent1() throws Exception { final AnchorLayoutManager manager = new AnchorLayoutManager(10, 10); try { manager.addLayoutComponent(null, new JButton()); fail(); } catch (final NullPointerException e) { // This is expected. } } /** * Tests the addLayoutComponent method. * * @throws Exception */ public void testAddLayoutComponent2() throws Exception { final AnchorLayoutManager manager = new AnchorLayoutManager(10, 10); try { manager.addLayoutComponent("T", null); fail(); } catch (final NullPointerException e) { // This is expected. } } /** * Tests the addLayoutComponent method. * * @throws Exception */ public void testAddLayoutComponent3() throws Exception { final AnchorLayoutManager manager = new AnchorLayoutManager(10, 10); manager.addLayoutComponent("T", new JButton()); } /** * Tests the constructor. * * @throws Exception */ public void testConstructor1() throws Exception { new AnchorLayoutManager(1, 1); } /** * Tests the constructor. * * @throws Exception */ public void testConstructor2() throws Exception { try { new AnchorLayoutManager(0, 1); fail(); } catch (final IllegalArgumentException e) { // This is expected. } } /** * Tests the constructor. * * @throws Exception */ public void testConstructor3() throws Exception { try { new AnchorLayoutManager(1, 0); fail(); } catch (final IllegalArgumentException e) { // This is expected. } } /** * Tests the layoutContainer method. * * @throws Exception */ public void testLayoutContainer1() throws Exception { final AnchorLayoutManager manager = new AnchorLayoutManager(10, 10); try { manager.layoutContainer(null); fail(); } catch (final NullPointerException e) { // This is expected. } } /** * Tests the layoutContainer method. * * @throws Exception */ public void testLayoutContainer2() throws Exception { final AnchorLayoutManager manager = new AnchorLayoutManager(10, 10); final JPanel panel = new JPanel(); final JButton button = new JButton(); button.setBounds(1, 1, 8, 8); manager.addLayoutComponent("", button); manager.addLayoutComponent("TL", button); manager.addLayoutComponent("BR", button); manager.addLayoutComponent("TLBR", button); manager.layoutContainer(panel); } /** * Tests the minimumLayoutSize method. * * @throws Exception */ public void testMinimumLayoutSize1() throws Exception { final AnchorLayoutManager manager = new AnchorLayoutManager(10, 10); try { manager.minimumLayoutSize(null); fail(); } catch (final NullPointerException e) { // This is expected. } } /** * Tests the minimumLayoutSize method. * * @throws Exception */ public void testMinimumLayoutSize2() throws Exception { final AnchorLayoutManager manager = new AnchorLayoutManager(10, 10); final JPanel panel = new JPanel(); final Dimension dimension = manager.minimumLayoutSize(panel); assertEquals(10, dimension.width); assertEquals(10, dimension.height); } /** * Tests the preferredLayoutSize method. * * @throws Exception */ public void testPreferredLayoutSize1() throws Exception { final AnchorLayoutManager manager = new AnchorLayoutManager(10, 10); try { manager.preferredLayoutSize(null); fail(); } catch (final NullPointerException e) { // This is expected. } } /** * Tests the preferredLayoutSize method. * * @throws Exception */ public void testPreferredLayoutSize2() throws Exception { final AnchorLayoutManager manager = new AnchorLayoutManager(10, 10); final JPanel panel = new JPanel(); panel.setBounds(0, 0, 20, 20); final Dimension dimension = manager.preferredLayoutSize(panel); assertEquals(20, dimension.width); assertEquals(20, dimension.height); } /** * Tests the removeLayoutComponent method. * * @throws Exception */ public void testRemoveLayoutComponent1() throws Exception { final AnchorLayoutManager manager = new AnchorLayoutManager(10, 10); try { manager.removeLayoutComponent(null); fail(); } catch (final NullPointerException e) { // This is expected. } } /** * Tests the removeLayoutComponent method. * * @throws Exception */ public void testRemoveLayoutComponent2() throws Exception { final AnchorLayoutManager manager = new AnchorLayoutManager(10, 10); manager.removeLayoutComponent(new JButton()); } }