mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-06 22:54:16 +02:00
[common] fix: size to byte conversion
This commit is contained in:
@@ -17,15 +17,17 @@ def size_to_byte(size: float, unit: str) -> int:
|
||||
if lower_unit[0] == 'b':
|
||||
final_size = size
|
||||
elif lower_unit[0] == 'k':
|
||||
final_size = size * 1000
|
||||
final_size = size * 1024
|
||||
elif lower_unit[0] == 'm':
|
||||
final_size = size * 1000000
|
||||
final_size = size * (1024 ** 2)
|
||||
elif lower_unit[0] == 'g':
|
||||
final_size = size * (1024 ** 3)
|
||||
elif lower_unit[0] == 't':
|
||||
final_size = size * 1000000000000
|
||||
final_size = size * (1024 ** 4)
|
||||
else:
|
||||
final_size = size * 1000000000000000
|
||||
final_size = size * (1024 ** 5)
|
||||
|
||||
return int(final_size)
|
||||
return round(final_size)
|
||||
|
||||
|
||||
def datetime_as_milis(date: datetime = datetime.utcnow()) -> int:
|
||||
|
||||
@@ -5,29 +5,26 @@ from bauh.commons import system
|
||||
|
||||
class GetHumanSizeStr(TestCase):
|
||||
|
||||
def test__must_return_1Kb_for_1024(self):
|
||||
def test__must_properly_convert_to_Kb(self):
|
||||
self.assertEqual('1.00 Kb', system.get_human_size_str(1024))
|
||||
|
||||
def test__must_return_1_5Kb_for_1536(self):
|
||||
self.assertEqual('1.50 Kb', system.get_human_size_str(1536))
|
||||
|
||||
def test__must_return_1_75Kb_for_1792(self):
|
||||
self.assertEqual('1.75 Kb', system.get_human_size_str(1792))
|
||||
self.assertEqual('57.30 Kb', system.get_human_size_str(58675.2))
|
||||
|
||||
def test__must_return_1Mb_for_1048576(self):
|
||||
def test__must_properly_convert_to_Mb(self):
|
||||
self.assertEqual('1.00 Mb', system.get_human_size_str(1048576))
|
||||
|
||||
def test__must_return_1_2Mb_for_1258291(self):
|
||||
self.assertEqual('1.20 Mb', system.get_human_size_str(1258291))
|
||||
|
||||
def test__must_return_1_5Mb_for_1572864(self):
|
||||
self.assertEqual('1.50 Mb', system.get_human_size_str(1572864))
|
||||
self.assertEqual('57.30 Mb', system.get_human_size_str(60083404.8))
|
||||
|
||||
def test__must_return_1Gb_for_1073741824(self):
|
||||
def test__must_properly_convert_to_Gb(self):
|
||||
self.assertEqual('1.00 Gb', system.get_human_size_str(1073741824))
|
||||
self.assertEqual('57.30 Gb', system.get_human_size_str(61525406515.2))
|
||||
|
||||
def test__must_return_1Tb_for_1099511627776(self):
|
||||
def test__must_properly_convert_to_Tb(self):
|
||||
self.assertEqual('1.00 Tb', system.get_human_size_str(1099511627776))
|
||||
self.assertEqual('57.30 Tb', system.get_human_size_str(63002016271564.8))
|
||||
|
||||
def test__must_return_1Pb_for_1125899906842624(self):
|
||||
def test__must_properly_convert_to_Pb(self):
|
||||
self.assertEqual('1.00 Pb', system.get_human_size_str(1125899906842624))
|
||||
self.assertEqual('57.30 Pb', system.get_human_size_str(64514064662082350))
|
||||
|
||||
13
tests/common/test_util.py
Normal file
13
tests/common/test_util.py
Normal file
@@ -0,0 +1,13 @@
|
||||
from unittest import TestCase
|
||||
|
||||
from bauh.commons.util import size_to_byte
|
||||
|
||||
|
||||
class SizeToByteTest(TestCase):
|
||||
|
||||
def test_must_return_right_number_of_bytes(self):
|
||||
self.assertEqual(round(float('58675.2')), size_to_byte(57.3, 'K'))
|
||||
self.assertEqual(round(float('60083404.8')), size_to_byte(57.3, 'M'))
|
||||
self.assertEqual(round(float('61525406515.2')), size_to_byte(57.3, 'G'))
|
||||
self.assertEqual(round(float('63002016271564.8')), size_to_byte(57.3, 'T'))
|
||||
self.assertEqual(round(float('64514064662082350')), size_to_byte(57.3, 'P'))
|
||||
Reference in New Issue
Block a user