def test_format_digits_3(self): v = Value(fmt=F_DIGITS_3) self.assertEqual(str(v.parse("1")), "1") self.assertEqual(str(v.parse("10")), "10") self.assertEqual(str(v.parse("100")), "100") self.assertEqual(str(v.parse("1e3")), "1k") self.assertEqual(str(v.parse("1e4")), "10k") self.assertEqual(str(v.parse("1e5")), "100k") self.assertEqual(str(v.parse("1e9")), "1000M") self.assertEqual(str(v.parse("1e-1")), "100m") self.assertEqual(str(v.parse("1e-2")), "10m") self.assertEqual(str(v.parse("1e-3")), "1m") self.assertEqual(str(v.parse("1e-9")), "0")
def test_format_digits_4(self): v = Value(fmt=F_DIGITS_4) self.assertEqual(str(v.parse("1")), "1.000") self.assertEqual(str(v.parse("10")), "10.00") self.assertEqual(str(v.parse("100")), "100.0") self.assertEqual(str(v.parse("1e3")), "1.000k") self.assertEqual(str(v.parse("1e4")), "10.00k") self.assertEqual(str(v.parse("1e5")), "100.0k") self.assertEqual(str(v.parse("1e-1")), "100.0m") self.assertEqual(str(v.parse("1e-2")), "10.00m") self.assertEqual(str(v.parse("1e-3")), "1.000m")
def parseFrequency(freq: str) -> int: try: return int(Value(freq, "Hz", FMT_PARSE)) except (ValueError, IndexError): return -1
def formatSweepFrequency(freq: Number) -> str: return str(Value(freq, "Hz", FMT_SWEEP))
def formatShortFrequency(freq: Number) -> str: return str(Value(freq, "Hz", FMT_SHORT))
def formatFrequency(freq: Number) -> str: return str(Value(freq, "Hz", FMT_FREQ))
def test_default_format(self): self.assertEqual(str(Value(0)), "0.00000") self.assertEqual(str(Value(1)), "1.00000") self.assertEqual(str(Value(10)), "10.0000") self.assertEqual(str(Value(100)), "100.000") self.assertEqual(str(Value(-1)), "-1.00000") self.assertEqual(str(Value(-10)), "-10.0000") self.assertEqual(str(Value(-100)), "-100.000") self.assertEqual(str(Value(1e3)), "1.00000k") self.assertEqual(str(Value(1e4)), "10.0000k") self.assertEqual(str(Value(1e5)), "100.000k") self.assertEqual(str(Value(1e6)), "1.00000M") self.assertEqual(str(Value(1e7)), "10.0000M") self.assertEqual(str(Value(1e8)), "100.000M") self.assertEqual(str(Value(1e9)), "1.00000G") self.assertEqual(str(Value(1e12)), "1.00000T") self.assertEqual(str(Value(1e15)), "1.00000P") self.assertEqual(str(Value(1e18)), "1.00000E") self.assertEqual(str(Value(1e21)), "1.00000Z") self.assertEqual(str(Value(1e24)), "1.00000Y") self.assertEqual(str(Value(1e27)), "\N{INFINITY}") self.assertEqual(str(Value(-1e27)), "-\N{INFINITY}") self.assertEqual(float(Value(1e27)), 1e27) self.assertEqual(str(Value(.1)), "100.000m") self.assertEqual(str(Value(.01)), "10.0000m") self.assertEqual(str(Value(.001)), "1.00000m") self.assertEqual(str(Value(1e-6)), "1.00000µ") self.assertEqual(str(Value(1e-9)), "1.00000n") self.assertEqual(str(Value(1e-12)), "1.00000p") self.assertEqual(str(Value(1e-15)), "1.00000f") self.assertEqual(str(Value(1e-18)), "1.00000a") self.assertEqual(str(Value(1e-21)), "1.00000z") self.assertEqual(str(Value(1e-24)), "1.00000y") self.assertEqual(str(Value(1e-27)), "0.00100y") self.assertEqual(str(Value(1e-29)), "0.00001y") self.assertEqual(str(Value(-1e-29)), "-0.00001y") self.assertEqual(str(Value(1e-30)), "0.00000") self.assertEqual(float(Value(1e-30)), 1e-30)
def test_representation(self): a = Value(1) b = eval(repr(a)) self.assertEqual(repr(a), repr(b))