@Nonnull public <Item> Item createItem (@Nonnull final Class<Item> itemClass) throws Exception { return MetadataItemEnhancer.createEnhancedItem(itemClass.newInstance()); } };
public Collection<? extends MetadataItemHolder<MockItem1>> loadMetadataItems (final DataObject dataObject, final FindOption ... options) { return Collections.singleton(new MetadataItemHolderMock<MockItem1>(MetadataItemEnhancer.createEnhancedItem(new MockItem1(), DATE), getName(), "Mock", DATE)); } }
public Collection<? extends MetadataItemHolder<MockItem1>> loadMetadataItems (final DataObject dataObject, final FindOption ... options) { return Collections.singletonList(new MetadataItemHolderMock<MockItem1>(MetadataItemEnhancer.createEnhancedItem(new MockItem1(), DATE), getName(), "Mock", DATE)); } }
@Before public void setUp() { enhancedItem = MetadataItemEnhancer.createEnhancedItem(new CompositeMockItem()); item = new MockItem1(); }
@Nonnull public Collection<? extends MetadataItemHolder<MetadataItemMock>> loadMetadataItems (final DataObject dataObject, final FindOption ... options) { final String name = dataObject.getName(); if (name.contains("noitem")) { return Collections.emptyList(); } final MetadataItemMock item = MetadataItemEnhancer.createEnhancedItem(new MetadataItemMock()); item.setName("the name"); return Collections.singletonList(new MetadataItemHolderMock<MetadataItemMock>(item, getName(), "Mock", TimestampProvider.Locator.findTimestampProvider().getTimestamp())); } }
public Collection<? extends MetadataItemHolder<MockItem1>> loadMetadataItems (final DataObject dataObject, final FindOption ... options) { return Collections.singletonList(new MetadataItemHolderMock<MockItem1>(MetadataItemEnhancer.createEnhancedItem(new MockItem1(), DATE), getName(), "Mock", DATE)); } }
@Test public void testBind2() { final MetadataItemMock item = MetadataItemEnhancer.createEnhancedItem(new MetadataItemMock()); pane.bind(new MetadataItemHolderMock<MetadataItemMock>(item)); pane.tfName.setText("the name"); assertEquals("the name", item.getName()); }
@Test public void testStoreMetadataItem() throws Exception { final AssertingMetadataPersistenceMock persistenceProvider = (AssertingMetadataPersistenceMock)MetadataPersistence.Locator.findPersistence(); final DataObject dataObject = createDataObject("dataobject1"); persistenceProvider.clear(); persistenceProvider.expectedDataObject = dataObject; // final Metadata metadata = new MetadataMock(dataObject); final MockItem1 item = MetadataItemEnhancer.createEnhancedItem(new MockItem1()); final MetadataItemHolderMock<MockItem1> holder = new MetadataItemHolderMock<MockItem1>(item); persistenceProvider.expectedHolders.add(holder); // first is called by manager() persistenceProvider.expectedHolders.add(holder); // second is called by refresh() // persistenceProvider.expectedPersistenceCodeProviders.add(exifPersistenceSourceSink.EXIF_CODE_PROVIDER); itemPersistenceSupport.storeMetadataItem(dataObject, holder); // TODO: this would be better done with Mockito // assertions are in MetadataPersistenceProviderMock }
@Test public void testBind1() { final MetadataItemMock item = MetadataItemEnhancer.createEnhancedItem(new MetadataItemMock()); item.setName("the name"); pane.bind(new MetadataItemHolderMock<MetadataItemMock>(item)); assertEquals("the name", item.getName()); assertEquals(item.getName(), pane.tfName.getText()); }
@Test public void test2() { final MockItem1 bean = MetadataItemEnhancer.createEnhancedItem(new MockItem1()); final Date date = new Date(); final XXXMetadataItemHolder holder = new XXXMetadataItemHolder(bean, "source", "origin", date); assertSame(bean, holder.get()); assertEquals(date, holder.getLatestModificationTime()); assertEquals("source", holder.getSourceName()); assertEquals("origin", holder.getOrigin()); assertEquals(holder.hashCode(), bean.hashCode()); assertEquals(String.format("XXXMetadataItemHolder[origin, source, %s]", bean.toString()), holder.toString()); }
@Test public void test1() { final MockItem1 bean = MetadataItemEnhancer.createEnhancedItem(new MockItem1()); final XXXMetadataItemHolder holder = new XXXMetadataItemHolder(bean); assertSame(bean, holder.get()); assertNull(holder.getLatestModificationTime()); assertNull(holder.getSourceName()); assertNull(holder.getOrigin()); assertEquals(holder.hashCode(), bean.hashCode()); assertEquals(String.format("XXXMetadataItemHolder[null, null, %s]", bean.toString()), holder.toString()); }
@Test public void testAvailablePropertiesFixedByEnhancer() { item.setName("the name"); assertEquals("the name", item.getName()); assertFalse(item.isNameAvailable()); assertFalse(item.isAvailable()); MetadataItemEnhancer.createEnhancedItem(item); assertEquals("the name", item.getName()); assertTrue(item.isNameAvailable()); assertTrue(item.isAvailable()); }
@Test public void testPropertyChangeListeners() { final PropertyChangeListener listener = new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { } }; final MockItem1 bean = MetadataItemEnhancer.createEnhancedItem(new MockItem1()); final XXXMetadataItemHolder holder = new XXXMetadataItemHolder(bean); assertEquals(0, holder.getPropertyChangeListeners().length); holder.addPropertyChangeListener(listener); assertEquals(new PropertyChangeListener[] {listener}, holder.getPropertyChangeListeners()); holder.removePropertyChangeListener(listener); assertEquals(0, holder.getPropertyChangeListeners().length); } }