package com.vaadin.v7.data.util.sqlcontainer; import org.junit.Assert; import org.junit.Test; public class RowIdTest { @Test public void constructor_withArrayOfPrimaryKeyColumns_shouldSucceed() { RowId id = new RowId(new Object[] { "id", "name" }); Assert.assertArrayEquals(new Object[] { "id", "name" }, id.getId()); } @Test(expected = IllegalArgumentException.class) public void constructor_withNullParameter_shouldFail() { new RowId(null); } @Test public void hashCode_samePrimaryKeys_sameResult() { RowId id = new RowId(new Object[] { "id", "name" }); RowId id2 = new RowId(new Object[] { "id", "name" }); Assert.assertEquals(id.hashCode(), id2.hashCode()); } @Test public void hashCode_differentPrimaryKeys_differentResult() { RowId id = new RowId(new Object[] { "id", "name" }); RowId id2 = new RowId(new Object[] { "id" }); Assert.assertFalse(id.hashCode() == id2.hashCode()); } @Test public void equals_samePrimaryKeys_returnsTrue() { RowId id = new RowId(new Object[] { "id", "name" }); RowId id2 = new RowId(new Object[] { "id", "name" }); Assert.assertEquals(id, id2); } @Test public void equals_differentPrimaryKeys_returnsFalse() { RowId id = new RowId(new Object[] { "id", "name" }); RowId id2 = new RowId(new Object[] { "id" }); Assert.assertFalse(id.equals(id2.hashCode())); } @Test public void equals_differentDataType_returnsFalse() { RowId id = new RowId(new Object[] { "id", "name" }); Assert.assertFalse(id.equals("Tudiluu")); Assert.assertFalse(id.equals(new Integer(1337))); } @Test public void toString_defaultCtor_noException() { RowId rowId = new RowId(); Assert.assertTrue("Unexpected to string for empty Row Id", rowId.toString().isEmpty()); } }