001/* 002 * Licensed to the Apache Software Foundation (ASF) under one 003 * or more contributor license agreements. See the NOTICE file 004 * distributed with this work for additional information 005 * regarding copyright ownership. The ASF licenses this file 006 * to you under the Apache License, Version 2.0 (the 007 * "License"); you may not use this file except in compliance 008 * with the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, software 013 * distributed under the License is distributed on an "AS IS" BASIS, 014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 015 * See the License for the specific language governing permissions and 016 * limitations under the License. 017 */ 018package org.apache.hadoop.hbase; 019 020import static org.junit.jupiter.api.Assertions.assertEquals; 021 022import java.util.Set; 023import java.util.TreeSet; 024import org.apache.hadoop.hbase.testclassification.MiscTests; 025import org.apache.hadoop.hbase.testclassification.SmallTests; 026import org.junit.jupiter.api.Tag; 027import org.junit.jupiter.api.Test; 028 029@Tag(MiscTests.TAG) 030@Tag(SmallTests.TAG) 031public class TestSize { 032 033 @Test 034 public void testConversion() { 035 Size kbSize = new Size(1024D, Size.Unit.MEGABYTE); 036 assertEquals(1D, kbSize.get(Size.Unit.GIGABYTE), 0); 037 assertEquals(1024D, kbSize.get(), 0); 038 assertEquals(1024D * 1024D, kbSize.get(Size.Unit.KILOBYTE), 0); 039 assertEquals(1024D * 1024D * 1024D, kbSize.get(Size.Unit.BYTE), 0); 040 } 041 042 @Test 043 public void testCompare() { 044 Size size00 = new Size(100D, Size.Unit.GIGABYTE); 045 Size size01 = new Size(100D, Size.Unit.MEGABYTE); 046 Size size02 = new Size(100D, Size.Unit.BYTE); 047 Set<Size> sizes = new TreeSet<>(); 048 sizes.add(size00); 049 sizes.add(size01); 050 sizes.add(size02); 051 int count = 0; 052 for (Size s : sizes) { 053 switch (count++) { 054 case 0: 055 assertEquals(size02, s); 056 break; 057 case 1: 058 assertEquals(size01, s); 059 break; 060 default: 061 assertEquals(size00, s); 062 break; 063 } 064 } 065 assertEquals(3, count); 066 } 067 068 @Test 069 public void testEqual() { 070 assertEquals(new Size(1024D, Size.Unit.TERABYTE), new Size(1D, Size.Unit.PETABYTE)); 071 assertEquals(new Size(1024D, Size.Unit.GIGABYTE), new Size(1D, Size.Unit.TERABYTE)); 072 assertEquals(new Size(1024D, Size.Unit.MEGABYTE), new Size(1D, Size.Unit.GIGABYTE)); 073 assertEquals(new Size(1024D, Size.Unit.KILOBYTE), new Size(1D, Size.Unit.MEGABYTE)); 074 assertEquals(new Size(1024D, Size.Unit.BYTE), new Size(1D, Size.Unit.KILOBYTE)); 075 } 076 077}