TestSortedRanges.java
上传用户:quxuerui
上传日期:2018-01-08
资源大小:41811k
文件大小:3k
源码类别:

网格计算

开发平台:

Java

  1. /**
  2.  * Licensed to the Apache Software Foundation (ASF) under one
  3.  * or more contributor license agreements.  See the NOTICE file
  4.  * distributed with this work for additional information
  5.  * regarding copyright ownership.  The ASF licenses this file
  6.  * to you under the Apache License, Version 2.0 (the
  7.  * "License"); you may not use this file except in compliance
  8.  * with the License.  You may obtain a copy of the License at
  9.  *
  10.  *     http://www.apache.org/licenses/LICENSE-2.0
  11.  *
  12.  * Unless required by applicable law or agreed to in writing, software
  13.  * 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 and
  16.  * limitations under the License.
  17.  */
  18. package org.apache.hadoop.mapred;
  19. import java.util.Iterator;
  20. import junit.framework.TestCase;
  21. import org.apache.commons.logging.Log;
  22. import org.apache.commons.logging.LogFactory;
  23. import org.apache.hadoop.mapred.SortedRanges.Range;
  24. public class TestSortedRanges extends TestCase {
  25.   private static final Log LOG = 
  26.     LogFactory.getLog(TestSortedRanges.class);
  27.   
  28.   public void testAdd() {
  29.     SortedRanges sr = new SortedRanges();
  30.     sr.add(new Range(2,9));
  31.     assertEquals(9, sr.getIndicesCount());
  32.     
  33.     sr.add(new SortedRanges.Range(3,5));
  34.     assertEquals(9, sr.getIndicesCount());
  35.     
  36.     sr.add(new SortedRanges.Range(7,1));
  37.     assertEquals(9, sr.getIndicesCount());
  38.     
  39.     sr.add(new Range(1,12));
  40.     assertEquals(12, sr.getIndicesCount());
  41.     
  42.     sr.add(new Range(7,9));
  43.     assertEquals(15, sr.getIndicesCount());
  44.     
  45.     sr.add(new Range(31,10));
  46.     sr.add(new Range(51,10));
  47.     sr.add(new Range(66,10));
  48.     assertEquals(45, sr.getIndicesCount());
  49.     
  50.     sr.add(new Range(21,50));
  51.     assertEquals(70, sr.getIndicesCount());
  52.     
  53.     LOG.debug(sr);
  54.     
  55.     Iterator<Long> it = sr.skipRangeIterator();
  56.     int i = 0;
  57.     assertEquals(i, it.next().longValue());
  58.     for(i=16;i<21;i++) {
  59.       assertEquals(i, it.next().longValue());
  60.     }
  61.     assertEquals(76, it.next().longValue());
  62.     assertEquals(77, it.next().longValue());
  63.     
  64.   }
  65.   
  66.   public void testRemove() {
  67.     SortedRanges sr = new SortedRanges();
  68.     sr.add(new Range(2,19));
  69.     assertEquals(19, sr.getIndicesCount());
  70.     
  71.     sr.remove(new SortedRanges.Range(15,8));
  72.     assertEquals(13, sr.getIndicesCount());
  73.     
  74.     sr.remove(new SortedRanges.Range(6,5));
  75.     assertEquals(8, sr.getIndicesCount());
  76.     
  77.     sr.remove(new SortedRanges.Range(8,4));
  78.     assertEquals(7, sr.getIndicesCount());
  79.     
  80.     sr.add(new Range(18,5));
  81.     assertEquals(12, sr.getIndicesCount());
  82.     
  83.     sr.add(new Range(25,1));
  84.     assertEquals(13, sr.getIndicesCount());
  85.     
  86.     sr.remove(new SortedRanges.Range(7,24));
  87.     assertEquals(4, sr.getIndicesCount());
  88.     
  89.     sr.remove(new SortedRanges.Range(5,1));
  90.     assertEquals(3, sr.getIndicesCount());
  91.     
  92.     LOG.debug(sr);
  93.   }
  94. }