[blivet:master 5/5] Change default min_value from 10 to 1 in humanReadable()

mulhern amulhern at redhat.com
Thu Oct 2 12:26:41 UTC 2014


Update tests as appropriate.

Signed-off-by: mulhern <amulhern at redhat.com>
---
 blivet/size.py     |  4 ++--
 tests/size_test.py | 25 +++++++++++++------------
 2 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/blivet/size.py b/blivet/size.py
index 906bd7b..e5ef4e9 100644
--- a/blivet/size.py
+++ b/blivet/size.py
@@ -283,7 +283,7 @@ class Size(Decimal):
 
         return None
 
-    def humanReadable(self, max_places=2, strip=True, min_value=10):
+    def humanReadable(self, max_places=2, strip=True, min_value=1):
         """ Return a string representation of this size with appropriate
             size specifier and in the specified number of decimal places.
             Values are always represented using binary not decimal units.
@@ -294,7 +294,7 @@ class Size(Decimal):
             :param max_places: number of decimal places to use, default is 2
             :type max_places: an integer type or NoneType
             :param bool strip: True if trailing zeros are to be stripped.
-            :param min_value: Lower bound for value
+            :param min_value: Lower bound for value, default is 1.
             :type min_value: A precise numeric type: int, long, or Decimal
             :returns: a representation of the size
             :rtype: str
diff --git a/tests/size_test.py b/tests/size_test.py
index 3a6ab25..b577c70 100644
--- a/tests/size_test.py
+++ b/tests/size_test.py
@@ -90,13 +90,14 @@ class SizeTestCase(unittest.TestCase):
         s = Size("300 MiB")
         self.assertEquals(s.humanReadable(max_places=2), "300 MiB")
 
-        # smaller unit should be used for small sizes
+        # when min_value is 10 and single digit on left of decimal, display
+        # with smaller unit.
         s = Size("9.68 TiB")
-        self.assertEquals(s.humanReadable(max_places=2), "9912.32 GiB")
+        self.assertEquals(s.humanReadable(max_places=2, min_value=10), "9912.32 GiB")
         s = Size("4.29 MiB")
-        self.assertEquals(s.humanReadable(max_places=2), "4392.96 KiB")
+        self.assertEquals(s.humanReadable(max_places=2, min_value=10), "4392.96 KiB")
         s = Size("7.18 KiB")
-        self.assertEquals(s.humanReadable(max_places=2), "7352 B")
+        self.assertEquals(s.humanReadable(max_places=2, min_value=10), "7352 B")
 
         # rounding should work with max_places limitted
         s = Size("12.687 TiB")
@@ -107,10 +108,10 @@ class SizeTestCase(unittest.TestCase):
         self.assertEquals(s.humanReadable(max_places=2), "12.7 TiB")
 
         # byte values close to multiples of 2 are shown without trailing zeros
-        s = Size(0xfff)
-        self.assertEquals(s.humanReadable(max_places=2), "4095 B")
+        s = Size(0xff)
+        self.assertEquals(s.humanReadable(max_places=2), "255 B")
         s = Size(8193)
-        self.assertEquals(s.humanReadable(max_places=2), "8193 B")
+        self.assertEquals(s.humanReadable(max_places=2, min_value=10), "8193 B")
 
         # a fractional quantity is shown if the value deviates
         # from the whole number of units by more than 1%
@@ -119,7 +120,7 @@ class SizeTestCase(unittest.TestCase):
 
         # if max_places is set to None, all digits are displayed
         s = Size(0xfffffffffffff)
-        self.assertEquals(s.humanReadable(max_places=None), "4095.999999999999090505298227 TiB")
+        self.assertEquals(s.humanReadable(max_places=None), "3.9999999999999991118215803 PiB")
         s = Size(0x10000)
         self.assertEquals(s.humanReadable(max_places=None), "64 KiB")
         s = Size(0x10001)
@@ -137,7 +138,7 @@ class SizeTestCase(unittest.TestCase):
 
     def testHumanReadableFractionalQuantities(self):
         s = Size(0xfffffffffffff)
-        self.assertEquals(s.humanReadable(max_places=2), "4096 TiB")
+        self.assertEquals(s.humanReadable(max_places=2), "4 PiB")
         s = Size(0xfffff)
         self.assertEquals(s.humanReadable(max_places=2, strip=False), "1024.00 KiB")
         s = Size(0xffff)
@@ -155,12 +156,12 @@ class SizeTestCase(unittest.TestCase):
         self.assertEquals(s.humanReadable(max_places=2), "15.99 KiB")
 
         s = Size(0x10000000000000)
-        self.assertEquals(s.humanReadable(max_places=2), "4096 TiB")
+        self.assertEquals(s.humanReadable(max_places=2), "4 PiB")
 
     def testMinValue(self):
         s = Size("9 MiB")
-        self.assertEquals(s.humanReadable(min_value=1), "9 MiB")
-        self.assertEquals(s.humanReadable(), "9216 KiB")
+        self.assertEquals(s.humanReadable(), "9 MiB")
+        self.assertEquals(s.humanReadable(min_value=10), "9216 KiB")
 
         s = Size("0.5 GiB")
         self.assertEquals(s.humanReadable(max_places=2, min_value=1), "512 MiB")
-- 
1.9.3



More information about the anaconda-patches mailing list