Skip to content

Commit dc2d099

Browse files
committed
float-values: Refactor tests to be less verbose
The goal is to be more concise thus more readable, as well as consistent with most other tests.
1 parent e6af957 commit dc2d099

1 file changed

Lines changed: 70 additions & 111 deletions

File tree

tests/rules/test_float_values.py

Lines changed: 70 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -20,142 +20,101 @@ class FloatValuesTestCase(RuleTestCase):
2020
rule_id = 'float-values'
2121

2222
def test_disabled(self):
23-
conf = (
24-
'float-values: disable\n'
25-
'new-line-at-end-of-file: disable\n'
26-
'document-start: disable\n'
27-
)
28-
self.check('angle: 0.0', conf)
29-
self.check('angle: .NaN', conf)
30-
self.check('angle: .INF', conf)
31-
self.check('angle: .1', conf)
32-
self.check('angle: 10e-6', conf)
33-
self.check(
34-
'- &angle .0\n'
35-
'- *angle\n',
36-
conf,
37-
)
38-
self.check(
39-
'- &angle 10e6\n'
40-
'- *angle\n',
41-
conf,
42-
)
43-
self.check(
44-
'- &angle .nan\n'
45-
'- *angle\n',
46-
conf,
47-
)
48-
self.check(
49-
'- &angle .inf\n'
50-
'- *angle\n',
51-
conf,
52-
)
23+
conf = 'float-values: disable\n'
24+
self.check('---\n'
25+
'- 0.0\n'
26+
'- .NaN\n'
27+
'- .INF\n'
28+
'- .1\n'
29+
'- 10e-6\n',
30+
conf)
5331

5432
def test_numeral_before_decimal(self):
5533
conf = (
5634
'float-values:\n'
5735
' require-numeral-before-decimal: true\n'
5836
' forbid-scientific-notation: false\n'
5937
' forbid-nan: false\n'
60-
' forbid-inf: false\n'
61-
'new-line-at-end-of-file: disable\n'
62-
'document-start: disable\n'
63-
)
64-
self.check('angle: .1', conf, problem=(1, 8))
65-
self.check('angle: 0.0', conf)
66-
self.check('angle: \'.1\'', conf)
67-
self.check('angle: !custom_tag 0.0', conf)
68-
self.check(
69-
'- &angle 0.0\n'
70-
'- *angle\n',
71-
conf
72-
)
73-
self.check(
74-
'- &angle .0\n'
75-
'- *angle\n',
76-
conf,
77-
problem=(1, 10)
78-
)
38+
' forbid-inf: false\n')
39+
self.check('---\n'
40+
'- 0.0\n'
41+
'- .1\n'
42+
'- \'.1\'\n'
43+
'- !custom_tag .2\n'
44+
'- &angle1 0.0\n'
45+
'- *angle1\n'
46+
'- &angle2 .3\n'
47+
'- *angle2\n',
48+
conf,
49+
problem1=(3, 3),
50+
problem2=(8, 11))
7951

8052
def test_scientific_notation(self):
8153
conf = (
8254
'float-values:\n'
8355
' require-numeral-before-decimal: false\n'
8456
' forbid-scientific-notation: true\n'
8557
' forbid-nan: false\n'
86-
' forbid-inf: false\n'
87-
'new-line-at-end-of-file: disable\n'
88-
'document-start: disable\n'
89-
)
90-
self.check('angle: 10e6', conf, problem=(1, 8))
91-
self.check('angle: 10e-6', conf, problem=(1, 8))
92-
self.check('angle: 0.00001', conf)
93-
self.check('angle: \'10e-6\'', conf)
94-
self.check('angle: !custom_tag 10e-6', conf)
95-
self.check(
96-
'- &angle 0.000001\n'
97-
'- *angle\n',
98-
conf
99-
)
100-
self.check(
101-
'- &angle 10e-6\n'
102-
'- *angle\n',
103-
conf,
104-
problem=(1, 10)
105-
)
106-
self.check(
107-
'- &angle 10e6\n'
108-
'- *angle\n',
109-
conf,
110-
problem=(1, 10)
111-
)
58+
' forbid-inf: false\n')
59+
self.check('---\n'
60+
'- 10e6\n'
61+
'- 10e-6\n'
62+
'- 0.00001\n'
63+
'- \'10e-6\'\n'
64+
'- !custom_tag 10e-6\n'
65+
'- &angle1 0.000001\n'
66+
'- *angle1\n'
67+
'- &angle2 10e-6\n'
68+
'- *angle2\n'
69+
'- &angle3 10e6\n'
70+
'- *angle3\n',
71+
conf,
72+
problem1=(2, 3),
73+
problem2=(3, 3),
74+
problem3=(9, 11),
75+
problem4=(11, 11))
11276

11377
def test_nan(self):
11478
conf = (
11579
'float-values:\n'
11680
' require-numeral-before-decimal: false\n'
11781
' forbid-scientific-notation: false\n'
11882
' forbid-nan: true\n'
119-
' forbid-inf: false\n'
120-
'new-line-at-end-of-file: disable\n'
121-
'document-start: disable\n'
122-
)
123-
self.check('angle: .NaN', conf, problem=(1, 8))
124-
self.check('angle: .NAN', conf, problem=(1, 8))
125-
self.check('angle: \'.NaN\'', conf)
126-
self.check('angle: !custom_tag .NaN', conf)
127-
self.check(
128-
'- &angle .nan\n'
129-
'- *angle\n',
130-
conf,
131-
problem=(1, 10)
132-
)
83+
' forbid-inf: false\n')
84+
self.check('---\n'
85+
'- .NaN\n'
86+
'- .NAN\n'
87+
'- \'.NaN\'\n'
88+
'- !custom_tag .NaN\n'
89+
'- &angle .nan\n'
90+
'- *angle\n',
91+
conf,
92+
problem1=(2, 3),
93+
problem2=(3, 3),
94+
problem3=(6, 10))
13395

13496
def test_inf(self):
13597
conf = (
13698
'float-values:\n'
13799
' require-numeral-before-decimal: false\n'
138100
' forbid-scientific-notation: false\n'
139101
' forbid-nan: false\n'
140-
' forbid-inf: true\n'
141-
'new-line-at-end-of-file: disable\n'
142-
'document-start: disable\n'
143-
)
144-
self.check('angle: .inf', conf, problem=(1, 8))
145-
self.check('angle: .INF', conf, problem=(1, 8))
146-
self.check('angle: -.inf', conf, problem=(1, 8))
147-
self.check('angle: -.INF', conf, problem=(1, 8))
148-
self.check('angle: \'.inf\'', conf)
149-
self.check('angle: !custom_tag .inf', conf)
150-
self.check(
151-
'- &angle .inf\n'
152-
'- *angle\n',
153-
conf,
154-
problem=(1, 10)
155-
)
156-
self.check(
157-
'- &angle -.inf\n'
158-
'- *angle\n',
159-
conf,
160-
problem=(1, 10)
161-
)
102+
' forbid-inf: true\n')
103+
self.check('---\n'
104+
'- .inf\n'
105+
'- .INF\n'
106+
'- -.inf\n'
107+
'- -.INF\n'
108+
'- \'.inf\'\n'
109+
'- !custom_tag .inf\n'
110+
'- &angle .inf\n'
111+
'- *angle\n'
112+
'- &angle -.inf\n'
113+
'- *angle\n',
114+
conf,
115+
problem1=(2, 3),
116+
problem2=(3, 3),
117+
problem3=(4, 3),
118+
problem4=(5, 3),
119+
problem5=(8, 10),
120+
problem6=(10, 10))

0 commit comments

Comments
 (0)