@@ -1561,6 +1561,70 @@ def test_scalar_set_mutable_when_not_present(self):
1561
1561
m .p = 20
1562
1562
self .assertEqual (m .x_p .bounds , (0 , 20 ))
1563
1563
1564
+ def test_nonfinite_pprint (self ):
1565
+ m = ConcreteModel ()
1566
+
1567
+ # Test from #3379
1568
+ m .p = Param (Any , default = 1 )
1569
+ self .assertEqual (m .p ['foo' ], 1 )
1570
+ OUT = StringIO ()
1571
+ m .p .pprint (OUT )
1572
+ self .assertEqual (
1573
+ OUT .getvalue (),
1574
+ "p : Size=inf, Index=Any, Domain=Any, Default=1, Mutable=False\n "
1575
+ " Key : Value\n " ,
1576
+ )
1577
+
1578
+ # Other useful checks
1579
+ m .q = Param (Any , default = 1 , initialize = {1 : 2 , 'a' : 3 , 'bb' : 4 })
1580
+ OUT = StringIO ()
1581
+ m .q .pprint (OUT )
1582
+ self .assertEqual (
1583
+ OUT .getvalue (),
1584
+ "q : Size=inf, Index=Any, Domain=Any, Default=1, Mutable=False\n "
1585
+ " Key : Value\n "
1586
+ " 1 : 2\n "
1587
+ " a : 3\n "
1588
+ " bb : 4\n " ,
1589
+ )
1590
+
1591
+ m .r = Param (Any , initialize = {1 : 2 , 'a' : 3 , 'bb' : 4 })
1592
+ OUT = StringIO ()
1593
+ m .r .pprint (OUT )
1594
+ self .assertEqual (
1595
+ OUT .getvalue (),
1596
+ "r : Size=3, Index=Any, Domain=Any, Default=None, Mutable=False\n "
1597
+ " Key : Value\n "
1598
+ " 1 : 2\n "
1599
+ " a : 3\n "
1600
+ " bb : 4\n " ,
1601
+ )
1602
+
1603
+ # Other useful (mutable) checks
1604
+ m .q = Param (Any , default = 1 , mutable = True , initialize = {1 : 2 , 'a' : 3 , 'bb' : 4 })
1605
+ OUT = StringIO ()
1606
+ m .q .pprint (OUT )
1607
+ self .assertEqual (
1608
+ OUT .getvalue (),
1609
+ "q : Size=inf, Index=Any, Domain=Any, Default=1, Mutable=True\n "
1610
+ " Key : Value\n "
1611
+ " 1 : 2\n "
1612
+ " a : 3\n "
1613
+ " bb : 4\n " ,
1614
+ )
1615
+
1616
+ m .r = Param (Any , mutable = True , initialize = {1 : 2 , 'a' : 3 , 'bb' : 4 })
1617
+ OUT = StringIO ()
1618
+ m .r .pprint (OUT )
1619
+ self .assertEqual (
1620
+ OUT .getvalue (),
1621
+ "r : Size=3, Index=Any, Domain=Any, Default=None, Mutable=True\n "
1622
+ " Key : Value\n "
1623
+ " 1 : 2\n "
1624
+ " a : 3\n "
1625
+ " bb : 4\n " ,
1626
+ )
1627
+
1564
1628
1565
1629
def createNonIndexedParamMethod (func , init_xy , new_xy , tol = 1e-10 ):
1566
1630
def testMethod (self ):
0 commit comments