package jp.agentec.sinaburocast.common.util; import static jp.agentec.sinaburocast.common.SinaburoConstant.Formats.RETURN; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import java.lang.reflect.Field; import java.sql.Timestamp; import java.util.Calendar; import java.util.List; import org.junit.Test; public class SinaburoUtilTest { @Test public void testIsBlankOrSpace() { assertTrue(SinaburoUtil.isBlankOrSpace(null)); assertTrue(SinaburoUtil.isBlankOrSpace("")); assertTrue(SinaburoUtil.isBlankOrSpace(" ")); assertTrue(SinaburoUtil.isBlankOrSpace(" ")); assertTrue(SinaburoUtil.isBlankOrSpace(" ")); assertFalse(SinaburoUtil.isBlankOrSpace("a")); assertFalse(SinaburoUtil.isBlankOrSpace(" a ")); } @Test public void testIsNotEmptyArray() { assertFalse(SinaburoUtil.isNotEmpty(((Integer[])null))); assertFalse(SinaburoUtil.isNotEmpty(new Long[0])); assertTrue(SinaburoUtil.isNotEmpty(new String[] {"いいわけ", "ないだろ!"})); } @Test public void testParseInt() { assertEquals(0, SinaburoUtil.parseInt((Integer)null)); assertEquals(12, SinaburoUtil.parseInt(Integer.valueOf("12"))); } @Test public void testNvl() { assertEquals("", SinaburoUtil.nvl(null)); assertEquals("", SinaburoUtil.nvl("")); assertEquals("a", SinaburoUtil.nvl("a")); assertEquals("abc", SinaburoUtil.nvl(null, "abc")); assertEquals("abc", SinaburoUtil.nvl("", "abc")); assertEquals("a", SinaburoUtil.nvl("a", "abc")); } @Test public void testWrapLine() { String target = "This is something cool. But it does'nt mean to match my requirements. However, You can use it occationally for your job. (No meaning ...orz)"; String expected = "This is something cool. But it " + RETURN + "does'nt mean to match my " + RETURN + "requirements. However, You can " + RETURN + "use it occationally for your " + RETURN + "job. (No meaning ...orz)"; for (int i = 0; i < expected.length(); i++) { System.out.print((byte)expected.charAt(i) + " "); } System.out.println(); String actual = SinaburoUtil.wrapLine(target, 30, RETURN); for (int i = 0; i < actual.length(); i++) { System.out.print((byte)actual.charAt(i) + " "); } System.out.println(); System.out.println(actual); assertEquals(expected, SinaburoUtil.wrapLine(target, 30, RETURN)); assertEquals("", SinaburoUtil.wrapLine(null, 30, RETURN)); assertEquals(target, SinaburoUtil.wrapLine(target, 0, RETURN)); assertEquals(target, SinaburoUtil.wrapLine(target, 30, "")); } @Test public void testWrapLineNoWord() { String target = "tooooooooooooooooolongword"; String expected = "tooooo" + RETURN + "ooooo" + RETURN + "ooooo" + RETURN + "oolon" + RETURN + "gword"; assertEquals(expected, SinaburoUtil.wrapLineNoWord(target, 5, RETURN)); } @Test public void testMergeBitValue() { assertEquals(3, SinaburoUtil.mergeBitValue(7, 4, false)); assertEquals(7, SinaburoUtil.mergeBitValue(3, 4, true)); } @Test public void testGetFirstNoBlank() { assertEquals("", SinaburoUtil.getFirstNoBlank((String)null)); assertEquals("", SinaburoUtil.getFirstNoBlank("")); assertEquals("aaa", SinaburoUtil.getFirstNoBlank("aaa")); assertEquals("aaa", SinaburoUtil.getFirstNoBlank(null, "aaa", "bbb")); assertEquals("aaa", SinaburoUtil.getFirstNoBlank("", "aaa", "bbb")); } @Test public void testGetNoBlankCount() { assertEquals(0, SinaburoUtil.getNoBlankCount((String)null)); assertEquals(0, SinaburoUtil.getNoBlankCount("")); assertEquals(1, SinaburoUtil.getNoBlankCount("aaa")); assertEquals(2, SinaburoUtil.getNoBlankCount(null, "aaa", "bbb")); assertEquals(2, SinaburoUtil.getNoBlankCount("", "aaa", "bbb")); } @Test public void testJoinAllNoBlank() { assertEquals("", SinaburoUtil.joinAllNoBlank((String)null, (String)null)); assertEquals("", SinaburoUtil.joinAllNoBlank("", "")); assertEquals("aaabbb", SinaburoUtil.joinAllNoBlank("", "aaa", "bbb")); assertEquals("aaa", SinaburoUtil.joinAllNoBlank(RETURN, "aaa")); System.out.println(SinaburoUtil.joinAllNoBlank(RETURN, "aaa", "bbb", "ccc")); assertEquals("aaa" + RETURN + "bbb" + RETURN + "ccc", SinaburoUtil.joinAllNoBlank(RETURN, "aaa", "bbb", "ccc")); } @Test public void testAddRedColor() { // LATER SinaburoViewUtilTestに assertEquals(" ", SinaburoViewUtil.addRedColor("")); assertEquals(" ", SinaburoViewUtil.addRedColor(null)); assertEquals("<html><font color=red>Error occurred</font></html>", SinaburoViewUtil.addRedColor("Error occurred")); } @Test public void testGetExtension() { assertEquals("", SinaburoUtil.getExtension(null)); assertEquals("", SinaburoUtil.getExtension("")); assertEquals("", SinaburoUtil.getExtension(".")); assertEquals("", SinaburoUtil.getExtension("hoge")); assertEquals("", SinaburoUtil.getExtension("hoge.")); assertEquals("c", SinaburoUtil.getExtension("hoge.c")); assertEquals("txt", SinaburoUtil.getExtension("hoge.txt")); assertEquals("extensionstring", SinaburoUtil.getExtension("hoge.extensionstring")); } @Test public void testGetCaller() { assertEquals("sun.reflect.NativeMethodAccessorImpl", SinaburoUtil.getCaller()); assertEquals("jp.agentec.sinaburocast.common.util.SinaburoUtil", SinaburoUtil.getCaller(0)); assertEquals("jp.agentec.sinaburocast.common.util.SinaburoUtilTest", SinaburoUtil.getCaller(1)); assertEquals("sun.reflect.NativeMethodAccessorImpl", SinaburoUtil.getCaller(2)); } @SuppressWarnings("unchecked") @Test public void testExtractRegexString() { assertEquals("0.5.3.", SinaburoUtil.extractRegexString("0.5.3.1", "(\\d\\.\\d\\.\\d\\.)", 1)); List list = SinaburoUtil.extractRegexString(" File: `/cyg_drive//ecl_ipse//work_space/'", "/(.*?)_(.*?)/", new int[] {1, 2}); assertEquals("[[cyg, drive], [ecl, ipse], [work, space]]", list.toString()); } @Test public void testHasDoubleByte() { assertFalse(SinaburoUtil.hasDoubleByte(null)); assertFalse(SinaburoUtil.hasDoubleByte("")); assertFalse(SinaburoUtil.hasDoubleByte("a")); assertFalse(SinaburoUtil.hasDoubleByte("abc")); assertFalse(SinaburoUtil.hasDoubleByte(" ")); assertTrue(SinaburoUtil.hasDoubleByte("あ")); assertTrue(SinaburoUtil.hasDoubleByte("aabcdあ hiuiruire")); assertFalse(SinaburoUtil.hasDoubleByte("aabcd hiuiruire - 45678676 &%$#\"#[] {}*`_?><")); assertTrue(SinaburoUtil.hasDoubleByte("java\203l\203b\203g\203\217\201[\203N\203v\203\215\203O\203\211\203~\203\223\203O.PNG")); assertFalse(SinaburoUtil.hasDoubleByte("1")); assertTrue(SinaburoUtil.hasDoubleByte("1")); assertTrue(SinaburoUtil.hasDoubleByte("①")); assertTrue(SinaburoUtil.hasDoubleByte("一")); } @Test public void testCygwinToWin() { assertEquals("c:/hoge/bar/foo", SinaburoUtil.cygwinToWin("/cygdrive/c/hoge/bar/foo", true)); assertEquals("d:/hoge/bar/foo", SinaburoUtil.cygwinToWin("/cygdrive/d/hoge/bar/foo", true)); assertEquals("c:/hoge/bar/foo", SinaburoUtil.cygwinToWin("c:/hoge/bar/foo", true)); assertEquals("/hoge/bar/foo", SinaburoUtil.cygwinToWin("/hoge/bar/foo", true)); assertEquals("/hoge/bar/foo", SinaburoUtil.cygwinToWin("/cygdrive/c/hoge/bar/foo", false)); assertEquals("/hoge/bar/foo", SinaburoUtil.cygwinToWin("/cygdrive/d/hoge/bar/foo", false)); assertEquals("c:/hoge/bar/foo", SinaburoUtil.cygwinToWin("c:/hoge/bar/foo", false)); assertEquals("c:/hoge/bar/foo", SinaburoUtil.cygwinToWin("c:\\hoge\\bar\\foo", false)); assertEquals("/hoge/bar/foo", SinaburoUtil.cygwinToWin("/hoge/bar/foo", false)); } @Test public void testWinToCygwin() { assertEquals("/cygdrive/c/hoge/bar/foo", SinaburoUtil.winToCygwin("c:/hoge/bar/foo")); assertEquals("/cygdrive/d/hoge/bar/foo", SinaburoUtil.winToCygwin("d:/hoge/bar/foo")); assertEquals("/cygdrive/c/hoge/bar/foo", SinaburoUtil.winToCygwin("c:\\hoge\\bar\\foo")); assertEquals("/cygdrive/d/hoge/bar/foo", SinaburoUtil.winToCygwin("d:\\hoge\\bar\\foo")); assertEquals("/cygdrive/c/hoge/bar/foo", SinaburoUtil.winToCygwin("/hoge/bar/foo")); assertEquals("/cygdrive/c/hoge/bar/foo", SinaburoUtil.winToCygwin("/cygdrive/c/hoge/bar/foo")); } @Test public void testToLinuxPath() { assertEquals("/hoge/bar/foo", SinaburoUtil.toLinuxPath("\\hoge\\bar\\foo")); assertEquals("/hoge/bar/foo", SinaburoUtil.toLinuxPath("c:\\hoge\\bar\\foo")); assertEquals("/hoge/bar/foo", SinaburoUtil.toLinuxPath("c:/hoge/bar/foo")); } @Test public void testToWinPath() { assertEquals("\\hoge\\bar\\foo", SinaburoUtil.toWinPath("/hoge/bar/foo")); } @Test public void testToMd5Hash() { assertEquals("76c89099a45da15034a1d578e171c7df", SinaburoUtil.toMd5Hash("/cygdrive/c/hoge/bar/foo")); assertEquals("80a9869ba747d008628cd399d0689315", SinaburoUtil.toMd5Hash("/cygdrive/c/hoge/bar/foo/")); assertEquals("80a9869ba747d008628cd399d0689315", SinaburoUtil.toMd5Hash("/cygdrive/c/hoge/bar/foo/")); System.out.println(SinaburoUtil.toMd5Hash("/cygdrive/c/hoge/bar/foo/").length()); } // @SuppressWarnings("unchecked") // @Test // public void testGetKey() { // Map map = new HashMap(); // map.put("keyA", "valA"); // map.put("keyB", "valB"); // map.put("keyC", "valC"); // assertEquals("keyA", SinaburoUtil.getKey(map, "valA")); // assertEquals("keyB", SinaburoUtil.getKey(map, "valB")); // assertEquals("keyC", SinaburoUtil.getKey(map, "valC")); // assertNull(SinaburoUtil.getKey(map, "")); // assertNull(SinaburoUtil.getKey(map, null)); // } @Test public void testFormatByte() { assertEquals("0B", SinaburoUtil.formatByte(0)); assertEquals("1000B", SinaburoUtil.formatByte(1000)); assertEquals("1K", SinaburoUtil.formatByte(1024)); assertEquals("1M", SinaburoUtil.formatByte(1024*1024)); assertEquals("1G", SinaburoUtil.formatByte(1024*1024*1024)); assertEquals("1K", SinaburoUtil.formatByte(1024 + 200)); assertEquals("200K", SinaburoUtil.formatByte(1024*200)); } @Test public void testHasSlash() { assertTrue(SinaburoUtil.hasSlash("aaa/aaa")); assertTrue(SinaburoUtil.hasSlash("/")); assertFalse(SinaburoUtil.hasSlash("aaaaaa")); assertFalse(SinaburoUtil.hasSlash("")); assertFalse(SinaburoUtil.hasSlash(null)); } @Test public void testGetCurrentDirectory() { // assertEquals("C:\\Prog\\pleiades-e3.5-ultimate_20090930\\workspace\\contentmgmt", SinaburoUtil.getCurrentDirectory()); } @Test public void testGetFileName() { assertNull(SinaburoUtil.getFileName(null)); assertEquals("", SinaburoUtil.getFileName("")); assertEquals("aaa", SinaburoUtil.getFileName("/aaa")); assertEquals("aaa", SinaburoUtil.getFileName("hoge/aaa")); assertEquals("aaa.txt", SinaburoUtil.getFileName("hoge\\aaa.txt")); assertEquals("aaa", SinaburoUtil.getFileName("c:/hoge/aaa")); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#dateDispFormat(java.sql.Timestamp)} のためのテスト・メソッド。 * nullテスト */ @Test public final void testDateDispFormat_null() { assertNull(SinaburoUtil.dateDispFormat(null)); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#dateDispFormat(java.sql.Timestamp)} のためのテスト・メソッド。 * epoc前後 */ @Test public final void testDateDispFormat_epoc() { // LATER:armia このままだとTZがJSTの時にしか成功しない assertEquals("1969/12/30", SinaburoUtil.dateDispFormat(new Timestamp(-(24L+9) * 60 * 60 * 1000 - 1))); assertEquals("1969/12/31", SinaburoUtil.dateDispFormat(new Timestamp(-(24L+9) * 60 * 60 * 1000))); assertEquals("1969/12/31", SinaburoUtil.dateDispFormat(new Timestamp(-9L * 60 * 60 * 1000 - 1))); assertEquals("1970/01/01", SinaburoUtil.dateDispFormat(new Timestamp(-9L * 60 * 60 * 1000))); assertEquals("1970/01/01", SinaburoUtil.dateDispFormat(new Timestamp(-1L))); assertEquals("1970/01/01", SinaburoUtil.dateDispFormat(new Timestamp(0L))); assertEquals("1970/01/01", SinaburoUtil.dateDispFormat(new Timestamp(1L))); assertEquals("1970/01/01", SinaburoUtil.dateDispFormat(new Timestamp((24L-9) * 60 * 60 * 1000 - 1))); assertEquals("1970/01/02", SinaburoUtil.dateDispFormat(new Timestamp((24L-9) * 60 * 60 * 1000))); assertEquals("1970/01/02", SinaburoUtil.dateDispFormat(new Timestamp((48L-9) * 60 * 60 * 1000 - 1))); assertEquals("1970/01/03", SinaburoUtil.dateDispFormat(new Timestamp((48L-9) * 60 * 60 * 1000))); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#dateDispFormat(java.sql.Timestamp)} のためのテスト・メソッド。 * 日常的によく見かける日時 */ @Test public final void testDateDispFormat_typical() { assertEquals("1999/01/02", SinaburoUtil.dateDispFormat(Timestamp.valueOf("1999-01-02 12:34:56.777777777"))); assertEquals("2001/10/20", SinaburoUtil.dateDispFormat(Timestamp.valueOf("2001-10-20 13:35:57.888888888"))); assertEquals("3000/11/22", SinaburoUtil.dateDispFormat(Timestamp.valueOf("3000-11-22 14:36:58.999999999"))); assertEquals("9999/12/31", SinaburoUtil.dateDispFormat(Timestamp.valueOf("9999-12-31 11:32:55.0"))); Calendar cal = Calendar.getInstance(); cal.clear(); cal.set(10000, 0, 1, 2, 3, 4); Timestamp ts = new Timestamp(cal.getTimeInMillis()); ts.setNanos(123456789); assertEquals("10000/01/01", SinaburoUtil.dateDispFormat(ts)); } // arima:紀元前のテスト ⇒いらない @SuppressWarnings("unused") static private class TestClass { private final String s = "hoge"; private final Integer i = 12; private final Object obj = "obj"; } @Test public void testGetFieldObject() { TestClass test = new TestClass(); assertEquals("hoge", SinaburoUtil.getFieldValue(test, "s")); assertEquals(12, SinaburoUtil.getFieldValue(test, "i")); assertEquals("obj", SinaburoUtil.getFieldValue(test, "obj")); } @Test public void testGetField() { TestClass test = new TestClass(); assertEquals("private final java.lang.String jp.agentec.sinaburocast.common.util.SinaburoUtilTest$TestClass.s", SinaburoUtil.getField(test, "s").toString()); } @Test public void testGetFieldValue() { TestClass test = new TestClass(); Field f = SinaburoUtil.getField(test, "s"); assertEquals("hoge", SinaburoUtil.getFieldValue(test, f)); } @Test public void testGetDate() { assertEquals("Thu May 20 00:00:00 JST 2010", SinaburoUtil.getDate(2010,5,20).toString()); assertEquals("Thu May 20 08:23:45 JST 2010", SinaburoUtil.getDate(2010,5,20, 8,23,45).toString()); } @Test public void testZvl() { assertEquals(2, SinaburoUtil.zvl(0, 2)); assertEquals(1, SinaburoUtil.zvl(1, 2)); } @Test public void testParseShort(){ assertEquals(2, SinaburoUtil.toShort("2")); assertEquals(0, SinaburoUtil.toShort(null)); assertEquals(32767, SinaburoUtil.toShort("32767")); assertEquals(0, SinaburoUtil.toShort("32768")); } @Test public void testGetFilenameWithoutExt() { assertEquals("", SinaburoUtil.getFilenameWithoutExt("")); assertEquals("abc", SinaburoUtil.getFilenameWithoutExt("abc")); assertEquals("aaa", SinaburoUtil.getFilenameWithoutExt("aaa.properties")); assertEquals("bbb", SinaburoUtil.getFilenameWithoutExt("bbb.")); } @Test public void testSetField() { TestClass test = new TestClass(); SinaburoUtil.setField(test, "s", "hoge"); assertEquals("hoge", test.s); } @Test public void testEqualsAny() { assertEquals(true, SinaburoUtil.equalsAny("aa", "bb", "aa", "cc")); assertEquals(false, SinaburoUtil.equalsAny("dd", "b", "a", "cc")); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#makeLikePattern(java.lang.String)} のためのテスト・メソッド。 * * 異常系; null */ @Test public final void testMakeLikePattern_null() { assertNull(SinaburoUtil.makeLikePattern(null)); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#makeLikePattern(java.lang.String)} のためのテスト・メソッド。 * * 空文字列・空白文字 */ @Test public final void testMakeLikePattern_blank() { assertEquals("", SinaburoUtil.makeLikePattern("")); assertEquals("% %", SinaburoUtil.makeLikePattern(" ")); assertEquals("%\t \r\n%", SinaburoUtil.makeLikePattern("\t \r\n")); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#makeLikePattern(java.lang.String)} のためのテスト・メソッド。 * * 置き換えが起こらないパターン */ @Test public final void testMakeLikePattern_notReplaced() { assertEquals("%abcDEF%", SinaburoUtil.makeLikePattern("abcDEF")); assertEquals("%abcDEF%", SinaburoUtil.makeLikePattern("abcDEF")); assertEquals("%あかさたなハマヤラワ%", SinaburoUtil.makeLikePattern("あかさたなハマヤラワ")); assertEquals("%表%", SinaburoUtil.makeLikePattern("表")); assertEquals("%東京特許許可局%", SinaburoUtil.makeLikePattern("東京特許許可局")); assertEquals("%とにかくうんざりするほど長くて嫌になる文字列1" + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + "とにかくうんざりするほど長くて嫌になる文字列2" + "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" + "とにかくうんざりするほど長くて嫌になる文字列3" + "cccccccccccccccccccccccccccccc" + "とにかくうんざりするほど長くて嫌になる文字列4" + "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" + "とにかくうんざりするほど長くて嫌になる文字列5" + "eeeeeeeeeeeeeeeeeeeeeeeeeeeeee" + "とにかくうんざりするほど長くて嫌になる文字列6" + "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + "とにかくうんざりするほど長くて嫌になる文字列7" + "gggggggggggggggggggggggggggggg" + "とにかくうんざりするほど長くて嫌になる文字列8" + "HHHHHHHHHHHHHHHHHHHHHHHHHHHHHH" + "とにかくうんざりするほど長くて嫌になる文字列9" + "iiiiiiiiiiiiiiiiiiiiiiiiiiiiii" + "とにかくうんざりするほど長くて嫌になる文字列10" + "JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ" + "とにかくうんざりするほど長くて嫌になる文字列11" + "kkkkkkkkkkkkkkkkkkkkkkkkkkkkkk" + "とにかくうんざりするほど長くて嫌になる文字列12" + "LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL" + "とにかくうんざりするほど長くて嫌になる文字列13" + "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmm" + "とにかくうんざりするほど長くて嫌になる文字列14" + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNN" + "とにかくうんざりするほど長くて嫌になる文字列15" + "oooooooooooooooooooooooooooooo" + "とにかくうんざりするほど長くて嫌になる文字列16" + "PPPPPPPPPPPPPPPPPPPPPPPPPPPPPP" + "とにかくうんざりするほど長くて嫌になる文字列17" + "qqqqqqqqqqqqqqqqqqqqqqqqqqqqqq" + "とにかくうんざりするほど長くて嫌になる文字列18" + "RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR" + "とにかくうんざりするほど長くて嫌になる文字列19" + "ssssssssssssssssssssssssssssss" + "とにかくうんざりするほど長くて嫌になる文字列20" + "TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT" + "とにかくうんざりするほど長くて嫌になる文字列21" + "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu" + "とにかくうんざりするほど長くて嫌になる文字列22" + "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV" + "とにかくうんざりするほど長くて嫌になる文字列23" + "wwwwwwwwwwwwwwwwwwwwwwwwwwwwww" + "とにかくうんざりするほど長くて嫌になる文字列24" + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + "とにかくうんざりするほど長くて嫌になる文字列25" + "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy" + "とにかくうんざりするほど長くて嫌になる文字列26" + "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ%", SinaburoUtil.makeLikePattern("とにかくうんざりするほど長くて嫌になる文字列1" + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + "とにかくうんざりするほど長くて嫌になる文字列2" + "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" + "とにかくうんざりするほど長くて嫌になる文字列3" + "cccccccccccccccccccccccccccccc" + "とにかくうんざりするほど長くて嫌になる文字列4" + "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" + "とにかくうんざりするほど長くて嫌になる文字列5" + "eeeeeeeeeeeeeeeeeeeeeeeeeeeeee" + "とにかくうんざりするほど長くて嫌になる文字列6" + "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + "とにかくうんざりするほど長くて嫌になる文字列7" + "gggggggggggggggggggggggggggggg" + "とにかくうんざりするほど長くて嫌になる文字列8" + "HHHHHHHHHHHHHHHHHHHHHHHHHHHHHH" + "とにかくうんざりするほど長くて嫌になる文字列9" + "iiiiiiiiiiiiiiiiiiiiiiiiiiiiii" + "とにかくうんざりするほど長くて嫌になる文字列10" + "JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ" + "とにかくうんざりするほど長くて嫌になる文字列11" + "kkkkkkkkkkkkkkkkkkkkkkkkkkkkkk" + "とにかくうんざりするほど長くて嫌になる文字列12" + "LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL" + "とにかくうんざりするほど長くて嫌になる文字列13" + "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmm" + "とにかくうんざりするほど長くて嫌になる文字列14" + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNN" + "とにかくうんざりするほど長くて嫌になる文字列15" + "oooooooooooooooooooooooooooooo" + "とにかくうんざりするほど長くて嫌になる文字列16" + "PPPPPPPPPPPPPPPPPPPPPPPPPPPPPP" + "とにかくうんざりするほど長くて嫌になる文字列17" + "qqqqqqqqqqqqqqqqqqqqqqqqqqqqqq" + "とにかくうんざりするほど長くて嫌になる文字列18" + "RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR" + "とにかくうんざりするほど長くて嫌になる文字列19" + "ssssssssssssssssssssssssssssss" + "とにかくうんざりするほど長くて嫌になる文字列20" + "TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT" + "とにかくうんざりするほど長くて嫌になる文字列21" + "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu" + "とにかくうんざりするほど長くて嫌になる文字列22" + "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV" + "とにかくうんざりするほど長くて嫌になる文字列23" + "wwwwwwwwwwwwwwwwwwwwwwwwwwwwww" + "とにかくうんざりするほど長くて嫌になる文字列24" + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + "とにかくうんざりするほど長くて嫌になる文字列25" + "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy" + "とにかくうんざりするほど長くて嫌になる文字列26" + "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ")); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#makeLikePattern(java.lang.String)} のためのテスト・メソッド。 * * 置き換えが起こるパターン */ @Test public final void testMakeLikePattern_replaced() { assertEquals("%\\%%", SinaburoUtil.makeLikePattern("%")); assertEquals("%\\_%", SinaburoUtil.makeLikePattern("_")); assertEquals("%\\\\%", SinaburoUtil.makeLikePattern("\\")); assertEquals("%a\\%B%", SinaburoUtil.makeLikePattern("a%B")); assertEquals("%c\\_D%", SinaburoUtil.makeLikePattern("c_D")); assertEquals("%\\%表\\_と\\\\裏%", SinaburoUtil.makeLikePattern("%表_と\\裏")); assertEquals("%とにかくうんざりするほど\\%長くて嫌になる文字列1" + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + "とにかくうんざりするほど\\_長くて嫌になる文字列2" + "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" + "とにかくうんざりするほど\\\\長くて嫌になる文字列3" + "cccccccccccccccccccccccccccccc" + "とにかくうんざりするほど\\%\\%長くて嫌になる文字列4" + "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" + "とにかくうんざりするほど\\_\\_長くて嫌になる文字列5" + "eeeeeeeeeeeeeeeeeeeeeeeeeeeeee" + "とにかくうんざりするほど\\\\\\\\長くて嫌になる文字列6" + "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + "とにかくうんざりするほど\\%\\%\\%長くて嫌になる文字列7" + "gggggggggggggggggggggggggggggg" + "とにかくうんざりするほど\\_\\_\\_長くて嫌になる文字列8" + "HHHHHHHHHHHHHHHHHHHHHHHHHHHHHH" + "とにかくうんざりするほど\\\\\\\\\\\\長くて嫌になる文字列9" + "iiiiiiiiiiiiiiiiiiiiiiiiiiiiii" + "とにかくうんざりするほど\\%\\%\\%\\%長くて嫌になる文字列10" + "JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ" + "とにかくうんざりするほど\\_\\_\\_\\_長くて嫌になる文字列11" + "kkkkkkkkkkkkkkkkkkkkkkkkkkkkkk" + "とにかくうんざりするほど\\\\\\\\\\\\\\\\長くて嫌になる文字列12" + "LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL" + "とにかくうんざりするほど\\%\\%\\%\\%\\%長くて嫌になる文字列13" + "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmm" + "とにかくうんざりするほど\\_\\_\\_\\_\\_長くて嫌になる文字列14" + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNN" + "とにかくうんざりするほど\\\\\\\\\\\\\\\\\\\\長くて嫌になる文字列15" + "oooooooooooooooooooooooooooooo" + "とにかくうんざりするほど\\%\\%\\%\\%\\%\\%長くて嫌になる文字列16" + "PPPPPPPPPPPPPPPPPPPPPPPPPPPPPP" + "とにかくうんざりするほど\\_\\_\\_\\_\\_\\_長くて嫌になる文字列17" + "qqqqqqqqqqqqqqqqqqqqqqqqqqqqqq" + "とにかくうんざりするほど\\\\\\\\\\\\\\\\\\\\\\\\長くて嫌になる文字列18" + "RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR" + "とにかくうんざりするほど\\%\\%\\%\\%\\%\\%\\%長くて嫌になる文字列19" + "ssssssssssssssssssssssssssssss" + "とにかくうんざりするほど\\_\\_\\_\\_\\_\\_\\_長くて嫌になる文字列20" + "TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT" + "とにかくうんざりするほど\\\\\\\\\\\\\\\\\\\\\\\\\\\\長くて嫌になる文字列21" + "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu" + "とにかくうんざりするほど\\%\\%\\%\\%\\%\\%\\%\\%長くて嫌になる文字列22" + "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV" + "とにかくうんざりするほど\\_\\_\\_\\_\\_\\_\\_\\_長くて嫌になる文字列23" + "wwwwwwwwwwwwwwwwwwwwwwwwwwwwww" + "とにかくうんざりするほど\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\長くて嫌になる文字列24" + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + "とにかくうんざりするほど\\%\\%\\%\\%\\%\\%\\%\\%\\%長くて嫌になる文字列25" + "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy" + "とにかくうんざりするほど\\_\\_\\_\\_\\_\\_\\_\\_\\_長くて嫌になる文字列26" + "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ%", SinaburoUtil.makeLikePattern("とにかくうんざりするほど%長くて嫌になる文字列1" + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + "とにかくうんざりするほど_長くて嫌になる文字列2" + "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB" + "とにかくうんざりするほど\\長くて嫌になる文字列3" + "cccccccccccccccccccccccccccccc" + "とにかくうんざりするほど%%長くて嫌になる文字列4" + "DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD" + "とにかくうんざりするほど__長くて嫌になる文字列5" + "eeeeeeeeeeeeeeeeeeeeeeeeeeeeee" + "とにかくうんざりするほど\\\\長くて嫌になる文字列6" + "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" + "とにかくうんざりするほど%%%長くて嫌になる文字列7" + "gggggggggggggggggggggggggggggg" + "とにかくうんざりするほど___長くて嫌になる文字列8" + "HHHHHHHHHHHHHHHHHHHHHHHHHHHHHH" + "とにかくうんざりするほど\\\\\\長くて嫌になる文字列9" + "iiiiiiiiiiiiiiiiiiiiiiiiiiiiii" + "とにかくうんざりするほど%%%%長くて嫌になる文字列10" + "JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ" + "とにかくうんざりするほど____長くて嫌になる文字列11" + "kkkkkkkkkkkkkkkkkkkkkkkkkkkkkk" + "とにかくうんざりするほど\\\\\\\\長くて嫌になる文字列12" + "LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL" + "とにかくうんざりするほど%%%%%長くて嫌になる文字列13" + "mmmmmmmmmmmmmmmmmmmmmmmmmmmmmm" + "とにかくうんざりするほど_____長くて嫌になる文字列14" + "NNNNNNNNNNNNNNNNNNNNNNNNNNNNNN" + "とにかくうんざりするほど\\\\\\\\\\長くて嫌になる文字列15" + "oooooooooooooooooooooooooooooo" + "とにかくうんざりするほど%%%%%%長くて嫌になる文字列16" + "PPPPPPPPPPPPPPPPPPPPPPPPPPPPPP" + "とにかくうんざりするほど______長くて嫌になる文字列17" + "qqqqqqqqqqqqqqqqqqqqqqqqqqqqqq" + "とにかくうんざりするほど\\\\\\\\\\\\長くて嫌になる文字列18" + "RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR" + "とにかくうんざりするほど%%%%%%%長くて嫌になる文字列19" + "ssssssssssssssssssssssssssssss" + "とにかくうんざりするほど_______長くて嫌になる文字列20" + "TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT" + "とにかくうんざりするほど\\\\\\\\\\\\\\長くて嫌になる文字列21" + "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu" + "とにかくうんざりするほど%%%%%%%%長くて嫌になる文字列22" + "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV" + "とにかくうんざりするほど________長くて嫌になる文字列23" + "wwwwwwwwwwwwwwwwwwwwwwwwwwwwww" + "とにかくうんざりするほど\\\\\\\\\\\\\\\\長くて嫌になる文字列24" + "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" + "とにかくうんざりするほど%%%%%%%%%長くて嫌になる文字列25" + "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy" + "とにかくうんざりするほど_________長くて嫌になる文字列26" + "ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ")); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#makeLikePattern(java.lang.String)} のためのテスト・メソッド。 */ @Test public final void testMakeLikePattern() { } @Test public void testToNull() { assertEquals("a", SinaburoUtil.toNull("a")); assertNull(SinaburoUtil.toNull("")); assertNull(SinaburoUtil.toNull(null)); } @Test public void testCalculateDiskVolume() { Long diskVolume = null; Long diskVolume0 = 999L; Long diskVolume1 = 1000L; Long diskVolume2 = 1000000L; Long diskVolume3 = 1000000000L; Long diskVolume4 = 1000000000000L; Long diskVolume5 = 1000000000000000L; Long diskVolume6 = 1000000000000000000L; Long diskVolume7 = 1025L; Long diskVolume8 = 1048576L; Long diskVolume9 = 42949672960L; System.out.println(SinaburoUtil.calculateDiskVolume(diskVolume)); System.out.println(SinaburoUtil.calculateDiskVolume(diskVolume0)); System.out.println(SinaburoUtil.calculateDiskVolume(diskVolume1)); System.out.println(SinaburoUtil.calculateDiskVolume(diskVolume2)); System.out.println(SinaburoUtil.calculateDiskVolume(diskVolume3)); System.out.println(SinaburoUtil.calculateDiskVolume(diskVolume4)); System.out.println(SinaburoUtil.calculateDiskVolume(diskVolume5)); System.out.println(SinaburoUtil.calculateDiskVolume(diskVolume6)); System.out.println(SinaburoUtil.calculateDiskVolume(diskVolume7)); System.out.println(SinaburoUtil.calculateDiskVolume(diskVolume8)); System.out.println(SinaburoUtil.calculateDiskVolume(diskVolume9)); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#getBrief(String, int)} のためのテスト・メソッド。 * * maxlengthが負 */ @Test(expected=IllegalArgumentException.class) public final void testGetBrief_tooShort1() { SinaburoUtil.getBrief("aaaBBBあああイイイ", -1); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#getBrief(String, int)} のためのテスト・メソッド。 * * maxlengthが0 */ @Test(expected=IllegalArgumentException.class) public final void testGetBrief_tooShort2() { SinaburoUtil.getBrief("cccDDDうううエエエ", 0); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#getBrief(String, int)} のためのテスト・メソッド。 * * maxlengthが小さすぎる */ @Test(expected=IllegalArgumentException.class) public final void testGetBrief_tooShort3() { SinaburoUtil.getBrief("eeeFFFおおおカカカ", 2); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#getBrief(String, int)} のためのテスト・メソッド。 * * null, 空文字列 */ @Test public final void testGetBrief_empty() { assertEquals("", SinaburoUtil.getBrief(null, 3)); assertEquals("", SinaburoUtil.getBrief("", 3)); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#getBrief(String, int)} のためのテスト・メソッド。 * * 省略不要なパターン */ @Test public final void testGetBrief_notShorten() { assertEquals("eeeFFFおおおカカカ", SinaburoUtil.getBrief("eeeFFFおおおカカカ", 15)); assertEquals("gggHHHきききククク", SinaburoUtil.getBrief("gggHHHきききククク", 12)); assertEquals("iii", SinaburoUtil.getBrief("iii", 3)); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#getBrief(String, int)} のためのテスト・メソッド。 * * 省略されるパターン */ @Test public final void testGetBrief_shorten() { assertEquals("eeeFFFお...", SinaburoUtil.getBrief("eeeFFFおおおカカカ", 10)); assertEquals("g...", SinaburoUtil.getBrief("gggHHHきききククク", 4)); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#getBrief(String, int)} のためのテスト・メソッド。 * * ...だけになるパターン */ @Test public final void testGetBrief_shorten2() { assertEquals("...", SinaburoUtil.getBrief("iiiJJJけけけコココ", 3)); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#getBrief2(String, String, int)} のためのテスト・メソッド。 * * maxlengthが負 */ @Test(expected=IllegalArgumentException.class) public final void testGetBrief2_tooShort1() { SinaburoUtil.getBrief2("aaaBBB", "あああイイイ", -1); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#getBrief2(String, String, int)} のためのテスト・メソッド。 * * maxlengthが0 */ @Test(expected=IllegalArgumentException.class) public final void testGetBrief2_tooShort2() { SinaburoUtil.getBrief2("cccDDD", "うううエエエ", 0); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#getBrief2(String, String, int)} のためのテスト・メソッド。 * * maxlengthが小さすぎる */ @Test(expected=IllegalArgumentException.class) public final void testGetBrief2_tooShort3() { SinaburoUtil.getBrief2("eeeFFF", "おおおカカカ", 5); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#getBrief2(String, String, int)} のためのテスト・メソッド。 * * null, 空文字列 */ @Test public final void testGetBrief2_empty() { assertEquals(" ", SinaburoUtil.getBrief2(null, null, 6)); assertEquals(" ", SinaburoUtil.getBrief2(null, "", 6)); assertEquals(" ", SinaburoUtil.getBrief2("", null, 6)); assertEquals(" ", SinaburoUtil.getBrief2("", "", 6)); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#getBrief2(String, String, int)} のためのテスト・メソッド。 * * 省略不要なパターン */ @Test public final void testGetBrief2_notShorten() { assertEquals("eeeFFF おおおカカカ", SinaburoUtil.getBrief2("eeeFFF", "おおおカカカ", 15)); assertEquals("gggHHH きききククク", SinaburoUtil.getBrief2("gggHHH", "きききククク", 12)); assertEquals("iiiiii ", SinaburoUtil.getBrief2("iiiiii", null, 6)); assertEquals("jjjjjj ", SinaburoUtil.getBrief2("jjjjjj", "", 6)); assertEquals(" kkkkkk", SinaburoUtil.getBrief2(null, "kkkkkk", 6)); assertEquals(" llllll", SinaburoUtil.getBrief2(null, "llllll", 6)); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#getBrief2(String, String, int)} のためのテスト・メソッド。 * * str1が省略されるパターン */ @Test public final void testGetBrief2_shortenFormer() { assertEquals("e... おおおカカカ", SinaburoUtil.getBrief2("eeeFFF", "おおおカカカ", 10)); assertEquals("... きききククク毛", SinaburoUtil.getBrief2("gggHHH", "きききククク毛", 10)); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#getBrief2(String, String, int)} のためのテスト・メソッド。 * * str1が省略されるパターン */ @Test public final void testGetBrief2_shortenLatter() { assertEquals("eee FFFお...", SinaburoUtil.getBrief2("eee", "FFFおおおカカカ", 10)); assertEquals("ggg ...", SinaburoUtil.getBrief2("ggg", "HHHきききククク毛毛毛", 6)); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#getBrief2(String, String, int)} のためのテスト・メソッド。 * * 双方が省略されるパターン */ @Test public final void testGetBrief2_shortenBoth() { assertEquals("iii... kkk...", SinaburoUtil.getBrief2("iiiJJJこここサササ", "kkkLLLしししススス", 13)); } /** * {@link jp.agentec.sinaburocast.common.util.SinaburoUtil#getBrief2(String, String, int)} のためのテスト・メソッド。 * * ...だけになるパターン */ @Test public final void testGetBrief2_ellipsis() { assertEquals("... ...", SinaburoUtil.getBrief2("iiiJJJ", "けけけコココ", 6)); } @Test public final void testInclude() { assertTrue(SinaburoUtil.include(12, 4)); assertFalse(SinaburoUtil.include(12, 3)); // assertTrue(SinaburoUtil.include(8192, ResourceStatus.PDF_LINK_EXTRACTED)); } @Test public void testIsHex() { assertTrue(SinaburoUtil.isHex("890423")); assertTrue(SinaburoUtil.isHex("2fb6ee45181d73d440cfb71153e1bff5104a2de1367da4fafb29b07d06e89770")); assertTrue(SinaburoUtil.isHex("ABCDEF09876")); assertFalse(SinaburoUtil.isHex("890abcedfg423")); assertFalse(SinaburoUtil.isHex("fsudiao")); } @Test public void testPrepend() { assertEquals("", SinaburoUtil.prepend("", ":")); assertEquals("aaa:", SinaburoUtil.prepend("aaa", ":")); assertEquals("", SinaburoUtil.prepend(null, ":")); } @Test public void testIsIp4Address() { assertFalse(SinaburoUtil.isIp4Address(null)); assertFalse(SinaburoUtil.isIp4Address("")); assertFalse(SinaburoUtil.isIp4Address("0:0:0:0:0:0:0:0")); assertTrue(SinaburoUtil.isIp4Address("0.0.0.0")); assertTrue(SinaburoUtil.isIp4Address("192.168.11.3")); assertTrue(SinaburoUtil.isIp4Address("221.122.12.14")); } @Test public void checkDate() { assertFalse(SinaburoUtil.checkDate(null)); assertFalse(SinaburoUtil.checkDate("")); assertFalse(SinaburoUtil.checkDate("1/2/3")); assertTrue(SinaburoUtil.checkDate("1900-3-4")); assertTrue(SinaburoUtil.checkDate("1900/03/04")); assertTrue(SinaburoUtil.checkDate("2900/1/1")); assertTrue(SinaburoUtil.checkDate("2012/02/29")); assertFalse(SinaburoUtil.checkDate("2013/02/29")); assertFalse(SinaburoUtil.checkDate("2013/04/0")); assertFalse(SinaburoUtil.checkDate("2013/04/32")); } @Test public void testIsAllowedSrc() { List<String> allowedSrc = PropertyUtil.getList("IP_ALLOWED_SRC"); assertTrue(SinaburoUtil.isAllowedSrc("192.168.1.14", allowedSrc)); assertFalse(SinaburoUtil.isAllowedSrc("192.12.1.14", allowedSrc)); assertTrue(SinaburoUtil.isAllowedSrc("219.106.249.241", allowedSrc)); assertTrue(SinaburoUtil.isAllowedSrc("210.2.193.190", allowedSrc)); assertTrue(SinaburoUtil.isAllowedSrc("210.253.181.158", allowedSrc)); } }