def _prefixTestHelper(self, numunits, unit): """ Test that units and prefix or abbreviation agree. :param int numunits: this value times factor yields number of bytes :param unit: a unit specifier """ c = numunits * unit.factor s = Size(c) self.assertEqual(s, Size(c)) u = size._makeSpec(unit.prefix, size._BYTES_WORDS[0], False) s = Size("%ld %s" % (numunits, u)) self.assertEqual(s, c) self.assertEqual(s.convertTo(unit), numunits) u = size._makeSpec(unit.abbr, size._BYTES_SYMBOL, False) s = Size("%ld %s" % (numunits, u)) self.assertEqual(s, c) self.assertEqual(s.convertTo(unit), numunits)
def testMakeSpec(self): """ Tests for _makeSpecs(). """ for lang in self.TEST_LANGS: os.environ['LANG'] = lang locale.setlocale(locale.LC_ALL, '') # untranslated specs self.assertEqual(size._makeSpec("", "BYTES", False), "bytes") self.assertEqual(size._makeSpec("Mi", "b", False), "mib") # un-lower-cased specs self.assertEqual(size._makeSpec("", "BYTES", False, False), "BYTES") self.assertEqual(size._makeSpec("Mi", "b", False, False), "Mib") self.assertEqual(size._makeSpec("Mi", "B", False, False), "MiB") # translated specs res = size._makeSpec("", "bytes", True) # Note that exp != _("bytes").lower() as one might expect exp = (_("") + _("bytes")).lower() self.assertEqual(res, exp)