#!/usr/bin/env python # ----------------------------------------------------------------------- # Copyright (C) 2003 Chris Ottrey. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of MER- # CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General # Public License for more details. # ----------------------------------------------------------------------- # # This code is part of the pytvgrab project: # http://pytvgrab.sourceforge.net # # ----------------------------------------------------------------------- # Subversion Information, do not edit # # $Rev: 246 $ # $LastChangedDate: 2004-10-14 03:16:23 +1000 (Thu, 14 Oct 2004) $ # $LastChangedRevision: 246 $ # $LastChangedBy: gustavo $ # # $Log: $ # """\ Enum Provide a simple enumeration for list of 'names' at offset 'x' """ class Enum(dict): """\ Enum Enum(names, x=0) """ def __init__(self, names, x=0): for i in range(x, x+len(names)): self.__dict__[names[i-x]]=i self[i]=names[i-x] # __init__() # Enum # -------------- Unit Tests -------------- # using_unittest2=False try: import unittest2 as unittest using_unittest2=True except: import unittest class Enum_UnitTest(unittest.TestCase): def setUp(self): self.marsupial=Enum(['kangaroo', 'koala', 'potoroo', 'bilby', 'thylacine'], 1) # setUp() def test01(self): v=self.marsupial.kangaroo; assert v == 1, v def test02(self): v=self.marsupial[2] ; assert v == 'koala', v def test03(self): v=self.marsupial[self.marsupial.potoroo]; assert v == 'potoroo', v if using_unittest2 or __name__ == '__main__': unittest.main() # -------------- Unit Tests -------------- #