Show
Ignore:
Timestamp:
06/12/03 13:02:42 (5 years ago)
Author:
sholloway
Message:

*** empty log message ***

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/RBFoundation/test/Objects/test_Relations.py

    r550 r556  
    372372        return len(self.path) 
    373373 
     374    def keys(self): 
     375        return range(len(self.path)) 
     376 
    374377    def __iter__(self):  
    375378        return iter(self.path) 
    376379 
     380    def __getitem__(self, key): 
     381        return self.path[key] 
     382 
     383    def __setitem__(self, key, value): 
     384        raise TypeError, "Cannot change a Calculated Relation" 
     385 
     386    def __delitem__(self, key): 
     387        raise TypeError, "Cannot change a Calculated Relation" 
     388 
    377389    def add(self, *relations): 
    378         raise NotImplementedError, "Cannot change a Calculated Relation" 
     390        raise TypeError, "Cannot change a Calculated Relation" 
    379391 
    380392    def remove(self, *relations): 
    381         raise NotImplementedError, "Cannot change a Calculated Relation" 
     393        raise TypeError, "Cannot change a Calculated Relation" 
    382394 
    383395    def clear(self, *relations): 
    384         raise NotImplementedError, "Cannot change a Calculated Relation" 
     396        raise TypeError, "Cannot change a Calculated Relation" 
    385397 
    386398#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    388400class CalculatedRelationsTest(unittest.TestCase): 
    389401    def setUp(self): 
    390         self.path = Relations.Relationships('path') 
    391         self.path.AddRelationKind(self.path.defaultKind, CalculatedRelations()) 
     402        self.pathrelation = Relations.Relationships('path') 
     403        self.pathrelation.AddRelationKind(self.pathrelation.defaultKind, CalculatedRelations()) 
    392404 
    393405    def tearDown(self): 
    394         del self.path 
     406        del self.pathrelation 
    395407 
    396408    def testIterableDefault(self): 
    397         self.path.Relations().UpdatePath(0, 3, 2) 
    398         self.failUnless(0 in self.path
    399         self.failUnless(1 not in self.path
    400         self.failUnless(2 in self.path
    401         self.failUnless(len(self.path) == 2) 
    402         self.failUnless(list(self.path) == [0, 2]) 
     409        self.pathrelation.Relations().UpdatePath(0, 3, 2) 
     410        self.failUnless(0 in self.pathrelation
     411        self.failUnless(1 not in self.pathrelation
     412        self.failUnless(2 in self.pathrelation
     413        self.failUnless(len(self.pathrelation) == 2) 
     414        self.failUnless(list(self.pathrelation) == [0, 2]) 
    403415 
    404416    def testIterable(self): 
    405         self.path.Relations().UpdatePath(0, 5, 2) 
    406         Relations = self.path.Relations() 
    407         self.failUnless(0 in Relations) 
    408         self.failUnless(1 not in Relations) 
    409         self.failUnless(2 in Relations) 
    410         self.failUnless(3 not in Relations) 
    411         self.failUnless(4 in Relations) 
    412         self.failUnless(len(Relations) == 3) 
    413         self.failUnless(list(Relations) == [0, 2, 4]) 
     417        relations = self.pathrelation.Relations() 
     418        relations.UpdatePath(0, 5, 2) 
     419        self.failUnless(0 in relations) 
     420        self.failUnless(1 not in relations) 
     421        self.failUnless(2 in relations) 
     422        self.failUnless(3 not in relations) 
     423        self.failUnless(4 in relations) 
     424        self.failUnlessEqual(len(relations), 3) 
     425        self.failUnlessEqual(list(relations), [0, 2, 4]) 
     426 
     427    def testKeyedItem(self): 
     428        relations = self.pathrelation.Relations() 
     429        self.failUnlessRaises(TypeError, relations.__setitem__, 0, 99) 
     430        self.failUnlessRaises(TypeError, relations.__delitem__, 0) 
     431 
     432        relations.UpdatePath(0, 5, 2) 
     433        self.failUnlessEqual(relations.keys(), [0, 1, 2]) 
     434        self.failUnlessEqual(relations[0], 0) 
     435        self.failUnlessEqual(relations[1], 2) 
     436        self.failUnlessEqual(relations[2], 4) 
     437        self.failUnlessRaises(LookupError, relations.__getitem__, 1000) 
     438        self.failUnlessRaises(TypeError, relations.__setitem__, 0, 99) 
     439        self.failUnlessRaises(TypeError, relations.__delitem__, 0) 
    414440 
    415441    def testExceptionsDefault(self): 
    416         self.failUnlessRaises(LookupError, self.path.Relations, 'this-is-an-invalid-key') 
    417         self.failUnlessRaises(NotImplementedError, self.path.AddRelation, 1) 
     442        self.failUnlessRaises(LookupError, self.pathrelation.Relations, 'this-is-an-invalid-key') 
     443        self.failUnlessRaises(TypeError, self.pathrelation.AddRelation, 1) 
    418444 
    419445    def testExceptions(self): 
    420         Relations = self.path.Relations() 
    421         self.failUnlessRaises(NotImplementedError, Relations.add, 1) 
    422         self.failUnlessRaises(NotImplementedError, Relations.add, [1, 3]) 
    423         self.failUnlessRaises(NotImplementedError, Relations.remove, 1) 
    424         self.failUnlessRaises(NotImplementedError, Relations.remove, [1, 3]) 
    425         self.failUnlessRaises(NotImplementedError, Relations.clear) 
     446        relations = self.pathrelation.Relations() 
     447        self.failUnlessRaises(TypeError, relations.add, 1) 
     448        self.failUnlessRaises(TypeError, relations.add, 1) 
     449        self.failUnlessRaises(TypeError, relations.add, [1, 3]) 
     450        self.failUnlessRaises(TypeError, relations.remove, 1) 
     451        self.failUnlessRaises(TypeError, relations.remove, [1, 3]) 
     452        self.failUnlessRaises(TypeError, relations.clear) 
    426453 
    427454#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~