@@ -109,79 +109,103 @@ def test_length_errors(self, left, right):
109
109
with tm .assert_raises_regex (TypeError , msg ):
110
110
iv .length
111
111
112
- def test_math_add (self , interval ):
113
- expected = Interval (1 , 2 )
114
- actual = interval + 1
115
- assert expected == actual
112
+ def test_math_add (self , closed ):
113
+ interval = Interval (0 , 1 , closed = closed )
114
+ expected = Interval (1 , 2 , closed = closed )
116
115
117
- expected = Interval (1 , 2 )
118
- actual = 1 + interval
119
- assert expected == actual
116
+ result = interval + 1
117
+ assert result == expected
118
+
119
+ result = 1 + interval
120
+ assert result == expected
120
121
121
- actual = interval
122
- actual += 1
123
- assert expected == actual
122
+ result = interval
123
+ result += 1
124
+ assert result == expected
124
125
125
126
msg = r"unsupported operand type\(s\) for \+"
126
127
with tm .assert_raises_regex (TypeError , msg ):
127
- interval + Interval ( 1 , 2 )
128
+ interval + interval
128
129
129
130
with tm .assert_raises_regex (TypeError , msg ):
130
131
interval + 'foo'
131
132
132
- def test_math_sub (self , interval ):
133
- expected = Interval (- 1 , 0 )
134
- actual = interval - 1
135
- assert expected == actual
133
+ def test_math_sub (self , closed ):
134
+ interval = Interval (0 , 1 , closed = closed )
135
+ expected = Interval (- 1 , 0 , closed = closed )
136
+
137
+ result = interval - 1
138
+ assert result == expected
136
139
137
- actual = interval
138
- actual -= 1
139
- assert expected == actual
140
+ result = interval
141
+ result -= 1
142
+ assert result == expected
140
143
141
144
msg = r"unsupported operand type\(s\) for -"
142
145
with tm .assert_raises_regex (TypeError , msg ):
143
- interval - Interval ( 1 , 2 )
146
+ interval - interval
144
147
145
148
with tm .assert_raises_regex (TypeError , msg ):
146
149
interval - 'foo'
147
150
148
- def test_math_mult (self , interval ):
149
- expected = Interval (0 , 2 )
150
- actual = interval * 2
151
- assert expected == actual
151
+ def test_math_mult (self , closed ):
152
+ interval = Interval (0 , 1 , closed = closed )
153
+ expected = Interval (0 , 2 , closed = closed )
154
+
155
+ result = interval * 2
156
+ assert result == expected
152
157
153
- expected = Interval (0 , 2 )
154
- actual = 2 * interval
155
- assert expected == actual
158
+ result = 2 * interval
159
+ assert result == expected
156
160
157
- actual = interval
158
- actual *= 2
159
- assert expected == actual
161
+ result = interval
162
+ result *= 2
163
+ assert result == expected
160
164
161
165
msg = r"unsupported operand type\(s\) for \*"
162
166
with tm .assert_raises_regex (TypeError , msg ):
163
- interval * Interval ( 1 , 2 )
167
+ interval * interval
164
168
165
169
msg = r"can\'t multiply sequence by non-int"
166
170
with tm .assert_raises_regex (TypeError , msg ):
167
171
interval * 'foo'
168
172
169
- def test_math_div (self , interval ):
170
- expected = Interval (0 , 0.5 )
171
- actual = interval / 2.0
172
- assert expected == actual
173
+ def test_math_div (self , closed ):
174
+ interval = Interval (0 , 1 , closed = closed )
175
+ expected = Interval (0 , 0.5 , closed = closed )
173
176
174
- actual = interval
175
- actual /= 2.0
176
- assert expected == actual
177
+ result = interval / 2.0
178
+ assert result == expected
179
+
180
+ result = interval
181
+ result /= 2.0
182
+ assert result == expected
177
183
178
184
msg = r"unsupported operand type\(s\) for /"
179
185
with tm .assert_raises_regex (TypeError , msg ):
180
- interval / Interval ( 1 , 2 )
186
+ interval / interval
181
187
182
188
with tm .assert_raises_regex (TypeError , msg ):
183
189
interval / 'foo'
184
190
191
+ def test_math_floordiv (self , closed ):
192
+ interval = Interval (1 , 2 , closed = closed )
193
+ expected = Interval (0 , 1 , closed = closed )
194
+
195
+ result = interval // 2
196
+ assert result == expected
197
+
198
+ result = interval
199
+ result //= 2
200
+ assert result == expected
201
+
202
+ msg = r"unsupported operand type\(s\) for //"
203
+ with tm .assert_raises_regex (TypeError , msg ):
204
+ interval // interval
205
+
206
+ with tm .assert_raises_regex (TypeError , msg ):
207
+ interval // 'foo'
208
+
185
209
def test_constructor_errors (self ):
186
210
msg = "invalid option for 'closed': foo"
187
211
with tm .assert_raises_regex (ValueError , msg ):
0 commit comments