/** * check that the cache is immutable by changing the data passed in the constructor and returned * from methods. * * @throws TimeStampedCacheException */ @Test public void testImmutable() throws TimeStampedCacheException { // setup List<AbsoluteDate> actuals; List<AbsoluteDate> expecteds = new ArrayList<AbsoluteDate>(data); AbsoluteDate different = date.shiftedBy(-50); // actions + verify // check constructor data.set(0, different); Assert.assertArrayEquals(cache.getAll().toArray(), expecteds.toArray()); // check getAll actuals = cache.getAll(); try { actuals.set(0, different); } catch (UnsupportedOperationException e) { // exception ok } Assert.assertArrayEquals(cache.getAll().toArray(), expecteds.toArray()); // check getNeighbors actuals = cache.getNeighbors(date); try { actuals.set(0, different); } catch (UnsupportedOperationException e) { // exception ok } Assert.assertArrayEquals(cache.getAll().toArray(), expecteds.toArray()); }
/** check {@link ImmutableTimeStampedCache#emptyCache()}. */ @Test public void testEmptyCache() { // setup cache = ImmutableTimeStampedCache.emptyCache(); // actions + verify try { cache.getNeighbors(date); Assert.fail("Expected Exception"); } catch (TimeStampedCacheException e) { // expected } try { cache.getEarliest(); Assert.fail("Expected Exception"); } catch (IllegalStateException e) { // expected } try { cache.getLatest(); Assert.fail("Expected Exception"); } catch (IllegalStateException e) { // expected } Assert.assertEquals(cache.getAll().size(), 0); Assert.assertEquals(cache.getNeighborsSize(), 0); }
/** check {@link ImmutableTimeStampedCache#getAll()} */ @Test public void testGetAll() { Assert.assertArrayEquals(cache.getAll().toArray(), data.toArray()); }