@Test public void getItem_tableAddedItemRemoved_returnsNull() throws SQLException { Object id = container.addItem(); Assert.assertNotNull(container.getItem(id)); assertTrue(container.removeItem(id)); Assert.assertNull(container.getItem(id)); }
@Test public void indexOfId_table5000RowsWithParameter1337_returns1337() throws SQLException { DataGenerator.addFiveThousandPeople(connectionPool); if (SQLTestsConstants.db == DB.ORACLE) { container.getItem(new RowId(new Object[] {new BigDecimal(1337 + offset)})); assertEquals( 1337, container.indexOfId(new RowId(new Object[] {new BigDecimal(1337 + offset)}))); } else { container.getItem(new RowId(new Object[] {1337 + offset})); assertEquals(1337, container.indexOfId(new RowId(new Object[] {1337 + offset}))); } }
@Test public void itemChangeNotification_table_isModifiedReturnsTrue() throws SQLException { Assert.assertFalse(container.isModified()); RowItem last = (RowItem) container.getItem(container.lastItemId()); container.itemChangeNotification(last); assertTrue(container.isModified()); }
@Test public void getContainerProperty_tableNewlyAddedItem_returnsPropertyOfNewlyAddedItem() throws SQLException { Object id = container.addItem(); Item item = container.getItem(id); item.getItemProperty(NAME).setValue("asdf"); assertEquals("asdf", container.getContainerProperty(id, NAME).getValue()); }
@Test public void correctItemIsFetchedFromMultipleRows() throws SQLException { DataGenerator.addFiveThousandPeople(connectionPool); Item item = container.getItem(getRowId(1337)); assertThat((Integer) item.getItemProperty(ID).getValue(), is(equalTo(1337 + offset))); assertThat(item.getItemProperty(NAME).getValue().toString(), is("Person 1337")); }
@Test public void commit_removeModifiedItem_shouldSucceed() throws SQLException { int size = container.size(); Object key = container.firstItemId(); Item row = container.getItem(key); row.getItemProperty(NAME).setValue("Pekka"); assertTrue(container.removeItem(key)); container.commit(); assertEquals(size - 1, container.size()); }
@Test public void addFilter_tableBufferedItems_alsoFiltersBufferedItems() throws SQLException { // Ville, Kalle, Pelle, Börje assertEquals(4, container.size()); assertEquals("Börje", container.getContainerProperty(container.lastItemId(), NAME).getValue()); Object id1 = container.addItem(); container.getContainerProperty(id1, NAME).setValue("Palle"); Object id2 = container.addItem(); container.getContainerProperty(id2, NAME).setValue("Bengt"); container.addContainerFilter(new Like(NAME, "%lle")); // Ville, Kalle, Pelle, Palle assertEquals(4, container.size()); assertEquals( "Ville", container.getContainerProperty(container.getIdByIndex(0), NAME).getValue()); assertEquals( "Kalle", container.getContainerProperty(container.getIdByIndex(1), NAME).getValue()); assertEquals( "Pelle", container.getContainerProperty(container.getIdByIndex(2), NAME).getValue()); assertEquals( "Palle", container.getContainerProperty(container.getIdByIndex(3), NAME).getValue()); try { container.getIdByIndex(4); Assert.fail( "SQLContainer.getIdByIndex() returned a value for an index beyond the end of the container"); } catch (IndexOutOfBoundsException e) { // should throw exception - item is filtered out } Assert.assertNull(container.nextItemId(container.getIdByIndex(3))); Assert.assertFalse(container.containsId(id2)); Assert.assertFalse(container.getItemIds().contains(id2)); Assert.assertNull(container.getItem(id2)); assertEquals(-1, container.indexOfId(id2)); Assert.assertNotSame(id2, container.lastItemId()); Assert.assertSame(id1, container.lastItemId()); }
private Item getItem(Object id) { return container.getItem(id); }
@Test public void getItem_tableNewlyAddedItem_returnsNewlyAdded() throws SQLException { Object id = container.addItem(); Assert.assertNotNull(container.getItem(id)); }
@Test public void existingItemIsFetched() { Item item = container.getItem(existingItemId); assertThat(item.getItemProperty(NAME).getValue().toString(), is("Kalle")); }