def testGetAttr(self): attrNames = 'apple', 'banana', 'pears', 'orange', 'peach', 'nectarine', 'grape', 'watermelon' attrValues = range(len(attrNames)) obj = SObject() for attr, val in zip(attrNames, attrValues): setattr(obj, attr, val) assert obj.getAttrs() == attrNames for attr, value in zip(attrNames, attrValues): assert value == getattr(obj, attr) #test simple case equality assert obj == SObject(*zip(attrNames, attrValues)) obj2 = SObject(**dict(zip(attrNames, attrValues))) assert sorted(attrNames) == sorted(obj2.getAttrs())