def test_get_human_readable_simple(self): # Bytes for raw_value, exp_value in zip(self.as_bytes_simple, self.bytes_to_hr_simple): value = ConversionUtil.get_human_readable( raw_value, system=ConversionUtil.DEFAULT_BYTES_SYSTEM) self.assertEqual(value, exp_value) value2 = ConversionUtil.get_human_readable2( raw_value, system=ConversionUtil.DEFAULT_BYTES_SYSTEM, min_suffix='B') self.assertEqual(value2, exp_value) value = ConversionUtil.get_human_readable2( 44, system=ConversionUtil.DEFAULT_BYTES_SYSTEM, min_suffix='kB') self.assertEqual(value, '44B') # Time for raw_value, exp_value in zip(self.as_ms_simple, self.ms_to_hr_simple): value = ConversionUtil.get_human_readable( raw_value, system=ConversionUtil.DEFAULT_TIME_SYSTEM) self.assertEqual(value, exp_value) value2 = ConversionUtil.get_human_readable2( raw_value, system=ConversionUtil.DEFAULT_TIME_SYSTEM, min_suffix='ms') self.assertEqual(value2, exp_value) value = ConversionUtil.get_human_readable2( 44, system=ConversionUtil.DEFAULT_TIME_SYSTEM, min_suffix='s') self.assertEqual(value, '44ms')
def test_get_human_readable(self): # Bytes for i, raw_bytes in enumerate(self.as_bytes): exp_hr = self.bytes_to_hr[i] exp_hr2 = self.bytes_to_hr2[i] min_suffix = self.min_bytes_suffixes[i] hr_value = ConversionUtil.get_human_readable( raw_bytes, system=ConversionUtil.DEFAULT_BYTES_SYSTEM) hr_value2 = ConversionUtil.get_human_readable2( raw_bytes, system=ConversionUtil.DEFAULT_BYTES_SYSTEM, min_suffix=min_suffix) self.assertEqual(hr_value, exp_hr) self.assertEqual(hr_value2, exp_hr2) # Time for i, raw_time in enumerate(self.as_ms): exp_hr = self.ms_to_hr[i] exp_hr2 = self.ms_to_hr2[i] min_suffix = self.min_time_suffixes[i] hr_value = ConversionUtil.get_human_readable( raw_time, system=ConversionUtil.DEFAULT_TIME_SYSTEM) hr_value2 = ConversionUtil.get_human_readable2( raw_time, system=ConversionUtil.DEFAULT_TIME_SYSTEM, min_suffix=min_suffix) self.assertEqual(hr_value, exp_hr) self.assertEqual(hr_value2, exp_hr2)
def format_integer(self, int_value, metadata): int_value = int(round(int_value)) if metadata.unit != KnobUnitType.OTHER and int_value > 0: if metadata.unit == KnobUnitType.BYTES: int_value = ConversionUtil.get_human_readable2( int_value, self.bytes_system, 'kB') elif metadata.unit == KnobUnitType.MILLISECONDS: int_value = ConversionUtil.get_human_readable2( int_value, self.time_system, 'ms') else: raise Exception('Invalid unit type for {}: {}'.format( metadata.name, metadata.unit)) return int_value
def format_integer(self, int_value, metadata): int_value = int(round(int_value)) if int_value > 0 and metadata.unit == KnobUnitType.BYTES: int_value = ConversionUtil.get_human_readable2( int_value, self.bytes_system, self.min_bytes_unit) return int_value