/** * Constructs a SanitizedConfiguration object and populates the set of instance IDs for the * provided {@link org.apache.aurora.scheduler.storage.entities.ITaskConfig}. * * @param sanitized A sanitized configuration. */ @VisibleForTesting public SanitizedConfiguration(IJobConfiguration sanitized) { this.sanitized = sanitized; this.instanceIds = ContiguousSet.create( Range.closedOpen(0, sanitized.getInstanceCount()), DiscreteDomain.integers()); }
@Test public void whenCreateRangeOfIntegersSet_thenCreated() { final int start = 10; final int end = 30; final ContiguousSet<Integer> set = ContiguousSet.create(Range.closed(start, end), DiscreteDomain.integers()); assertEquals(21, set.size()); assertEquals(10, set.first().intValue()); assertEquals(30, set.last().intValue()); }
private static RangeSet<Integer> characterRangesToTokenRanges( JavaInput javaInput, List<Range<Integer>> characterRanges) throws FormatterException { RangeSet<Integer> tokenRangeSet = TreeRangeSet.create(); for (Range<Integer> characterRange0 : characterRanges) { Range<Integer> characterRange = characterRange0.canonical(DiscreteDomain.integers()); tokenRangeSet.add( javaInput.characterRangeToTokenRange( characterRange.lowerEndpoint(), characterRange.upperEndpoint() - characterRange.lowerEndpoint())); } return tokenRangeSet; }
@Test public void testSubAggregations() throws Exception { Set expectedAges = new HashSet<>(ContiguousSet.create(Range.closed(20, 40), DiscreteDomain.integers())); final String query = String.format( "SELECT /*! DOCS_WITH_AGGREGATION(10) */" + " * FROM %s/account GROUP BY (gender, age), (state) LIMIT 0,10", TEST_INDEX); Map<String, Set<Integer>> buckets = new HashMap<>(); SqlElasticSearchRequestBuilder select = getSearchRequestBuilder(query); SearchResponse response = (SearchResponse) select.get(); Aggregations result = response.getAggregations(); Terms gender = result.get("gender"); for (Terms.Bucket genderBucket : gender.getBuckets()) { String genderKey = genderBucket.getKey(); buckets.put(genderKey, new HashSet<Integer>()); Terms ageBuckets = (Terms) genderBucket.getAggregations().get("age"); for (Terms.Bucket ageBucket : ageBuckets.getBuckets()) { buckets.get(genderKey).add(Integer.parseInt(ageBucket.getKey())); } } Assert.assertEquals(2, buckets.keySet().size()); Assert.assertEquals(expectedAges, buckets.get("m")); Assert.assertEquals(expectedAges, buckets.get("f")); Terms state = result.get("state"); for (Terms.Bucket stateBucket : state.getBuckets()) { if (stateBucket.getKey().equalsIgnoreCase("ak")) { Assert.assertTrue("There are 22 entries for state ak", stateBucket.getDocCount() == 22); } } Assert.assertEquals(response.getHits().totalHits(), 1000); Assert.assertEquals(response.getHits().hits().length, 10); }
@Test public void multipleGroupBysWithSize() throws Exception { Set expectedAges = new HashSet<Integer>(ContiguousSet.create(Range.closed(20, 40), DiscreteDomain.integers())); Map<String, Set<Integer>> buckets = new HashMap<>(); Aggregations result = query( String.format( "SELECT COUNT(*) FROM %s/account GROUP BY gender, terms('alias'='ageAgg','field'='age','size'=3)", TEST_INDEX)); Terms gender = result.get("gender"); Assert.assertEquals(2, gender.getBuckets().size()); for (Terms.Bucket genderBucket : gender.getBuckets()) { String genderKey = genderBucket.getKey(); buckets.put(genderKey, new HashSet<Integer>()); Terms ageBuckets = genderBucket.getAggregations().get("ageAgg"); Assert.assertEquals(3, ageBuckets.getBuckets().size()); } }
@Test public void multipleGroupByTest() throws Exception { Set expectedAges = new HashSet<Integer>(ContiguousSet.create(Range.closed(20, 40), DiscreteDomain.integers())); Map<String, Set<Integer>> buckets = new HashMap<>(); Aggregations result = query(String.format("SELECT COUNT(*) FROM %s/account GROUP BY gender, age", TEST_INDEX)); Terms gender = result.get("gender"); for (Terms.Bucket genderBucket : gender.getBuckets()) { String genderKey = genderBucket.getKey(); buckets.put(genderKey, new HashSet<Integer>()); Terms ageBuckets = (Terms) genderBucket.getAggregations().get("age"); for (Terms.Bucket ageBucket : ageBuckets.getBuckets()) { buckets.get(genderKey).add(Integer.parseInt(ageBucket.getKey())); } } Assert.assertEquals(2, buckets.keySet().size()); Assert.assertEquals(expectedAges, buckets.get("m")); Assert.assertEquals(expectedAges, buckets.get("f")); }
public class_apc(WorldServer var1, NBTTagCompound var2) { this.c = new class_le( new ChatMessage("entity.EnderDragon.name", new Object[0]), class_oh.class_a_in_class_oh.a, class_oh.class_b_in_class_oh.a, false, true); this.e = Lists.newArrayList(); this.g = 0; this.h = 0; this.i = 0; this.j = 0; this.k = false; this.l = false; this.m = null; this.n = false; this.d = var1; if (var2.hasOfType("DragonKilled", 1)) { this.m = var2.getUUID("DragonUUID"); this.k = var2.getBoolean("DragonKilled"); this.l = var2.getBoolean("PreviouslyKilled"); } else { this.n = true; this.k = true; this.l = true; } if (var2.hasOfType("Gateways", 9)) { NBTTagList var3 = var2.getList("Gateways", 3); for (int var4 = 0; var4 < var3.getSize(); ++var4) { this.e.add(Integer.valueOf(var3.getInt(var4))); } } else { this.e.addAll( ContiguousSet.create( Range.closedOpen(Integer.valueOf(0), Integer.valueOf(20)), DiscreteDomain.integers())); Collections.shuffle(this.e, new Random(var1.K())); } this.f = class_anq .a() .a( new String[] { " ", " ", " ", " # ", " ", " ", " " }) .a( new String[] { " ", " ", " ", " # ", " ", " ", " " }) .a( new String[] { " ", " ", " ", " # ", " ", " ", " " }) .a( new String[] { " ### ", " # # ", "# #", "# # #", "# #", " # # ", " ### " }) .a( new String[] { " ", " ### ", " ##### ", " ##### ", " ##### ", " ### ", " " }) .a('#', class_ano.a(class_ans.a(Blocks.BEDROCK))) .b(); }
/** This interface defines methods common to an {@link Input} or an {@link Output}. */ public abstract class InputOutput { private ImmutableList<String> lines = ImmutableList.of(); protected static final Range<Integer> EMPTY_RANGE = Range.closedOpen(-1, -1); private static final CharMatcher NEWLINE_MATCHER = CharMatcher.is('\n'); private static final DiscreteDomain<Integer> INTEGERS = DiscreteDomain.integers(); /** Set the lines. */ protected final void setLines(ImmutableList<String> lines) { this.lines = lines; } /** * Get the line count. * * @return the line count */ public final int getLineCount() { return lines.size(); } /** * Get a line. * * @param lineI the line number * @return the line */ public final String getLine(int lineI) { return lines.get(lineI); } /** The {@link Range}s of the tokens or comments beginning on each line. */ protected final List<Range<Integer>> range0s = new ArrayList<>(); /** The {@link Range}s of the tokens or comments lying on each line, in any part. */ protected final List<Range<Integer>> ranges = new ArrayList<>(); /** The {@link Range}s of the tokens or comments ending on each line. */ protected final List<Range<Integer>> range1s = new ArrayList<>(); private static void addToRanges(List<Range<Integer>> ranges, int i, int k) { while (ranges.size() <= i) { ranges.add(EMPTY_RANGE); } Range<Integer> oldValue = ranges.get(i); ranges.set(i, Range.closedOpen(oldValue.isEmpty() ? k : oldValue.lowerEndpoint(), k + 1)); } protected final void computeRanges(List<? extends Input.Tok> toks) { int lineI = 0; for (Input.Tok tok : toks) { String txt = tok.getOriginalText(); int lineI0 = lineI; lineI += NEWLINE_MATCHER.countIn(txt); int k = tok.getIndex(); if (k >= 0) { addToRanges(range0s, lineI0, k); for (int i = lineI0; i <= lineI; i++) { addToRanges(ranges, i, k); } addToRanges(range1s, lineI0, k); } } } /** * Given an {@code InputOutput}, compute the map from tok indices to line ranges. * * @param put the {@code InputOutput} * @param kN the number of tokens * @return the map from {@link com.google.googlejavaformat.java.JavaInput.Tok} indices to line * ranges in this {@code put} */ public static Map<Integer, Range<Integer>> makeKToIJ(InputOutput put, int kN) { Map<Integer, Range<Integer>> map = new HashMap<>(); int ijN = put.getLineCount(); LOOP: for (int ij = 0; ij <= ijN; ij++) { Range<Integer> range = put.getRanges(ij).canonical(INTEGERS); for (int k = range.lowerEndpoint(); k < range.upperEndpoint(); k++) { if (map.containsKey(k)) { map.put(k, Range.closedOpen(map.get(k).lowerEndpoint(), ij + 1)); } else { map.put(k, Range.closedOpen(ij, ij + 1)); } if (k == kN) { break LOOP; } } } return map; } /** * Get the {@link Range} of {@link Input.Tok}s beginning on a line. * * @param lineI the line number * @return the {@link Range} of {@link Input.Tok}s beginning on the specified line */ public final Range<Integer> getRange0s(int lineI) { return 0 <= lineI && lineI < range0s.size() ? range0s.get(lineI) : EMPTY_RANGE; } /** * Get the {@link Range} of {@link Input.Tok}s lying in any part on a line. * * @param lineI the line number * @return the {@link Range} of {@link Input.Tok}s on the specified line */ public final Range<Integer> getRanges(int lineI) { return 0 <= lineI && lineI < ranges.size() ? ranges.get(lineI) : EMPTY_RANGE; } /** * Get the {@link Range} of {@link Input.Tok}s ending on a line. * * @param lineI the line number * @return the {@link Range} of {@link Input.Tok}s ending on the specified line */ public final Range<Integer> getRange1s(int lineI) { return 0 <= lineI && lineI < range1s.size() ? range1s.get(lineI) : EMPTY_RANGE; } @Override public String toString() { return "InputOutput{" + "lines=" + lines + ", range0s=" + range0s + ", ranges=" + ranges + ", range1s=" + range1s + '}'; } }