/******************************************************************************* * Copyright (c) 2007, 2015 Innoopract Informationssysteme GmbH and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Innoopract Informationssysteme GmbH - initial API and implementation * EclipseSource - ongoing development ******************************************************************************/ package org.eclipse.rap.rwt.internal.theme; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; import org.eclipse.rap.rwt.theme.BoxDimensions; import org.junit.Test; public class CssBoxDimensions_Test { @Test( expected = NullPointerException.class ) public void testValueOf_nullArgument() { CssBoxDimensions.valueOf( null ); } @Test( expected = IllegalArgumentException.class ) public void testValueOf_emptyString() { CssBoxDimensions.valueOf( "" ); } @Test( expected = IllegalArgumentException.class ) public void testValueOf_startWithSpace() { CssBoxDimensions.valueOf( " 23px" ); } @Test( expected = IllegalArgumentException.class ) public void testValueOf_unsupportedUnit() { CssBoxDimensions.valueOf( "23em" ); } @Test public void testZero() { assertSame( CssBoxDimensions.ZERO, CssBoxDimensions.valueOf( "0" ) ); assertSame( CssBoxDimensions.ZERO, CssBoxDimensions.valueOf( "0 0" ) ); assertEquals( new BoxDimensions( 0, 0, 0, 0 ), CssBoxDimensions.ZERO.dimensions ); } @Test public void test1Value() { CssBoxDimensions dim23px = CssBoxDimensions.valueOf( "23px" ); assertEquals( new BoxDimensions( 23, 23, 23, 23 ), dim23px.dimensions ); CssBoxDimensions dimNeg1 = CssBoxDimensions.valueOf( "-1" ); assertEquals( new BoxDimensions( -1, -1, -1, -1 ), dimNeg1.dimensions ); } @Test public void test2Values() { CssBoxDimensions boxDim = CssBoxDimensions.valueOf( "0 2" ); assertEquals( new BoxDimensions( 0, 2, 0, 2 ), boxDim.dimensions ); } @Test public void test3Values() { CssBoxDimensions boxDim = CssBoxDimensions.valueOf( "1 2 3px" ); assertEquals( new BoxDimensions( 1, 2, 3, 2 ), boxDim.dimensions ); } @Test public void test4Values() { CssBoxDimensions boxDim = CssBoxDimensions.valueOf( "0px 1px 2px 3px" ); assertEquals( new BoxDimensions( 0, 1, 2, 3 ), boxDim.dimensions ); } @Test public void testDefaultString() { CssBoxDimensions dim0123 = CssBoxDimensions.create( 0, 1, 2, 3 ); assertEquals( "0px 1px 2px 3px", dim0123.toDefaultString() ); CssBoxDimensions dim123 = CssBoxDimensions.create( 1, 2, 3, 2 ); assertEquals( "1px 2px 3px", dim123.toDefaultString() ); CssBoxDimensions dim01 = CssBoxDimensions.create( 0, 1, 0, 1 ); assertEquals( "0px 1px", dim01.toDefaultString() ); CssBoxDimensions dim1 = CssBoxDimensions.create( 1, 1, 1, 1 ); assertEquals( "1px", dim1.toDefaultString() ); } @Test public void testHashCode() { CssBoxDimensions dim1 = CssBoxDimensions.create( 1, 1, 0, 0 ); CssBoxDimensions dim2 = CssBoxDimensions.create( 0, 25, 0, 0 ); assertTrue( dim1.hashCode() != dim2.hashCode() ); } @Test public void testHashCode2() { CssBoxDimensions dim1 = CssBoxDimensions.create( 0, 0, 1, 0 ); CssBoxDimensions dim2 = CssBoxDimensions.create( 0, 0, 0, 1 ); assertTrue( dim1.hashCode() != dim2.hashCode() ); } }