Mercurial > cpython-lru_cache-weakref
annotate Lib/test/test_json/test_enum.py @ 87690:66c1c9f32567 default tip
Add use_weakref option to functools.lru_cache
The use_weakref option makes lru_cache create weak references to the function
arguments when creating the cache key, which prevents them from staying in the
memory forever even after all other references to them are gone.
This is a proof of concept for http://bugs.python.org/issue19859
| author | Radomir Dopieralski <devel@sheep.art.pl> |
|---|---|
| date | Tue, 03 Dec 2013 16:02:48 +0100 |
| parents | 50e583f20d78 |
| children |
| rev | line source |
|---|---|
|
85103
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
1 from enum import Enum, IntEnum |
|
85499
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
2 from math import isnan |
|
85103
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
3 from test.test_json import PyTest, CTest |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
4 |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
5 SMALL = 1 |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
6 BIG = 1<<32 |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
7 HUGE = 1<<64 |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
8 REALLY_HUGE = 1<<96 |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
9 |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
10 class BigNum(IntEnum): |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
11 small = SMALL |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
12 big = BIG |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
13 huge = HUGE |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
14 really_huge = REALLY_HUGE |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
15 |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
16 E = 2.718281 |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
17 PI = 3.141593 |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
18 TAU = 2 * PI |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
19 |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
20 class FloatNum(float, Enum): |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
21 e = E |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
22 pi = PI |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
23 tau = TAU |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
24 |
|
85499
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
25 INF = float('inf') |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
26 NEG_INF = float('-inf') |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
27 NAN = float('nan') |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
28 |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
29 class WierdNum(float, Enum): |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
30 inf = INF |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
31 neg_inf = NEG_INF |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
32 nan = NAN |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
33 |
|
85103
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
34 class TestEnum: |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
35 |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
36 def test_floats(self): |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
37 for enum in FloatNum: |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
38 self.assertEqual(self.dumps(enum), repr(enum.value)) |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
39 self.assertEqual(float(self.dumps(enum)), enum) |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
40 self.assertEqual(self.loads(self.dumps(enum)), enum) |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
41 |
|
85499
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
42 def test_weird_floats(self): |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
43 for enum, expected in zip(WierdNum, ('Infinity', '-Infinity', 'NaN')): |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
44 self.assertEqual(self.dumps(enum), expected) |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
45 if not isnan(enum): |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
46 self.assertEqual(float(self.dumps(enum)), enum) |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
47 self.assertEqual(self.loads(self.dumps(enum)), enum) |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
48 else: |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
49 self.assertTrue(isnan(float(self.dumps(enum)))) |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
50 self.assertTrue(isnan(self.loads(self.dumps(enum)))) |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
51 |
|
85103
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
52 def test_ints(self): |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
53 for enum in BigNum: |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
54 self.assertEqual(self.dumps(enum), str(enum.value)) |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
55 self.assertEqual(int(self.dumps(enum)), enum) |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
56 self.assertEqual(self.loads(self.dumps(enum)), enum) |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
57 |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
58 def test_list(self): |
|
85499
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
59 self.assertEqual(self.dumps(list(BigNum)), |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
60 str([SMALL, BIG, HUGE, REALLY_HUGE])) |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
61 self.assertEqual(self.loads(self.dumps(list(BigNum))), |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
62 list(BigNum)) |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
63 self.assertEqual(self.dumps(list(FloatNum)), |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
64 str([E, PI, TAU])) |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
65 self.assertEqual(self.loads(self.dumps(list(FloatNum))), |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
66 list(FloatNum)) |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
67 self.assertEqual(self.dumps(list(WierdNum)), |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
68 '[Infinity, -Infinity, NaN]') |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
69 self.assertEqual(self.loads(self.dumps(list(WierdNum)))[:2], |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
70 list(WierdNum)[:2]) |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
71 self.assertTrue(isnan(self.loads(self.dumps(list(WierdNum)))[2])) |
|
85103
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
72 |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
73 def test_dict_keys(self): |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
74 s, b, h, r = BigNum |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
75 e, p, t = FloatNum |
|
85499
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
76 i, j, n = WierdNum |
|
85103
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
77 d = { |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
78 s:'tiny', b:'large', h:'larger', r:'largest', |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
79 e:"Euler's number", p:'pi', t:'tau', |
|
85499
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
80 i:'Infinity', j:'-Infinity', n:'NaN', |
|
85103
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
81 } |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
82 nd = self.loads(self.dumps(d)) |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
83 self.assertEqual(nd[str(SMALL)], 'tiny') |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
84 self.assertEqual(nd[str(BIG)], 'large') |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
85 self.assertEqual(nd[str(HUGE)], 'larger') |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
86 self.assertEqual(nd[str(REALLY_HUGE)], 'largest') |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
87 self.assertEqual(nd[repr(E)], "Euler's number") |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
88 self.assertEqual(nd[repr(PI)], 'pi') |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
89 self.assertEqual(nd[repr(TAU)], 'tau') |
|
85499
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
90 self.assertEqual(nd['Infinity'], 'Infinity') |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
91 self.assertEqual(nd['-Infinity'], '-Infinity') |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
92 self.assertEqual(nd['NaN'], 'NaN') |
|
85103
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
93 |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
94 def test_dict_values(self): |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
95 d = dict( |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
96 tiny=BigNum.small, |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
97 large=BigNum.big, |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
98 larger=BigNum.huge, |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
99 largest=BigNum.really_huge, |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
100 e=FloatNum.e, |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
101 pi=FloatNum.pi, |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
102 tau=FloatNum.tau, |
|
85499
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
103 i=WierdNum.inf, |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
104 j=WierdNum.neg_inf, |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
105 n=WierdNum.nan, |
|
85103
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
106 ) |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
107 nd = self.loads(self.dumps(d)) |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
108 self.assertEqual(nd['tiny'], SMALL) |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
109 self.assertEqual(nd['large'], BIG) |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
110 self.assertEqual(nd['larger'], HUGE) |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
111 self.assertEqual(nd['largest'], REALLY_HUGE) |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
112 self.assertEqual(nd['e'], E) |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
113 self.assertEqual(nd['pi'], PI) |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
114 self.assertEqual(nd['tau'], TAU) |
|
85499
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
115 self.assertEqual(nd['i'], INF) |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
116 self.assertEqual(nd['j'], NEG_INF) |
|
50e583f20d78
Close #18745: Improve enum tests in test_json for infinities and NaN.
Ethan Furman <ethan@stoneleaf.us>
parents:
85103
diff
changeset
|
117 self.assertTrue(isnan(nd['n'])) |
|
85103
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
118 |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
119 class TestPyEnum(TestEnum, PyTest): pass |
|
ae1a7c420f08
Close #18264: int- and float-derived enums now converted to int or float.
Ethan Furman <ethan@stoneleaf.us>
parents:
diff
changeset
|
120 class TestCEnum(TestEnum, CTest): pass |
