@Test public void testGetMinimumCapacityInInterval() { long[] timeSteps = { 0L, 1L, 2L, 3L, 4L, 5L, 6L, 7L }; int[] alloc = { 2, 5, 7, 10, 3, 4, 0, 8 }; RLESparseResourceAllocation rleSparseVector = ReservationSystemTestUtil .generateRLESparseResourceAllocation(alloc, timeSteps); LOG.info(rleSparseVector.toString()); Assert.assertEquals(rleSparseVector.getMinimumCapacityInInterval( new ReservationInterval(1L, 3L)), Resource.newInstance(5, 5)); Assert.assertEquals(rleSparseVector.getMinimumCapacityInInterval( new ReservationInterval(2L, 5L)), Resource.newInstance(3, 3)); Assert.assertEquals(rleSparseVector.getMinimumCapacityInInterval( new ReservationInterval(1L, 7L)), Resource.newInstance(0, 0)); }
@Test public void testPeriodicCapacity() { int[] alloc = { 10, 7, 5, 2, 0 }; long[] timeSteps = { 0L, 5L, 10L, 15L, 19L }; RLESparseResourceAllocation rleSparseVector = ReservationSystemTestUtil .generateRLESparseResourceAllocation(alloc, timeSteps); PeriodicRLESparseResourceAllocation periodicVector = new PeriodicRLESparseResourceAllocation(rleSparseVector, 20L); LOG.info(periodicVector.toString()); Assert.assertEquals(Resource.newInstance(5, 5), periodicVector.getCapacityAtTime(10L)); Assert.assertEquals(Resource.newInstance(10, 10), periodicVector.getCapacityAtTime(20L)); Assert.assertEquals(Resource.newInstance(7, 7), periodicVector.getCapacityAtTime(27L)); Assert.assertEquals(Resource.newInstance(5, 5), periodicVector.getCapacityAtTime(50L)); }
@Test public void testMaxPeriodicCapacity() { int[] alloc = { 2, 5, 7, 10, 3, 4, 6, 8 }; long[] timeSteps = { 0L, 1L, 2L, 3L, 4L, 5L, 6L, 7L }; RLESparseResourceAllocation rleSparseVector = ReservationSystemTestUtil .generateRLESparseResourceAllocation(alloc, timeSteps); PeriodicRLESparseResourceAllocation periodicVector = new PeriodicRLESparseResourceAllocation(rleSparseVector, 8L); LOG.info(periodicVector.toString()); Assert.assertEquals(periodicVector.getMaximumPeriodicCapacity(0, 1), Resource.newInstance(10, 10)); Assert.assertEquals(periodicVector.getMaximumPeriodicCapacity(8, 2), Resource.newInstance(7, 7)); Assert.assertEquals(periodicVector.getMaximumPeriodicCapacity(16, 3), Resource.newInstance(10, 10)); Assert.assertEquals(periodicVector.getMaximumPeriodicCapacity(17, 4), Resource.newInstance(5, 5)); Assert.assertEquals(periodicVector.getMaximumPeriodicCapacity(32, 5), Resource.newInstance(4, 4)); }
@Test public void testSetCapacityInInterval() { int[] alloc = { 2, 5, 0 }; long[] timeSteps = { 1L, 2L, 3L }; RLESparseResourceAllocation rleSparseVector = ReservationSystemTestUtil .generateRLESparseResourceAllocation(alloc, timeSteps); PeriodicRLESparseResourceAllocation periodicVector = new PeriodicRLESparseResourceAllocation(rleSparseVector, 10L); ReservationInterval interval = new ReservationInterval(5L, 10L); periodicVector.addInterval(interval, Resource.newInstance(8, 8)); Assert.assertEquals(Resource.newInstance(8, 8), periodicVector.getCapacityAtTime(5L)); Assert.assertEquals(Resource.newInstance(8, 8), periodicVector.getCapacityAtTime(9L)); Assert.assertEquals(Resource.newInstance(0, 0), periodicVector.getCapacityAtTime(10L)); Assert.assertEquals(Resource.newInstance(0, 0), periodicVector.getCapacityAtTime(0L)); // Assert.assertFalse(periodicVector.addInterval( // new ReservationInterval(7L, 12L), Resource.newInstance(8, 8))); }
@Test public void testMaxPeriodicCapacity() { long[] timeSteps = { 0L, 1L, 2L, 3L, 4L, 5L, 6L, 7L }; int[] alloc = { 2, 5, 7, 10, 3, 4, 6, 8 }; RLESparseResourceAllocation rleSparseVector = ReservationSystemTestUtil .generateRLESparseResourceAllocation(alloc, timeSteps); LOG.info(rleSparseVector.toString()); Assert.assertEquals(rleSparseVector.getMaximumPeriodicCapacity(0, 1), Resource.newInstance(10, 10)); Assert.assertEquals(rleSparseVector.getMaximumPeriodicCapacity(0, 2), Resource.newInstance(7, 7)); Assert.assertEquals(rleSparseVector.getMaximumPeriodicCapacity(0, 3), Resource.newInstance(10, 10)); Assert.assertEquals(rleSparseVector.getMaximumPeriodicCapacity(0, 4), Resource.newInstance(3, 3)); Assert.assertEquals(rleSparseVector.getMaximumPeriodicCapacity(0, 5), Resource.newInstance(4, 4)); Assert.assertEquals(rleSparseVector.getMaximumPeriodicCapacity(0, 5), Resource.newInstance(4, 4)); Assert.assertEquals(rleSparseVector.getMaximumPeriodicCapacity(7, 5), Resource.newInstance(8, 8)); Assert.assertEquals(rleSparseVector.getMaximumPeriodicCapacity(10, 3), Resource.newInstance(0, 0)); }
long[] timeSteps = { 1L, 2L, 3L }; RLESparseResourceAllocation tempPeriodic = ReservationSystemTestUtil .generateRLESparseResourceAllocation(alloc, timeSteps); PeriodicRLESparseResourceAllocation periodic = new PeriodicRLESparseResourceAllocation(tempPeriodic, 10L); long[] timeSteps2 = { 12L, 13L, 14L }; RLESparseResourceAllocation nonPeriodic = ReservationSystemTestUtil .generateRLESparseResourceAllocation(alloc2, timeSteps2);
long[] timeSteps = { 1L, 3L, 5L, 7L, 9L }; RLESparseResourceAllocation rleSparseVector = ReservationSystemTestUtil .generateRLESparseResourceAllocation(alloc, timeSteps); PeriodicRLESparseResourceAllocation periodicVector = new PeriodicRLESparseResourceAllocation(rleSparseVector, 10L);