/** * @param element an annotated program element */ public void configure(AnnotatedElement element) { configureLenient(collectConfigurationAnnotations(element)); }
@Property public void shouldReturnCorrectPartitionForGetHashKey( @Size(min = 1, max = 5) List<@InRange(minInt = 1, maxInt = 20) Integer> partitionSizes, @InRange(minInt = 0, maxInt = 50) int bucketId) { BucketTargetingFixedResolver resolver = new BucketTargetingFixedResolver(); ConcurrentMap<String, Integer[]> fakePartitions = new ConcurrentHashMap<>(); int startingBucket = 0; for (int i = 0; i < partitionSizes.size(); i++) { fakePartitions.put("p" + i, new Integer[] {startingBucket, partitionSizes.get(i)}); startingBucket += partitionSizes.get(i); } assumeTrue(bucketId < startingBucket); final PartitionedRegion region = mock(PartitionedRegion.class); when(region.getPartitionsMap()).thenReturn(fakePartitions); when(region.isFixedPartitionedRegion()).thenReturn(true); when(region.getPartitionResolver()).thenReturn(resolver); assertEquals(bucketId, PartitionedRegionHelper.getHashKey(region, Operation.CREATE, "key", "value", bucketId)); }
@Property public void setToNearestShouldNeverBeBelowMinDate( @InRange(min = "01/01/1900", max = "12/31/2099", format = "MM/dd/yyyy") Date date, @InRange(min = "01/01/1900", max = "12/31/2099", format = "MM/dd/yyyy") Date minDate ) { DefaultDateRangeLimiter limiter = new DefaultDateRangeLimiter(); Calendar day = Calendar.getInstance(); day.setTime(date); Calendar minDay = Calendar.getInstance(); minDay.setTime(minDate); limiter.setMinDate(minDay); Assert.assertTrue(Utils.trimToMidnight(minDay).getTimeInMillis() <= limiter.setToNearestDate(day).getTimeInMillis()); }
@Override public Object generate( SourceOfRandomness random, GenerationStatus status) { return status.valueOf(KEY); } }
@Override public BigDecimal magnitude(Object value) { return delegate.magnitude(value); } }
private void configureLenient( Class<? extends Annotation> annotationType, Annotation configuration) { configure(annotationType, configuration, ex -> {}); }
/** * @param random a source of randomness used when locating other * generators * @return an access point for the available generators */ protected Generators gen(SourceOfRandomness random) { return repo.withRandom(random); }
@Property public void setToNearestShouldNeverBeAboveMaxDate( @InRange(min = "01/01/1800", max = "12/31/2099", format = "MM/dd/yyyy") Date date, @InRange(min = "01/01/1800", max = "12/31/2099", format = "MM/dd/yyyy") Date maxDate ) { DefaultDateRangeLimiter limiter = new DefaultDateRangeLimiter(); Calendar day = Calendar.getInstance(); day.setTime(date); Calendar minDay = Calendar.getInstance(); minDay.set(Calendar.YEAR, 1800); minDay.set(Calendar.MONTH, Calendar.JANUARY); minDay.set(Calendar.DAY_OF_MONTH, 1); Utils.trimToMidnight(minDay); Calendar maxDay = Calendar.getInstance(); maxDay.setTime(maxDate); limiter.setMinDate(minDay); limiter.setMaxDate(maxDay); Assert.assertTrue(Utils.trimToMidnight(maxDay).getTimeInMillis() >= limiter.setToNearestDate(day).getTimeInMillis()); }
@Property public void setToNearestShouldNeverBeInDisabledDays( @InRange(min = "01/01/1900", max = "12/31/2099", format = "MM/dd/yyyy") Date date, @InRange(min = "01/01/1900", max = "12/31/2099", format = "MM/dd/yyyy") Date[] dates ) { DefaultDateRangeLimiter limiter = new DefaultDateRangeLimiter(); Calendar day = Calendar.getInstance(); day.setTime(date); Calendar[] disableds = datesToCalendars(dates); limiter.setDisabledDays(disableds); Assert.assertFalse(Arrays.asList(disableds).contains(limiter.setToNearestDate(day))); }
@Property public void setToNearestShouldBeInSelectableDays( @InRange(min = "01/01/1900", max = "12/31/2099", format = "MM/dd/yyyy") Date date, @InRange(min = "01/01/1900", max = "12/31/2099", format = "MM/dd/yyyy") Date[] dates ) { DefaultDateRangeLimiter limiter = new DefaultDateRangeLimiter(); Calendar day = Calendar.getInstance(); day.setTime(date); Calendar[] selectables = datesToCalendars(dates); limiter.setSelectableDays(selectables); // selectableDays are manipulated a bit by the limiter selectables = limiter.getSelectableDays(); // selectables == null when the input is empty if (selectables == null) Assert.assertEquals( day.getTimeInMillis(), limiter.setToNearestDate(day).getTimeInMillis() ); else Assert.assertTrue(Arrays.asList(selectables).contains(limiter.setToNearestDate(day))); }