UnitUtil { public static double convert( Double value, Unit from, Unit to ) { Preconditions.checkNotNull( value ); Preconditions.checkNotNull( from ); Preconditions.checkNotNull( to ); switch ( from ) { case B: return convertFromBytes( value, to ); case KB: return convertFromKB( value, to ); case MB: return convertFromMB( value, to ); default: return convertFromGB( value, to ); } }  static double convert( Double value, Unit from, Unit to ); static double getBytesInMb( double bytes );  }
@Test public void testConvert() throws Exception { assertNotNull( UnitUtil.convert( 5.5, UnitUtil.Unit.B, UnitUtil.Unit.B ) ); assertNotNull( UnitUtil.convert( 5.5, UnitUtil.Unit.B, UnitUtil.Unit.KB ) ); assertNotNull( UnitUtil.convert( 5.5, UnitUtil.Unit.B, UnitUtil.Unit.MB ) ); assertNotNull( UnitUtil.convert( 5.5, UnitUtil.Unit.B, UnitUtil.Unit.GB ) ); assertNotNull( UnitUtil.convert( 5.5, UnitUtil.Unit.MB, UnitUtil.Unit.B ) ); assertNotNull( UnitUtil.convert( 5.5, UnitUtil.Unit.MB, UnitUtil.Unit.KB ) ); assertNotNull( UnitUtil.convert( 5.5, UnitUtil.Unit.MB, UnitUtil.Unit.MB ) ); assertNotNull( UnitUtil.convert( 5.5, UnitUtil.Unit.MB, UnitUtil.Unit.GB ) ); assertNotNull( UnitUtil.convert( 5.5, UnitUtil.Unit.GB, UnitUtil.Unit.B ) ); assertNotNull( UnitUtil.convert( 5.5, UnitUtil.Unit.GB, UnitUtil.Unit.KB ) ); assertNotNull( UnitUtil.convert( 5.5, UnitUtil.Unit.GB, UnitUtil.Unit.MB ) ); assertNotNull( UnitUtil.convert( 5.5, UnitUtil.Unit.GB, UnitUtil.Unit.GB ) ); }