def testPercent(self):
   up = flag_util.UnitsParser(convertible_to=units.percent)
   self.assertEqual(up.parse('100%'), 100 * units.percent)
   with self.assertRaises(ValueError):
     up.parse('10KiB')
 def testConvertibleToSeries(self):
   up = flag_util.UnitsParser(convertible_to=(units.byte, 'second'))
   self.assertEqual(up.parse('10 MB'), 10 * units.Unit('megabyte'))
   self.assertEqual(up.parse('10 minutes'), 10 * units.Unit('minute'))
   with self.assertRaises(ValueError):
     up.parse('1 meter')
 def testConvertibleToUnit(self):
   up = flag_util.UnitsParser(convertible_to=units.byte)
   self.assertEqual(up.parse('10KiB'), 10 * 1024 * units.byte)
 def setUp(self):
   self.up = flag_util.UnitsParser('byte')
 def testConvertibleToWrongUnit(self):
   up = flag_util.UnitsParser(
       convertible_to=perfkitbenchmarker.UNIT_REGISTRY.byte)
   with self.assertRaises(ValueError):
     up.Parse('1m')
 def testConvertibleTo(self):
   up = flag_util.UnitsParser(
       convertible_to=perfkitbenchmarker.UNIT_REGISTRY.byte)
   self.assertEqual(up.Parse('10KiB'),
                    10 * 1024 * perfkitbenchmarker.UNIT_REGISTRY.bytes)