001 /* 002 * Copyright 2002-2004 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.config; 017 018 import junit.framework.Assert; 019 import junit.framework.TestCase; 020 021 import org.easymock.EasyMock; 022 import org.springframework.richclient.application.ApplicationWindow; 023 024 025 /** 026 * Provides unit tests for the {@link ApplicationWindowSetter} class. 027 * 028 * @author Kevin Stembridge 029 * @since 0.3 030 * 031 */ 032 public class ApplicationWindowSetterTests extends TestCase { 033 034 /** 035 * Creates a new uninitialized {@code ApplicationWindowSetterTests}. 036 */ 037 public ApplicationWindowSetterTests() { 038 super(); 039 } 040 041 /** 042 * Confirms that the constructor throws an IllegalArgumentException when passed a null window. 043 */ 044 public void testConstructor() { 045 046 try { 047 new ApplicationWindowSetter(null); 048 Assert.fail("Should have thrown an IllegalArgumentException for null ApplicationWindow"); 049 } 050 catch(IllegalArgumentException e) { 051 //test passes 052 } 053 054 } 055 056 /** 057 * Confirms that the postProcessBeforeInitialization method correctly sets the window on the 058 * windowAware object. 059 */ 060 public void testPostProcessBeforeInit() { 061 062 //create required mocks 063 ApplicationWindow window = (ApplicationWindow) EasyMock.createMock(ApplicationWindow.class); 064 ApplicationWindowAware windowAware 065 = (ApplicationWindowAware) EasyMock.createMock(ApplicationWindowAware.class); 066 067 //confirm null bean is ok 068 ApplicationWindowSetter windowSetter = new ApplicationWindowSetter(window); 069 EasyMock.replay(windowAware); 070 EasyMock.replay(window); 071 windowSetter.postProcessBeforeInitialization(null, "bogusBeanName"); 072 EasyMock.verify(windowAware); 073 EasyMock.verify(window); 074 075 //confirm that the windowAware has its window set 076 EasyMock.reset(window); 077 EasyMock.reset(windowAware); 078 079 windowAware.setApplicationWindow(window); 080 081 EasyMock.replay(window); 082 EasyMock.replay(windowAware); 083 084 windowSetter.postProcessBeforeInitialization(windowAware, "bogusBeanName"); 085 086 EasyMock.verify(window); 087 EasyMock.verify(windowAware); 088 089 } 090 091 }