/* * (C) Michael Bar-Sinai */ package edu.harvard.iq.dataverse.util; import java.util.Arrays; import java.util.Collections; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import static org.junit.Assert.*; /** * * @author michael */ public class StringUtilTest { public StringUtilTest() { } @BeforeClass public static void setUpClass() { } @AfterClass public static void tearDownClass() { } @Before public void setUp() { } @After public void tearDown() { } /** * Test of isEmpty method, of class StringUtil. */ @Test public void testIsEmpty() { assertTrue( StringUtil.isEmpty(null) ); assertTrue( StringUtil.isEmpty("") ); assertTrue( StringUtil.isEmpty(" ") ); assertTrue( StringUtil.isEmpty("\t") ); assertTrue( StringUtil.isEmpty("\t \t \n") ); assertFalse( StringUtil.isEmpty("a") ); } /** * Test of isAlphaNumeric method, of class StringUtil. */ @Test public void testIsAlphaNumeric() { assertTrue( StringUtil.isAlphaNumeric("abc") ); assertTrue( StringUtil.isAlphaNumeric("1230") ); assertTrue( StringUtil.isAlphaNumeric("1230abc") ); assertTrue( StringUtil.isAlphaNumeric("1230abcABC") ); assertFalse( StringUtil.isAlphaNumeric("1230abcABC#") ); } /** * Test of isAlphaNumericChar method, of class StringUtil. */ @Test public void testIsAlphaNumericChar() { assertTrue( StringUtil.isAlphaNumericChar('a') ); assertTrue( StringUtil.isAlphaNumericChar('f') ); assertTrue( StringUtil.isAlphaNumericChar('z') ); assertTrue( StringUtil.isAlphaNumericChar('0') ); assertTrue( StringUtil.isAlphaNumericChar('1') ); assertTrue( StringUtil.isAlphaNumericChar('9') ); assertTrue( StringUtil.isAlphaNumericChar('A') ); assertTrue( StringUtil.isAlphaNumericChar('G') ); assertTrue( StringUtil.isAlphaNumericChar('Z') ); assertFalse( StringUtil.isAlphaNumericChar('@') ); } @Test public void testHtml2Text() { assertEquals(StringUtil.html2text("be <b>bold</b>!"), "be bold!"); assertEquals(StringUtil.html2text(null), null); assertEquals(StringUtil.html2text("<p><b>Description:</b><br />\n" + "Data were taken May-June 2003 and 2005. Flux units are in mJy per 31 arcsecond beam.\n" + "</p>\n" + "\n" + "<p><b>Telescope Information</b><br />\n" + "<a href=\"http://www.submm.caltech.edu/cso/\">Caltech Submillimeter Observatory</a></p>\n" + "\n" + "<p><b>Status:</b><br />\n" + "Final</p>\n" + "\n" + "<p><b>Sampling:</b><br />\n" + "Sensitivity: Average 1 sigma rms = 10 mJy per beam.<br />\n" + "Waveband: 1120 microns<br />\n" + "Resolution: 31 arcsecond beam in 10 arcsecond pixels (diffuse large-scale structure is lost)\n" + "</p>\n" + "\n" + "<p><b>Areal Coverage:</b><br />\n" + "11 square degrees\n" + "</p>\n" + "\n" + "<p><b>Map Center (Galactic):</b><br />\n" + "NA<br />\n" + "NA</p>\n" + "\n" + "<p><b>Map Center (J2000):</b><br />\n" + "RA = 18:29:00<br />\n" + "Dec = +00:30:00 </p>"), "Description: Data were taken May-June 2003 and 2005. Flux units are in mJy per 31 arcsecond beam. Telescope Information Caltech Submillimeter Observatory Status: Final Sampling: Sensitivity: Average 1 sigma rms = 10 mJy per beam. Waveband: 1120 microns Resolution: 31 arcsecond beam in 10 arcsecond pixels (diffuse large-scale structure is lost) Areal Coverage: 11 square degrees Map Center (Galactic): NA NA Map Center (J2000): RA = 18:29:00 Dec = +00:30:00"); assertEquals(StringUtil.htmlArray2textArray(Arrays.asList("be <b>bold</b>!")), Arrays.asList("be bold!")); assertEquals(StringUtil.htmlArray2textArray(null), Collections.emptyList()); } @Test public void testNullToEmpty() { assertEquals( "hello", StringUtil.nullToEmpty("hello") ); assertEquals( "", StringUtil.nullToEmpty(null) ); } }