示例#1
0
 def test_ticker_produces_expected_labels(self):
     self.assertListEqual(
         Geometry.LinearTicker(0, 1e8, ticks=3).labels,
         ['0e+00', '5e+07', '1.0e+08'])
     self.assertListEqual(
         Geometry.LogTicker(0, 8, ticks=3).labels,
         ['1e+00', '1e+03', '1e+06', '1e+09'])
     self.assertListEqual(
         Geometry.LinearTicker(0, 1000, ticks=3).labels,
         ['0', '500', '1000'])
     self.assertListEqual(
         Geometry.LogTicker(0, 3, ticks=3).labels,
         ['1e+00', '1e+01', '1e+02', '1e+03'])
     self.assertListEqual(
         Geometry.LinearTicker(2e-18, 1.11252e-10, ticks=5).labels,
         ['0e+00', '5.0e-11', '1.0e-10', '1.50e-10'])
     self.assertListEqual(
         Geometry.LogTicker(math.log10(2e-18),
                            math.log10(1.11252e-10),
                            ticks=5).labels,
         ['1e-18', '1e-16', '1e-14', '1e-12', '1e-10', '1e-08'])
     self.assertListEqual(
         Geometry.LogTicker(math.log10(1E12),
                            math.log10(1.000062E12),
                            ticks=5).labels,
         ['1.00000e+12', '1.00002e+12', '1.00005e+12', '1.00007e+12'])
     self.assertListEqual(
         Geometry.LogTicker(math.log10(1E8 - 0.002),
                            math.log10(1E8 + 0.002),
                            ticks=3).labels,
         ['9.99999999977e+07', '1.00000000000e+08', '1.00000000002e+08'])
示例#2
0
 def test_log_ticker_handles_edge_cases(self):
     self.assertEqual(
         Geometry.LogTicker(0, 0, ticks=3).labels, ['1e+00', '1e+01'])
     self.assertEqual(
         Geometry.LogTicker(1, 1, ticks=3).labels, ['1e+01', '1e+02'])
     self.assertEqual(
         Geometry.LogTicker(-1, -1, ticks=3).labels, ['1e-01', '1e+00'])
     self.assertEqual(
         Geometry.LogTicker(-math.inf, math.inf).labels, ['0e+00'])
     self.assertEqual(
         Geometry.LogTicker(-math.nan, math.nan).labels, ['0e+00'])
     self.assertEqual(Geometry.LogTicker(math.nan, 1).labels, ['0e+00'])
     self.assertEqual(Geometry.LogTicker(-math.inf, 1).labels, ['0e+00'])
     self.assertEqual(Geometry.LogTicker(0, math.inf).labels, ['0e+00'])
示例#3
0
    def test_ticker_produces_unique_labels(self):
        pairs = ((1, 4), (.1, .4), (1E12, 1.000062E12), (1E-18, 1.000062E-18),
                 (-4, -1), (-10000.001, -10000.02), (1E8 - 0.002, 1E8 + 0.002),
                 (0, 1E8 + 0.002))

        for logarithmic in (False, True):
            for l, h in pairs:
                if not logarithmic or (l > 0 and h > 0):
                    with self.subTest(l=l, h=h, logarithmic=logarithmic):
                        if logarithmic:
                            ticker = Geometry.LogTicker(
                                math.log10(l), math.log10(h))
                        else:
                            ticker = Geometry.LinearTicker(l, h)
                        self.assertEqual(len(set(ticker.labels)),
                                         len(ticker.labels))