package com.softwaremill.common.util; import com.google.common.collect.Lists; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; import static org.assertj.core.api.Assertions.assertThat; public class ObjectUtilTest { @Test public void shouldMarkNullAsNonPositive() { // when boolean positive = ObjectUtil.isPositive(null); // then assertThat(positive).isFalse(); } @Test public void shouldMarkNullAsNonZero() { // when boolean isZero = ObjectUtil.isZero(null); // then assertThat(isZero).isFalse(); } @Test(dataProvider = "dataForIsEmptyTesting") public void testIsEmptyMethod(Object object, boolean expectedResult) { // when boolean isEmpty = ObjectUtil.isEmpty(object); // then assertThat(isEmpty).isEqualTo(expectedResult); } @DataProvider(name = "dataForIsEmptyTesting") public Object[][] provideDataForIsEmptyTesting() { return new Object[][] { new Object[] {null, true }, new Object[] {"", true }, new Object[] {" ", true }, new Object[] {Lists.newArrayList(), true }, new Object[] {new String[0], true}, new Object[] {12L, false }, new Object[] {"not-empty", false}, new Object[] {Lists.newArrayList("1", "2"), false}, new Object[] {new String[] {"abc"}, false } }; } }