package com.gh.mygreen.xlsmapper;
import static org.junit.Assert.assertThat;
import static org.hamcrest.CoreMatchers.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.Test;
/**
* {@link IsEmptyBuilder}のテスタ。
* @since 0.5
* @author T.TSUCHIE
*
*/
public class IsEmptyBuilderTest {
@AfterClass
public static void tearDownAfterClass() throws Exception {
}
@Before
public void setUp() throws Exception {
}
@After
public void tearDown() throws Exception {
}
@Test
public void test_default() {
assertThat(new IsEmptyBuilder().isEmpty(), is(true));
assertThat(new IsEmptyBuilder().isNotEmpty(), is(false));
}
@Test
public void test_String() {
assertThat(new IsEmptyBuilder().append("").isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append("Hello").isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append(" ").isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append(" ", true).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(" abc ", true).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append((Object)"Hello").isEmpty(), is(false));
}
@Test
public void test_char() {
assertThat(new IsEmptyBuilder().append("a".charAt(0)).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append(" ".charAt(0)).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append(" ".charAt(0), true).isEmpty(), is(true));
}
@Test
public void test_boolean() {
assertThat(new IsEmptyBuilder().append(true).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append(false).isEmpty(), is(true));
}
@Test
public void test_byte() {
assertThat(new IsEmptyBuilder().append((byte)0).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withZeroAsEmpty(false)).append((byte)0).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append(Byte.parseByte("1")).isEmpty(), is(false));
}
@Test
public void test_short() {
assertThat(new IsEmptyBuilder().append((short)0).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withZeroAsEmpty(false)).append((short)0).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append((short)1).isEmpty(), is(false));
}
@Test
public void test_int() {
assertThat(new IsEmptyBuilder().append((int)0).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withZeroAsEmpty(false)).append((int)0).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append((int)1).isEmpty(), is(false));
}
@Test
public void test_long() {
assertThat(new IsEmptyBuilder().append((long)0).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withZeroAsEmpty(false)).append((long)0).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append((long)1).isEmpty(), is(false));
}
@Test
public void test_float() {
assertThat(new IsEmptyBuilder().append((float)0.0).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withZeroAsEmpty(false)).append((float)0.0).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append((float)1.0).isEmpty(), is(false));
}
@Test
public void test_double() {
assertThat(new IsEmptyBuilder().append((double)0.0).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withZeroAsEmpty(false)).append((double)0.0).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append((double)1.0).isEmpty(), is(false));
}
@Test
public void test_Boolean() {
assertThat(new IsEmptyBuilder().append((Boolean)null).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(Boolean.valueOf("false")).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(Boolean.valueOf("true")).isEmpty(), is(false));
}
@Test
public void test_Character() {
assertThat(new IsEmptyBuilder().append((Character)null).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(Character.valueOf("a".charAt(0))).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append(Character.valueOf(" ".charAt(0))).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append(Character.valueOf(" ".charAt(0)), true).isEmpty(), is(true));
}
@Test
public void test_Byte() {
assertThat(new IsEmptyBuilder().append((Byte)null).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(Byte.valueOf("0")).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withZeroAsEmpty(false)).append(Byte.valueOf("0")).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append(Byte.valueOf("1")).isEmpty(), is(false));
}
@Test
public void test_Short() {
assertThat(new IsEmptyBuilder().append((Short)null).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(Short.valueOf("0")).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withZeroAsEmpty(false)).append(Short.valueOf("0")).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append(Short.valueOf("1")).isEmpty(), is(false));
}
@Test
public void test_Integer() {
assertThat(new IsEmptyBuilder().append((Integer)null).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(Integer.valueOf("0")).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withZeroAsEmpty(false)).append(Integer.valueOf("0")).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append(Integer.valueOf("1")).isEmpty(), is(false));
}
@Test
public void test_Long() {
assertThat(new IsEmptyBuilder().append((Long)null).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(Long.valueOf("0")).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withZeroAsEmpty(false)).append(Long.valueOf("0")).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append(Long.valueOf("1")).isEmpty(), is(false));
}
@Test
public void test_Float() {
assertThat(new IsEmptyBuilder().append((Float)null).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(Float.valueOf("0.0")).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withZeroAsEmpty(false)).append(Float.valueOf("0.0")).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append(Float.valueOf("1.0")).isEmpty(), is(false));
}
@Test
public void test_Double() {
assertThat(new IsEmptyBuilder().append((Double)null).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(Double.valueOf("0.0")).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withZeroAsEmpty(false)).append(Double.valueOf("0.0")).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append(Double.valueOf("1.0")).isEmpty(), is(false));
}
@Test
public void test_Object() {
assertThat(new IsEmptyBuilder().append((Object)null).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(new Sample()).isEmpty(), is(false));
}
@Test
public void test_array() {
assertThat(new IsEmptyBuilder().append((Object[])null).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(new Object[0]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(new Object[1]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withTestArrayItem(false)).append(new Object[1]).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append((String[])null).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(new String[0]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(new String[1]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withTestArrayItem(false)).append(new String[1]).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append((Object)new String[0]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append((Object)new String[1]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withTestArrayItem(false)).append((Object)new String[1]).isEmpty(), is(false));
}
@Test
public void test_array_boolean() {
assertThat(new IsEmptyBuilder().append((boolean[])null).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(new boolean[0]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(new boolean[1]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withTestArrayItem(false)).append(new boolean[1]).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append((Object)new boolean[0]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append((Object)new boolean[1]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withTestArrayItem(false)).append((Object)new boolean[1]).isEmpty(), is(false));
}
@Test
public void test_array_byte() {
assertThat(new IsEmptyBuilder().append((byte[])null).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(new byte[0]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(new byte[1]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withTestArrayItem(false)).append(new byte[1]).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append((Object)new byte[0]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append((Object)new byte[1]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withTestArrayItem(false)).append((Object)new byte[1]).isEmpty(), is(false));
}
@Test
public void test_array_char() {
assertThat(new IsEmptyBuilder().append((char[])null).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(new char[0]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(new char[1]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withTestArrayItem(false)).append(new char[1]).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append((Object)new char[0]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append((Object)new char[1]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withTestArrayItem(false)).append((Object)new char[1]).isEmpty(), is(false));
}
@Test
public void test_array_short() {
assertThat(new IsEmptyBuilder().append((short[])null).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(new short[0]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(new short[1]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withTestArrayItem(false)).append(new short[1]).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append((Object)new short[0]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append((Object)new short[1]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withTestArrayItem(false)).append((Object)new short[1]).isEmpty(), is(false));
}
@Test
public void test_array_int() {
assertThat(new IsEmptyBuilder().append((int[])null).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(new int[0]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(new int[1]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withTestArrayItem(false)).append(new int[1]).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append((Object)new int[0]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append((Object)new int[1]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withTestArrayItem(false)).append(new Object[1]).isEmpty(), is(false));
}
@Test
public void test_array_long() {
assertThat(new IsEmptyBuilder().append((long[])null).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(new long[0]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(new long[1]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withTestArrayItem(false)).append(new int[1]).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append((Object)new long[0]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append((Object)new long[1]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withTestArrayItem(false)).append((Object)new int[1]).isEmpty(), is(false));
}
@Test
public void test_array_float() {
assertThat(new IsEmptyBuilder().append((float[])null).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(new float[0]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(new float[1]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withTestArrayItem(false)).append(new float[1]).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append((Object)new float[0]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append((Object)new float[1]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withTestArrayItem(false)).append((Object)new float[1]).isEmpty(), is(false));
}
@Test
public void test_array_double() {
assertThat(new IsEmptyBuilder().append((double[])null).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(new double[0]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(new double[1]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withTestArrayItem(false)).append(new double[1]).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append((Object)new double[0]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append((Object)new double[1]).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withTestArrayItem(false)).append((Object)new double[1]).isEmpty(), is(false));
}
@Test
public void test_collection() {
assertThat(new IsEmptyBuilder().append((ArrayList<String>)null).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(new ArrayList<String>()).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(Arrays.asList("1")).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append((Object)new ArrayList<String>()).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append((Object)Arrays.asList("1")).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append((Object)Arrays.asList("")).isEmpty(), is(true));
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withTestCollectionItem(false)).append((Object)Arrays.asList("")).isEmpty(), is(false));
}
@Test
public void test_map() {
assertThat(new IsEmptyBuilder().append((Map<String, Integer>)null).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append(new HashMap<String, Integer>()).isEmpty(), is(true));
Map<String, Integer> map1 = new HashMap<String, Integer>();
map1.put("key1", 1);
assertThat(new IsEmptyBuilder().append(map1).isEmpty(), is(false));
Map<String, Integer> map2 = new HashMap<String, Integer>();
map2.put("key1", 0);
assertThat(new IsEmptyBuilder().append(map2).isEmpty(), is(true));
Map<String, Integer> map3 = new HashMap<String, Integer>();
map3.put("key1", 0);
assertThat(new IsEmptyBuilder(IsEmptyConfig.create().withTestMapItem(false)).append(map3).isEmpty(), is(false));
assertThat(new IsEmptyBuilder().append((Object)new HashMap<String, Integer>()).isEmpty(), is(true));
assertThat(new IsEmptyBuilder().append((Object)map1).isEmpty(), is(false));
}
@Test
public void test_compare() {
final String value1 = "@";
assertThat(true, is(new IsEmptyBuilder().compare(new IsEmptyComparator() {
@Override
public boolean isEmpty() {
return value1.equals("@");
}
}).isEmpty()));
final String value2 = "a";
assertThat(false, is(new IsEmptyBuilder().compare(new IsEmptyComparator() {
@Override
public boolean isEmpty() {
return value2.equals("@");
}
}).isEmpty()));
}
@Test
public void test_relection() {
assertThat(IsEmptyBuilder.reflectionIsEmpty(null), is(true));
Sample obj = new Sample();
assertThat(IsEmptyBuilder.reflectionIsEmpty(obj), is(true));
// transientも対象とする
assertThat(IsEmptyBuilder.reflectionIsEmpty(obj, IsEmptyConfig.create().withTestTransient(true)), is(false));
obj.age = 20;
assertThat(IsEmptyBuilder.reflectionIsEmpty(obj, IsEmptyConfig.create().withTestTransient(false)), is(false));
assertThat(IsEmptyBuilder.reflectionIsEmpty(obj, IsEmptyConfig.create().withTestTransient(false), "age"), is(true));
}
private static class Sample {
private static int id = 1;
private transient String name = "taro";
private int no;
protected String address;
public Integer age;
}
}