1/*2 * Licensed to the Apache Software Foundation (ASF) under one3 * or more contributor license agreements. See the NOTICE file4 * distributed with this work for additional information5 * regarding copyright ownership. The ASF licenses this file6 * to you under the Apache License, Version 2.0 (the7 * "License"); you may not use this file except in compliance8 * with the License. You may obtain a copy of the License at9 *10 * http://www.apache.org/licenses/LICENSE-2.011 *12 * Unless required by applicable law or agreed to in writing, software13 * distributed under the License is distributed on an "AS IS" BASIS,14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.15 * See the License for the specific language governing permissions and16 * limitations under the License.17 */1819package org.apache.giraph.types.heaps;
2021import org.junit.Assert;
22import org.junit.Test;
2324import java.util.ArrayList;
25import java.util.Collections;
26import java.util.List;
2728// AUTO-GENERATED class via class:29// org.apache.giraph.generate.GeneratePrimitiveClasses3031publicclassTestFixedCapacityLongLongMinHeap {
32 @Test
33publicvoid testHeap() {
34int heapCapacity = 5;
35 FixedCapacityLongLongMinHeap heap =
36new FixedCapacityLongLongMinHeap(heapCapacity);
37long[] keys = newlong[]{0, 1, 0, 10, 20, 0, 3, 4};
38long[] values = newlong[]{
39 0, 1, 2, 2, 2,
40 3, 3, 4};
4142 List<Integer> positions = new ArrayList<>();
43for (int i = 0; i < keys.length; i++) {
44 positions.add(i);
45 }
46 Collections.shuffle(positions);
47for (Integer position : positions) {
48 heap.add(keys[position], values[position]);
49 }
5051for (int i = keys.length - heapCapacity; i < keys.length; i++) {
52 Assert.assertEquals(heap.size(), heapCapacity);
53 Assert.assertEquals(heap.getMinKey(), keys[i]);
54 Assert.assertEquals(heap.getMinValue(), values[i]);
55 heap.removeMin();
56 heapCapacity--;
57 }
58 Assert.assertTrue(heap.isEmpty());
59 }
60 }