2 if sys
.path
[0] != "../..":
3 sys
.path
.insert(0, "../..")
8 from pyx
.text
import MultiEngineText
9 from pyx
.graph
.axis
.tick
import tick
10 from pyx
.graph
.axis
.texter
import rational
, decimal
, default
, skipmantissaunity
14 if isinstance(label
, MultiEngineText
):
19 class TexterTestCase(unittest
.TestCase
):
22 ticks
= [tick((1, 4), labellevel
=0), tick((2, 4), labellevel
=0)]
23 rational(numsuffix
=r
"\pi").labels(ticks
)
24 self
.assertEqual([tex_expr(t
.label
) for t
in ticks
], [r
"{{\pi}\over{4}}", r
"{{\pi}\over{2}}"])
25 ticks
= [tick((0, 3), labellevel
=0), tick((3, 3), labellevel
=0), tick((6, 3), labellevel
=0)]
26 rational(numsuffix
=r
"\pi").labels(ticks
)
27 self
.assertEqual([tex_expr(t
.label
) for t
in ticks
], ["0", r
"\pi", r
"2\pi"])
28 ticks
= [tick((2, 3), labellevel
=0), tick((4, 5), labellevel
=0)]
29 rational(numsuffix
=r
"\pi", equaldenom
=1).labels(ticks
)
30 self
.assertEqual([tex_expr(t
.label
) for t
in ticks
], [r
"{{10\pi}\over{15}}", r
"{{12\pi}\over{15}}"])
33 ticks
= [tick((1, 4), labellevel
=0), tick((2, 4), labellevel
=0)]
34 decimal().labels(ticks
)
35 self
.assertEqual([t
.label
for t
in ticks
], ["0.25", "0.5"])
36 ticks
= [tick((1, 4), labellevel
=0), tick((2, 4), labellevel
=0)]
37 decimal(equalprecision
=1).labels(ticks
)
38 self
.assertEqual([t
.label
for t
in ticks
], ["0.25", "0.50"])
39 ticks
= [tick((1, 17), labellevel
=0), tick((17, 17), labellevel
=0)]
40 decimal().labels(ticks
)
41 self
.assertEqual([t
.label
for t
in ticks
], [r
"0.\overline{0588235294117647}", "1"])
42 ticks
= [tick((1, 10000000), labellevel
=0), tick((1, 100000000), labellevel
=0), tick((1, 1000000000), labellevel
=0)]
43 decimal(thousandthpartsep
=",").labels(ticks
)
44 self
.assertEqual([t
.label
for t
in ticks
], ["0.000,000,1", "0.000,000,01", "0.000,000,001"])
45 ticks
= [tick((1000000, 1), labellevel
=0), tick((10000000, 1), labellevel
=0), tick((100000000, 1), labellevel
=0)]
46 decimal(thousandsep
=",").labels(ticks
)
47 self
.assertEqual([t
.label
for t
in ticks
], ["1,000,000", "10,000,000", "100,000,000"])
49 def testDefault(self
):
50 ticks
= [tick((0, 10), labellevel
=0), tick((1, 10), labellevel
=0), tick((1, 1), labellevel
=0), tick((10, 1), labellevel
=0)]
51 default().labels(ticks
)
52 self
.assertEqual([tex_expr(t
.label
) for t
in ticks
], ["0", "0.1", "1", "10"])
53 ticks
= [tick((0, 10), labellevel
=0), tick((1, 10), labellevel
=0), tick((1, 1), labellevel
=0), tick((10000, 1), labellevel
=0)]
54 default(minexp
=1, skipmantissaunity
=skipmantissaunity
.never
, uniformexp
=False).labels(ticks
)
55 self
.assertEqual([tex_expr(t
.label
) for t
in ticks
], [r
"0", r
"1\cdot{}10^{-1}", r
"1", r
"1\cdot{}10^{4}"])
56 ticks
= [tick((0, 10), labellevel
=0), tick((1, 10), labellevel
=0), tick((1, 1), labellevel
=0), tick((10000, 1), labellevel
=0)]
57 default(minexp
=2, uniformexp
=False).labels(ticks
)
58 self
.assertEqual([tex_expr(t
.label
) for t
in ticks
], ["0", "0.1", "1", r
"10^{4}"])
59 ticks
= [tick((-1, 10), labellevel
=0), tick((1, 1), labellevel
=0), tick((10, 1), labellevel
=0)]
60 default(minexp
=0).labels(ticks
)
61 self
.assertEqual([tex_expr(t
.label
) for t
in ticks
], [r
"-10^{-1}", r
"10^{0}", r
"10^{1}"])
62 ticks
= [tick((0, 1), labellevel
=0), tick((1, -10), labellevel
=0), tick((15, 100), labellevel
=0)]
63 default(minnegexp
=0, mantissatexter
=decimal(equalprecision
=True)).labels(ticks
)
64 self
.assertEqual([tex_expr(t
.label
) for t
in ticks
], [r
"0.0\cdot{}10^{0}", r
"-1.0\cdot{}10^{-1}", r
"1.5\cdot{}10^{-1}"])
65 ticks
= [tick((0, 1), labellevel
=0), tick((1, -10), labellevel
=0), tick((15, 100), labellevel
=0)]
66 default(minnegexp
=1, mantissatexter
=decimal(equalprecision
=True)).labels(ticks
)
67 self
.assertEqual([tex_expr(t
.label
) for t
in ticks
], [r
"0.0", r
"-1.0\cdot{}10^{-1}", r
"1.5\cdot{}10^{-1}"])
70 if __name__
== "__main__":