@Override public boolean isAvailable() { return get().isAvailable(); } }
@Override public String toString() { return String.format("%s.%s: %s -> %s", getSource(), getPropertyName(), getOldValue(), getNewValue()); } }
@Test public void testSetLatestModificationTime() { holder.addPropertyChangeListener(listener); holder.setLatestModificationTime(TIMESTAMP1); holder.setLatestModificationTime(TIMESTAMP2); final InOrder inOrder = inOrder(listener); inOrder.verify(listener).propertyChange(refEq(new MyPropertyChangeEvent(holder, "latestModificationTime", null, TIMESTAMP1))); inOrder.verify(listener).propertyChange(refEq(new MyPropertyChangeEvent(holder, "latestModificationTime", TIMESTAMP1, TIMESTAMP2))); verifyNoMoreInteractions(listener); }
@Test public void testServiceInstalled() { assertTrue(TimestampProvider.Locator.findTimestampProvider() instanceof TimestampProviderImpl); } }
@Before public void setUp() { assertTrue(NNNN > MetadataCachedLookup.LIVE_REFERENCE_COUNT); MetadataCachedLookup.referenceKeeper.clear(); dataObject = mock(DataObject.class); lookup = new MetadataCachedLookup(dataObject); metadataFactory = (MetadataFactoryMock)MetadataFactory.Locator.findMetadataFactory(); }
@Test public void testGC() { Metadata m1 = lookup.lookup(Metadata.class); // Flush m1 out of the reference keeper final List<Metadata> list = new ArrayList<Metadata>(); createInstances(NNNN, list); assertFalse(MetadataCachedLookup.referenceKeeper.contains(m1)); m1 = null; // only weak reference from now consumeAllAvailableMemory(); metadataFactory.creationCount = 0; final Metadata m2 = lookup.lookup(Metadata.class); assertNotNull(m2); assertSame(dataObject, m2.getDataObject()); assertEquals(1, metadataFactory.creationCount); // a new instance has been created }
@Test public void testWeakReference2() { Metadata m1 = lookup.lookup(Metadata.class); // Flush m1 out of the reference keeper final List<Metadata> list = new ArrayList<Metadata>(); createInstances(NNNN, list); assertFalse(MetadataCachedLookup.referenceKeeper.contains(m1)); m1 = null; // only weak reference from now metadataFactory.creationCount = 0; final Metadata m2 = lookup.lookup(Metadata.class); assertNotNull(m2); assertSame(dataObject, m2.getDataObject()); assertEquals(0, metadataFactory.creationCount); // not a new instance, the weak ref still keeps the old one alive }
@Test public void testLocator() { final MetadataFactory factory = MetadataFactory.Locator.findMetadataFactory(); assertNotNull(factory); assertTrue(factory instanceof MetadataFactoryImpl); } }
@Before public void setupFixture() { format = MetadataItemFormat.Locator.findMetadataItemFormat(); }
@Test public void testWeakReference() { final Metadata m1 = lookup.lookup(Metadata.class); // Flush m1 out of the reference keeper final List<Metadata> list = new ArrayList<Metadata>(); createInstances(NNNN, list); assertFalse(MetadataCachedLookup.referenceKeeper.contains(m1)); // m1 is keeping the same object alive final Metadata m2 = lookup.lookup(Metadata.class); assertSame(m1, m2); }
@Test public void testLookup() { final Metadata metadata = lookup.lookup(Metadata.class); assertNotNull(metadata); assertSame(dataObject, metadata.getDataObject()); assertSame(metadata, lookup.metadataRef.get()); assertTrue(MetadataCachedLookup.referenceKeeper.contains(metadata)); final Metadata metadata1 = lookup.lookup(Metadata.class); assertSame(metadata, metadata1); }
@Test public void testGetPropertyDisplayNameUnmanaged() { assertEquals("name", format.getPropertyDisplayName(UNMANAGED_CLASS, "name")); assertEquals("value", format.getPropertyDisplayName(UNMANAGED_CLASS, "value")); }
@Before public void setup() { bean = mock(BeanMock1.class); holder = new MetadataItemHolderFixture(bean); listener = mock(PropertyChangeListener.class); holder2 = new MetadataItemHolderFixture(bean, SOURCE_NAME, ORIGIN, TIMESTAMP1); }
@Test public void testGetSampledTimestampWithNoSample() { assertNotNull(timestampProvider.getSampledTimestamp()); }
@Test public void testReplaceOption() { assertEquals(2, Metadata.ReplaceOption.values().length); }
@Test public void testGetItemDisplayNameManaged() { assertEquals("Mock Item 2", format.getItemDisplayName(MANAGED_CLASS)); }
@Test public void testLocator() { final TimestampProvider timestampProvider1 = TimestampProvider.Locator.findTimestampProvider(); assertNotNull(timestampProvider1); final TimestampProvider timestampProvider2 = TimestampProvider.Locator.findTimestampProvider(); assertNotNull(timestampProvider2); assertSame(timestampProvider1, timestampProvider2); } }
@Test public void testLocator() { final MetadataItemFormat metadataItemFormat1 = MetadataItemFormat.Locator.findMetadataItemFormat(); assertNotNull(metadataItemFormat1); final MetadataItemFormat metadataItemFormat2 = MetadataItemFormat.Locator.findMetadataItemFormat(); assertNotNull(metadataItemFormat2); assertSame(metadataItemFormat1, metadataItemFormat2); } }
@Test public void testGetPropertyDisplayNameManaged() { assertEquals("NAME", format.getPropertyDisplayName(MANAGED_CLASS, "name")); assertEquals("VALUE", format.getPropertyDisplayName(MANAGED_CLASS, "value")); }