View Javadoc

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.hbase.hbtop.field;
19  
20  import static org.junit.Assert.assertEquals;
21  
22  import java.util.Set;
23  import java.util.TreeSet;
24  import org.apache.hadoop.hbase.testclassification.MiscTests;
25  import org.apache.hadoop.hbase.testclassification.SmallTests;
26  import org.junit.Test;
27  import org.junit.experimental.categories.Category;
28  
29  @Category({MiscTests.class, SmallTests.class})
30  public class TestSize {
31  
32    @Test
33    public void testConversion() {
34      Size kbSize = new Size(1024D, Size.Unit.MEGABYTE);
35      assertEquals(1D, kbSize.get(Size.Unit.GIGABYTE), 0);
36      assertEquals(1024D, kbSize.get(), 0);
37      assertEquals(1024D * 1024D, kbSize.get(Size.Unit.KILOBYTE), 0);
38      assertEquals(1024D * 1024D * 1024D, kbSize.get(Size.Unit.BYTE), 0);
39    }
40  
41    @Test
42    public void testCompare() {
43      Size size00 = new Size(100D, Size.Unit.GIGABYTE);
44      Size size01 = new Size(100D, Size.Unit.MEGABYTE);
45      Size size02 = new Size(100D, Size.Unit.BYTE);
46      Set<Size> sizes = new TreeSet<>();
47      sizes.add(size00);
48      sizes.add(size01);
49      sizes.add(size02);
50      int count = 0;
51      for (Size s : sizes) {
52        switch (count++) {
53          case 0:
54            assertEquals(size02, s);
55            break;
56          case 1:
57            assertEquals(size01, s);
58            break;
59          default:
60            assertEquals(size00, s);
61            break;
62        }
63      }
64      assertEquals(3, count);
65    }
66  
67    @Test
68    public void testEqual() {
69      assertEquals(new Size(1024D, Size.Unit.TERABYTE),
70        new Size(1D, Size.Unit.PETABYTE));
71      assertEquals(new Size(1024D, Size.Unit.GIGABYTE),
72        new Size(1D, Size.Unit.TERABYTE));
73      assertEquals(new Size(1024D, Size.Unit.MEGABYTE),
74        new Size(1D, Size.Unit.GIGABYTE));
75      assertEquals(new Size(1024D, Size.Unit.KILOBYTE),
76        new Size(1D, Size.Unit.MEGABYTE));
77      assertEquals(new Size(1024D, Size.Unit.BYTE),
78        new Size(1D, Size.Unit.KILOBYTE));
79    }
80  }