/** * Copyright (C) 2014-2017 Philip Helger (www.helger.com) * philip[at]helger[dot]com * * 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 com.helger.css; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; import java.math.BigDecimal; import org.junit.Test; import com.helger.commons.string.StringHelper; /** * Test class for class {@link ECSSUnit}. * * @author Philip Helger */ public final class ECSSUnitTest { @Test public void testBasic () { for (final ECSSUnit e : ECSSUnit.values ()) { assertTrue (StringHelper.hasText (e.getName ())); assertNotNull (e.getMinimumCSSVersion ()); assertSame (e, ECSSUnit.getFromNameOrNull (e.getName ())); assertTrue (StringHelper.hasText (e.format (4711))); assertTrue (StringHelper.hasText (e.format (47.11))); } } @Test public void testStatics () { assertEquals ("5pt", ECSSUnit.pt (5)); assertEquals ("0pt", ECSSUnit.pt (0)); assertEquals ("-5pt", ECSSUnit.pt (-5)); assertEquals ("5pc", ECSSUnit.pc (5)); assertEquals ("0pc", ECSSUnit.pc (0)); assertEquals ("-5pc", ECSSUnit.pc (-5)); assertEquals ("5in", ECSSUnit.in (5)); assertEquals ("0in", ECSSUnit.in (0)); assertEquals ("-5in", ECSSUnit.in (-5)); assertEquals ("5mm", ECSSUnit.mm (5)); assertEquals ("0mm", ECSSUnit.mm (0)); assertEquals ("-5mm", ECSSUnit.mm (-5)); assertEquals ("5cm", ECSSUnit.cm (5)); assertEquals ("0cm", ECSSUnit.cm (0)); assertEquals ("-5cm", ECSSUnit.cm (-5)); assertEquals ("5px", ECSSUnit.px (5)); assertEquals ("0px", ECSSUnit.px (0)); assertEquals ("-5px", ECSSUnit.px (-5)); assertEquals ("5em", ECSSUnit.em (5)); assertEquals ("0em", ECSSUnit.em (0)); assertEquals ("-5em", ECSSUnit.em (-5)); assertEquals ("5em", ECSSUnit.em (5.0)); assertEquals ("0em", ECSSUnit.em (0.0)); assertEquals ("-5em", ECSSUnit.em (-5.0)); assertEquals ("5ex", ECSSUnit.ex (5)); assertEquals ("0ex", ECSSUnit.ex (0)); assertEquals ("-5ex", ECSSUnit.ex (-5)); assertEquals ("5%", ECSSUnit.perc (5)); assertEquals ("0%", ECSSUnit.perc (0)); assertEquals ("-5%", ECSSUnit.perc (-5)); assertEquals ("5000em", ECSSUnit.em (5000)); assertEquals ("5000000em", ECSSUnit.em (5000000)); assertEquals ("0.0000005em", ECSSUnit.em (0.0000005)); assertEquals ("5000em", ECSSUnit.em (BigDecimal.valueOf (5000))); assertEquals ("5000000em", ECSSUnit.em (BigDecimal.valueOf (5000000))); assertEquals ("0.0000005em", ECSSUnit.em (BigDecimal.valueOf (0.0000005))); assertEquals ("5000em", ECSSUnit.em (new BigDecimal ("5000"))); assertEquals ("5000000em", ECSSUnit.em (new BigDecimal ("5000000"))); assertEquals ("0.0000005em", ECSSUnit.em (new BigDecimal ("0.0000005"))); assertEquals ("5000em", ECSSUnit.em (new BigDecimal ("5000.000"))); assertEquals ("5000000em", ECSSUnit.em (new BigDecimal ("5000000.000"))); assertEquals ("0.0000005em", ECSSUnit.em (new BigDecimal ("0.0000005000"))); } }