Changeset 1964


Ignore:
Timestamp:
Dec 6, 2009 1:19:03 PM (11 years ago)
Author:
wehart
Message:

Adding tests that verify that index-generating functions can be
supplied as arguments to Set declarations.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • coopr.pyomo/trunk/coopr/pyomo/tests/unit/test_set.py

    r1962 r1964  
    13691369        self.failUnlessEqual(len(self.instance.A),4)
    13701370       
     1371    def test_initialize4(self):
     1372        self.model.A = Set(initialize=range(0,4))
     1373        def B_index(model):
     1374            return (i for i in model.A if i%2 == 0)
     1375        def B_init(i,model):
     1376            return range(i,2+i)
     1377        self.model.B = Set(B_index, initialize=B_init)
     1378        self.instance = self.model.create()
     1379        #self.instance.pprint()
     1380        self.failUnlessEqual(self.instance.B[0].data(),set([0,1]))
     1381        self.failUnlessEqual(self.instance.B[2].data(),set([2,3]))
     1382        self.failUnlessEqual(self.instance.B.keys(),[0,2])
     1383
     1384    def test_initialize5(self):
     1385        self.model.A = Set(initialize=range(0,4))
     1386        def B_index(model):
     1387            for i in model.A:
     1388                if i%2 == 0:
     1389                    yield i
     1390        def B_init(i,model):
     1391            return range(i,2+i)
     1392        self.model.B = Set(B_index, initialize=B_init)
     1393        self.instance = self.model.create()
     1394        #self.instance.pprint()
     1395        self.failUnlessEqual(self.instance.B[0].data(),set([0,1]))
     1396        self.failUnlessEqual(self.instance.B[2].data(),set([2,3]))
     1397        self.failUnlessEqual(self.instance.B.keys(),[0,2])
     1398
    13711399    def test_dimen(self):
    13721400        #
Note: See TracChangeset for help on using the changeset viewer.