diff options
| author | Alex Deymo <deymo@google.com> | 2016-06-27 22:17:13 +0000 |
|---|---|---|
| committer | android-build-merger <android-build-merger@google.com> | 2016-06-27 22:17:13 +0000 |
| commit | a9528d2616a159b5c8a2729b7ab5902aab8ef961 (patch) | |
| tree | a8ead3ebdbf56da13feeb984991f51cba1f71577 /scripts/update_payload/format_utils_unittest.py | |
| parent | c576eba456e9cd9b2800c67e44a72d0199fcbab2 (diff) | |
| parent | 0188eb00abcfe011f5df9f8d22d38aceadc51b93 (diff) | |
Merge remote-tracking branch \'deymo/master\'
am: 0188eb00ab
Change-Id: I8766464da8de06b42876d2b9fd8c87395b9b638d
Diffstat (limited to 'scripts/update_payload/format_utils_unittest.py')
| -rwxr-xr-x | scripts/update_payload/format_utils_unittest.py | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/scripts/update_payload/format_utils_unittest.py b/scripts/update_payload/format_utils_unittest.py new file mode 100755 index 000000000..8c5ba8e8b --- /dev/null +++ b/scripts/update_payload/format_utils_unittest.py @@ -0,0 +1,76 @@ +#!/usr/bin/python +# +# Copyright (c) 2013 The Chromium OS Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +"""Unit tests for format_utils.py.""" + +import unittest + +import format_utils + + +class NumToPercentTest(unittest.TestCase): + def testHundredPercent(self): + self.assertEqual(format_utils.NumToPercent(1, 1), '100%') + + def testOverHundredPercent(self): + self.assertEqual(format_utils.NumToPercent(5, 2), '250%') + + def testWholePercent(self): + self.assertEqual(format_utils.NumToPercent(3, 10), '30%') + + def testDefaultMinPrecision(self): + self.assertEqual(format_utils.NumToPercent(3, 9), '33.3%') + self.assertEqual(format_utils.NumToPercent(3, 900), '0.3%') + + def testDefaultMaxPrecision(self): + self.assertEqual(format_utils.NumToPercent(3, 9000000), '0.00003%') + self.assertEqual(format_utils.NumToPercent(3, 90000000), '0%') + + def testCustomMinPrecision(self): + self.assertEqual(format_utils.NumToPercent(3, 9, min_precision=3), + '33.333%') + self.assertEqual(format_utils.NumToPercent(3, 9, min_precision=0), + '33%') + + def testCustomMaxPrecision(self): + self.assertEqual(format_utils.NumToPercent(3, 900, max_precision=1), + '0.3%') + self.assertEqual(format_utils.NumToPercent(3, 9000, max_precision=1), + '0%') + + +class BytesToHumanReadableTest(unittest.TestCase): + def testBaseTwo(self): + self.assertEqual(format_utils.BytesToHumanReadable(0x1000), '4 KiB') + self.assertEqual(format_utils.BytesToHumanReadable(0x400000), '4 MiB') + self.assertEqual(format_utils.BytesToHumanReadable(0x100000000), '4 GiB') + self.assertEqual(format_utils.BytesToHumanReadable(0x40000000000), '4 TiB') + + def testDecimal(self): + self.assertEqual(format_utils.BytesToHumanReadable(5000, decimal=True), + '5 kB') + self.assertEqual(format_utils.BytesToHumanReadable(5000000, decimal=True), + '5 MB') + self.assertEqual(format_utils.BytesToHumanReadable(5000000000, + decimal=True), + '5 GB') + + def testDefaultPrecision(self): + self.assertEqual(format_utils.BytesToHumanReadable(5000), '4.8 KiB') + self.assertEqual(format_utils.BytesToHumanReadable(500000), '488.2 KiB') + self.assertEqual(format_utils.BytesToHumanReadable(5000000), '4.7 MiB') + + def testCustomPrecision(self): + self.assertEqual(format_utils.BytesToHumanReadable(5000, precision=3), + '4.882 KiB') + self.assertEqual(format_utils.BytesToHumanReadable(500000, precision=0), + '488 KiB') + self.assertEqual(format_utils.BytesToHumanReadable(5000000, precision=5), + '4.76837 MiB') + + +if __name__ == '__main__': + unittest.main() |
