/* * Copyright (c) 2009-2010 Lockheed Martin Corporation * * 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 org.eurekastreams.server.domain; import static junit.framework.Assert.assertEquals; import org.hibernate.validator.ClassValidator; import org.hibernate.validator.InvalidValue; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; /** * Test class for Tab. */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "classpath:applicationContext*-test.xml" }) public class TabTest { /** * Constructor test for tabName parameter. */ @Test public final void testConstructorTabName() { Tab tab = new Tab("testTab", Layout.THREECOLUMN); assertEquals("tab name does not match value passed into constructor", "testTab", tab.getTabName()); assertEquals("tab layout does not match value passed into constructor", Layout.THREECOLUMN, tab.getTabLayout()); tab = new Tab(new TabTemplate("testTab", Layout.THREECOLUMN)); assertEquals("tab name does not match value passed into constructor", "testTab", tab.getTabName()); assertEquals("tab layout does not match value passed into constructor", Layout.THREECOLUMN, tab.getTabLayout()); } /** * Basic test to ensure the setTabLayout works properly. */ @Test public void testTabLayoutProperty() { Layout tabLayout = Layout.THREECOLUMNRIGHTWIDEHEADER; Tab tab = new Tab("testTab", Layout.THREECOLUMN, new Long(1)); tab.setTabLayout(tabLayout); assertEquals( "getTabLayout() doesn't return the same value as the previous setTabLayout()", tabLayout, tab.getTabLayout()); } /** * test. */ @Test public void testIndexValidation() { String message = "index must be >= 0"; Tab tab = new Tab("testTab", Layout.THREECOLUMN, new Long(0)); tab.setTabIndex(-1); ClassValidator<Tab> validator = new ClassValidator<Tab>(Tab.class); InvalidValue[] invalidValues = validator.getInvalidValues(tab); assertEquals(message, 1, invalidValues.length); assertEquals(message, Tab.TAB_INDEX_MESSAGE, invalidValues[0].getMessage()); } }