package org.odata4j.test.unit.core; import static org.hamcrest.CoreMatchers.nullValue; import static org.junit.Assert.assertThat; import java.math.BigInteger; import java.sql.Time; import java.sql.Timestamp; import java.util.Calendar; import java.util.Date; import junit.framework.Assert; import org.joda.time.Instant; import org.junit.Test; import org.odata4j.core.OProperties; import org.odata4j.core.OProperty; public class OPropertiesTest { private static final String NAME = "name"; private static final String VALUE = "value"; private static final String HEX_VALUE = "0x76616c7565"; @Test public void stringPropertyToStringTest() { OProperty<String> property = OProperties.simple(NAME, VALUE); String toString = property.toString(); Assert.assertTrue(toString.contains(NAME)); Assert.assertTrue(toString.contains(VALUE)); } @Test public void binaryPropertyToStringTest() { OProperty<byte[]> property = OProperties.simple(NAME, VALUE.getBytes()); String toString = property.toString(); Assert.assertTrue(toString.contains(NAME)); Assert.assertTrue(toString.contains(HEX_VALUE)); } @Test public void datetimeFromInstantWithNullValue() throws Exception { Instant instant = null; assertThatValueIsNull(OProperties.datetime(NAME, instant)); } @Test public void datetimeFromDateWithNullValue() throws Exception { Date date = null; assertThatValueIsNull(OProperties.datetime(NAME, date)); } @Test public void datetimeFromCalendarWithNullValue() throws Exception { Calendar calendar = null; assertThatValueIsNull(OProperties.datetime(NAME, calendar)); } @Test public void datetimeFromTimestampWithNullValue() throws Exception { Timestamp timestamp = null; assertThatValueIsNull(OProperties.datetime(NAME, timestamp)); } @Test public void datetimeFromSqlDateWithNullValue() throws Exception { java.sql.Date date = null; assertThatValueIsNull(OProperties.datetime(NAME, date)); } @Test public void datetimeFromTimeWithNullValue() throws Exception { Time time = null; assertThatValueIsNull(OProperties.datetime(NAME, time)); } @Test public void timeFromDateWithNullValue() throws Exception { Date date = null; assertThatValueIsNull(OProperties.time(NAME, date)); } @Test public void timeFromCalendarWithNullValue() throws Exception { Calendar calendar = null; assertThatValueIsNull(OProperties.time(NAME, calendar)); } @Test public void timeFromTimestampWithNullValue() throws Exception { Timestamp timestamp = null; assertThatValueIsNull(OProperties.time(NAME, timestamp)); } @Test public void timeFromTimeWithNullValue() throws Exception { Time time = null; assertThatValueIsNull(OProperties.time(NAME, time)); } @Test public void decimalFromBigIntegerWithNullValue() throws Exception { BigInteger bigInteger = null; assertThatValueIsNull(OProperties.decimal(NAME, bigInteger)); } private void assertThatValueIsNull(OProperty<?> property) { assertThat(property.getValue(), nullValue()); } }