001    /*
002     * Copyright 2008 the original author or authors.
003     *
004     * Licensed under the Apache License, Version 2.0 (the "License"); you may not
005     * use this file except in compliance with the License. You may obtain a copy of
006     * the License at
007     *
008     * http://www.apache.org/licenses/LICENSE-2.0
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
012     * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
013     * License for the specific language governing permissions and limitations under
014     * the License.
015     */
016    package org.springframework.richclient.application.support;
017    
018    import javax.swing.JComponent;
019    import javax.swing.JLabel;
020    
021    import junit.framework.TestCase;
022    
023    /**
024     * testcase for {@link SimpleViewDescriptor}
025     * 
026     * @author Peter De Bruycker
027     */
028    public class SimpleViewDescriptorTests extends TestCase {
029    
030        private AbstractView view;
031    
032        public void testConstructor() {
033            SimpleViewDescriptor descriptor = new SimpleViewDescriptor("id", view);
034            assertEquals("id", descriptor.getId());
035            assertEquals(descriptor, view.getDescriptor());
036        }
037    
038        @Override
039        protected void setUp() throws Exception {
040            view = new AbstractView() {
041    
042                @Override
043                protected JComponent createControl() {
044                    return new JLabel("hello");
045                }
046            };
047    
048        }
049    
050        public void testCreatePageComponent() {
051            SimpleViewDescriptor descriptor = new SimpleViewDescriptor("id", view);
052    
053            assertSame(view, descriptor.createPageComponent());
054            // must always return the same
055            assertSame(view, descriptor.createPageComponent());
056        }
057    
058    }