@@ -224,7 +224,7 @@ def test_compoundInequality(self):
224224 # < c
225225 # / \
226226 # a b
227- e = inequality (m .a , m .b , m .c , strict = True )
227+ e = (m .a < m .b ) < m .c
228228 self .assertIs (type (e ), RangedExpression )
229229 self .assertEqual (e .nargs (), 3 )
230230 self .assertIs (e .arg (0 ), m .a )
@@ -239,7 +239,7 @@ def test_compoundInequality(self):
239239 # <= c
240240 # / \
241241 # a b
242- e = inequality (m .a , m .b , m .c )
242+ e = (m .a <= m .b ) <= m .c
243243 self .assertIs (type (e ), RangedExpression )
244244 self .assertEqual (e .nargs (), 3 )
245245 self .assertIs (e .arg (0 ), m .a )
@@ -254,37 +254,29 @@ def test_compoundInequality(self):
254254 # > c
255255 # / \
256256 # a b
257- e = inequality ( upper = m . c , body = m .b , lower = m . a , strict = True )
257+ e = ( m . a > m .b ) > m . c
258258 self .assertIs (type (e ), RangedExpression )
259259 self .assertEqual (e .nargs (), 3 )
260- self .assertIs (e .arg (2 ), m .c )
261- self .assertIs (e .arg (1 ), m .b )
262- self .assertIs (e .arg (0 ), m .a )
263- # self.assertEqual(len(e._strict), 2)
264- self .assertEqual (e ._strict [0 ], True )
265- self .assertEqual (e ._strict [1 ], True )
260+ self .assertEqual (e .args , (m .c , m .b , m .a ))
261+ self .assertEqual (e .strict , (True , True ))
266262
267263 # >=
268264 # / \
269265 # >= c
270266 # / \
271267 # a b
272- e = inequality ( upper = m . c , body = m .b , lower = m . a )
268+ e = ( m . a >= m .b ) >= m . c
273269 self .assertIs (type (e ), RangedExpression )
274270 self .assertEqual (e .nargs (), 3 )
275- self .assertIs (e .arg (2 ), m .c )
276- self .assertIs (e .arg (1 ), m .b )
277- self .assertIs (e .arg (0 ), m .a )
278- # self.assertEqual(len(e._strict), 2)
279- self .assertEqual (e ._strict [0 ], False )
280- self .assertEqual (e ._strict [1 ], False )
271+ self .assertEqual (e .args , (m .c , m .b , m .a ))
272+ self .assertEqual (e .strict , (False , False ))
281273
282274 # <=
283275 # / \
284276 # <= 0
285277 # / \
286278 # 0 a
287- e = inequality ( 0 , m .a , 0 )
279+ e = ( 0 <= m .a ) <= 0
288280 self .assertIs (type (e ), RangedExpression )
289281 self .assertEqual (e .nargs (), 3 )
290282 self .assertIs (e .arg (2 ), 0 )
@@ -299,15 +291,126 @@ def test_compoundInequality(self):
299291 # < 0
300292 # / \
301293 # 0 a
302- e = inequality (0 , m .a , 0 , True )
294+ e = (0 < m .a ) < 0
295+ self .assertIs (e , False )
296+
297+ def test_inequality_fcn (self ):
298+ m = self .m
299+
300+ self .assertEqual (inequality (None , None , None ), None )
301+
302+ self .assertEqual (inequality (0 , None , None ), 0 )
303+ self .assertEqual (inequality (None , 0 , None ), 0 )
304+ self .assertEqual (inequality (None , None , 0 ), 0 )
305+
306+ self .assertEqual (inequality (m .a , None , None ), m .a )
307+ self .assertEqual (inequality (None , m .a , None ), m .a )
308+ self .assertEqual (inequality (None , None , m .a ), m .a )
309+
310+ self .assertEqual (inequality (None , 0 , 0 ), True )
311+ self .assertEqual (inequality (0 , None , 0 ), True )
312+ self .assertEqual (inequality (0 , 0 , None ), True )
313+ self .assertEqual (inequality (None , 0 , 1 ), True )
314+ self .assertEqual (inequality (0 , None , 1 ), True )
315+ self .assertEqual (inequality (0 , 1 , None ), True )
316+ self .assertEqual (inequality (None , 1 , 0 ), False )
317+ self .assertEqual (inequality (1 , None , 0 ), False )
318+ self .assertEqual (inequality (1 , 0 , None ), False )
319+
320+ self .assertEqual (inequality (0 , 0 , 0 ), True )
321+ self .assertEqual (inequality (0 , 1 , 2 ), True )
322+
323+ e = inequality (m .a , 0 , 1 )
324+ self .assertIs (type (e ), InequalityExpression )
325+ self .assertEqual (e .args , (m .a , 0 ))
326+ self .assertEqual (e .strict , False )
327+
328+ e = inequality (0 , m .a , 1 )
303329 self .assertIs (type (e ), RangedExpression )
304- self .assertEqual (e .nargs (), 3 )
305- self .assertIs (e .arg (2 ), 0 )
306- self .assertIs (e .arg (1 ), m .a )
307- self .assertIs (e .arg (0 ), 0 )
308- # self.assertEqual(len(e._strict), 2)
309- self .assertEqual (e ._strict [0 ], True )
310- self .assertEqual (e ._strict [1 ], True )
330+ self .assertEqual (e .args , (0 , m .a , 1 ))
331+ self .assertEqual (e .strict , (False , False ))
332+
333+ e = inequality (0 , 1 , m .a )
334+ self .assertIs (type (e ), InequalityExpression )
335+ self .assertEqual (e .args , (1 , m .a ))
336+ self .assertEqual (e .strict , False )
337+
338+ e = inequality (m .a , 0 , 0 )
339+ self .assertIs (type (e ), InequalityExpression )
340+ self .assertEqual (e .args , (m .a , 0 ))
341+ self .assertEqual (e .strict , False )
342+
343+ e = inequality (0 , m .a , 0 )
344+ self .assertIs (type (e ), RangedExpression )
345+ self .assertEqual (e .args , (0 , m .a , 0 ))
346+ self .assertEqual (e .strict , (False , False ))
347+
348+ e = inequality (0 , 0 , m .a )
349+ self .assertIs (type (e ), InequalityExpression )
350+ self .assertEqual (e .args , (0 , m .a ))
351+ self .assertEqual (e .strict , False )
352+
353+ self .assertEqual (inequality (m .a , 1 , 0 ), False )
354+ self .assertEqual (inequality (1 , m .a , 0 ), False )
355+ self .assertEqual (inequality (1 , 0 , m .a ), False )
356+
357+ e = inequality (m .a , m .b , m .c )
358+ self .assertIs (type (e ), RangedExpression )
359+ self .assertEqual (e .args , (m .a , m .b , m .c ))
360+ self .assertEqual (e .strict , (False , False ))
361+
362+ def test_strict_inequality_fcn (self ):
363+ m = self .m
364+
365+ self .assertEqual (inequality (None , None , None , True ), None )
366+
367+ self .assertEqual (inequality (0 , None , None , True ), 0 )
368+ self .assertEqual (inequality (None , 0 , None , True ), 0 )
369+ self .assertEqual (inequality (None , None , 0 , True ), 0 )
370+
371+ self .assertEqual (inequality (m .a , None , None , True ), m .a )
372+ self .assertEqual (inequality (None , m .a , None , True ), m .a )
373+ self .assertEqual (inequality (None , None , m .a , True ), m .a )
374+
375+ self .assertEqual (inequality (None , 0 , 0 , True ), False )
376+ self .assertEqual (inequality (0 , None , 0 , True ), False )
377+ self .assertEqual (inequality (0 , 0 , None , True ), False )
378+ self .assertEqual (inequality (None , 0 , 1 , True ), True )
379+ self .assertEqual (inequality (0 , None , 1 , True ), True )
380+ self .assertEqual (inequality (0 , 1 , None , True ), True )
381+ self .assertEqual (inequality (None , 1 , 0 , True ), False )
382+ self .assertEqual (inequality (1 , None , 0 , True ), False )
383+ self .assertEqual (inequality (1 , 0 , None , True ), False )
384+
385+ self .assertEqual (inequality (0 , 0 , 0 , True ), False )
386+ self .assertEqual (inequality (0 , 1 , 2 , True ), True )
387+
388+ e = inequality (m .a , 0 , 1 , True )
389+ self .assertIs (type (e ), InequalityExpression )
390+ self .assertEqual (e .args , (m .a , 0 ))
391+ self .assertEqual (e .strict , True )
392+
393+ e = inequality (0 , m .a , 1 , True )
394+ self .assertIs (type (e ), RangedExpression )
395+ self .assertEqual (e .args , (0 , m .a , 1 ))
396+ self .assertEqual (e .strict , (True , True ))
397+
398+ e = inequality (0 , 1 , m .a , True )
399+ self .assertIs (type (e ), InequalityExpression )
400+ self .assertEqual (e .args , (1 , m .a ))
401+ self .assertEqual (e .strict , True )
402+
403+ self .assertEqual (inequality (m .a , 0 , 0 , True ), False )
404+ self .assertEqual (inequality (0 , m .a , 0 , True ), False )
405+ self .assertEqual (inequality (0 , 0 , m .a , True ), False )
406+ self .assertEqual (inequality (m .a , 1 , 0 , True ), False )
407+ self .assertEqual (inequality (1 , m .a , 0 , True ), False )
408+ self .assertEqual (inequality (1 , 0 , m .a , True ), False )
409+
410+ e = inequality (m .a , m .b , m .c , True )
411+ self .assertIs (type (e ), RangedExpression )
412+ self .assertEqual (e .args , (m .a , m .b , m .c ))
413+ self .assertEqual (e .strict , (True , True ))
311414
312415 def test_val1 (self ):
313416 m = ConcreteModel ()
0 commit comments