diff options
| author | Xin Li <delphij@google.com> | 2016-06-27 22:19:42 +0000 |
|---|---|---|
| committer | android-build-merger <android-build-merger@google.com> | 2016-06-27 22:19:42 +0000 |
| commit | 83ebb056aa912e5a7e3580be40f692b4f7774970 (patch) | |
| tree | a8ead3ebdbf56da13feeb984991f51cba1f71577 /scripts/update_payload/format_utils_unittest.py | |
| parent | 8464717242dc8dc9e04a2aafa6b7332fcc03e296 (diff) | |
| parent | a9528d2616a159b5c8a2729b7ab5902aab8ef961 (diff) | |
Merge remote-tracking branch \\'deymo/master\\' am: 0188eb00ab
am: a9528d2616
Change-Id: Icc2a46e6b26f075f00f7409dc29d4fd0f3c37673
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() |
